Scheduled jobs
Core module 3PL add-on For: Administrator Checked on 18.0.0.2.0, 18.0.1.0.0
The jobs the Rx Tracking modules run on their own, and the Odoo jobs they rely on. They are listed in Settings ‣ Technical ‣ Scheduled
Actions (developer mode); search for DSCSA.
Every scheduled job and what it does
All the jobs are installed active and run as OdooBot. A change you make to a job's schedule is kept when the modules are updated. To check that a job ran, or to run it at once, see Check that a DSCSA job ran, and run it by hand.
| Job (as in Settings ‣ Technical ‣ Scheduled Actions) | Module | Runs | What it does | What the user sees |
|---|---|---|---|---|
| DSCSA: license expiry reminders | Rx Tracking (DSCSA) | every day | gives each license that expires within the reminder window (30 days by default) one License expiring activity, due on the expiry date, once per expiry date. Licenses of every company are checked | the activity, for the license's Responsible, else the Default User of the activity type; a license with neither is skipped. See Act on license-expiry reminders |
| DSCSA: monthly retention export | Rx Tracking (DSCSA) | every month, on the 1st at 02:00 UTC (shown in your time zone, for example 09/30/2026 19:00:00 in Los Angeles) | makes one export per company for each finished month that has none: the package ledger and license register CSV files. It catches up at most 12 months and never makes a second export for a month | a new export in Inventory ‣ Rx Tracking ‣ Retention Exports; no activity or email. See Get the monthly retention export, or export on demand |
| DSCSA: send S3 archive queue | Rx Tracking (DSCSA) | every hour, and at once whenever something is queued | sends the due archive jobs of the companies with the off-site archive on, oldest first, 50 per run (it runs again at once while more are due). Each upload is saved on its own. In test mode only test uploads are sent; with the archive off nothing is sent | jobs Done in Inventory ‣ Rx Tracking ‣ S3 Archive Queue, or retried with a Last Error; after the last attempt, one S3 archive failed activity for each Rx Tracking Manager of the company. See Watch the archive queue and each record's archive state |
| DSCSA 3PL: FDA annual report reminders | Rx Tracking (DSCSA): 3PL and title model | every day | for each warehouse of a company with 3PL on: makes the year's draft FDA annual report and one FDA annual report due activity for each Rx Tracking Manager of the company, until the report is submitted; then closes them | the draft report and the activities. See Act on the FDA annual report reminders |
The values the jobs read (the reminder window, the archive batch size and attempts) are system parameters: see Tune the jobs through system parameters.
Odoo jobs the modules rely on
| Job | What it does for Rx Tracking |
|---|---|
| Mail: Email Queue Manager | sends the queued emails: owner notices, owner document emails and the "… assigned to you" notifications of activities. See Emails, notifications and activities |
| Procurement: run scheduler | reserves again the deliveries that were waiting for a quarantined lot, after the lot is released |
What no job does
- Trace request deadlines: the Trace request due activity is made when the request is saved, due on its deadline.
- Receiving discrepancies: no deadline and no reminder.
- A missing GLN: the GLN missing activity is made when an order is confirmed.
- Suspect-product investigations (Enterprise add-on): the Notify FDA (Form 3911) activity is made when the determination is recorded.
When jobs don't run
- A database copy neutralized by Odoo (staging, a neutralized restore) keeps its jobs, but the off-site archive is off and the secret keys are gone: see Keep a staging or restored copy from writing to the archive.
- A server started without scheduled-job workers, or a database whose scheduled actions were switched off, runs none of them: the Next Execution Date stays in the past. See A scheduled job didn't run.
- Run Manually runs a job at once but doesn't move its Next Execution Date.