This module integrates EDI exchange records with Queue Job, so that the four core exchange actions — generate, send, receive, and process — are dispatched as background jobs instead of running synchronously.
Each exchange type can optionally route its jobs to a specific channel, set a priority, or hold all jobs until a fixed time of day — useful when a trading partner's receiving system has a nightly processing window or when the operator wants to concentrate resource-intensive EDI work in off-peak hours.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Runs EDI file generation, sending, receiving and processing as background jobs instead of blocking the screen, and lets you schedule each exchange type to a channel, priority or daily time window.
This module connects EDI exchanges with the background job system, so the four main EDI actions (generate, send, receive, process) run in the background rather than waiting on screen.
On each EDI exchange type you get a new "Queue" tab where you can choose: - the job channel the work should run in, - a priority, - and an optional daily execution time (hour, minute and timezone). When enabled, jobs for that type are held and released at that time each day, which is useful when a partner only processes files in a nightly window.
On an EDI exchange record, a "Jobs" button in the button box shows how many background jobs are linked to that record and opens the list of those jobs.
Automatic behaviour: the generate and send steps can be chained so sending starts once generation finishes, and receive and process can be chained the same way. If a job fails, the exchange record is automatically updated with a failed state and the error message and traceback are stored on the record.
It touches the EDI exchange record and exchange type screens, the EDI backend, and the background job models, and adds read access to jobs for EDI users.
Depends on
Required by other modules
Models and fields (2)
- edi.exchange.type · extends an existing modeljob_eta_tz (Execution time - timezone), job_eta_hour (Execution time - hour), job_priority, job_channel_id, job_eta_minute (Execution time - minute), job_eta_enabled (Enable ETA Scheduling)
- edi.exchange.record · extends an existing modelrelated_queue_jobs_count
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 2 confirmed, 7 with no information of 9 versions.
Sources · Odoo 19.0
Confirmed on 2026-11-03 in branch 19.0 of OCA/edi-framework.
terminal Installation and usage
OCA documentation · Odoo 19.0Usage
Source · Odoo 19.0Automatic job dispatch
All exchange actions on edi.exchange.record are dispatched as background jobs automatically. No per-record configuration is required; the integration is active for every exchange type as soon as the module is installed.
Per-type job configuration
Each Exchange Type gains a Queue tab with optional settings:
| Field | Purpose | |---|---| | Job channel | Route jobs to a specific channel (e.g. root.edi.high). | | Job priority | Integer priority passed to the queue job (lower = higher priority). | | Enable ETA Scheduling | Toggle to activate daily job accumulation (see below). | | Execution time | Hour, minute, and timezone at which accumulated jobs are released. Visible only when ETA Scheduling is enabled. |
Accumulating jobs until a fixed daily time
Enabling ETA Scheduling on an exchange type causes every job created for that type to be held in the queue until the configured time of day, rather than being processed immediately. All jobs that arrive during the day accumulate and are released together at that moment.
Typical use cases:
- A trading partner's receiving system only processes incoming files at a specific nightly window (e.g. 22:00).
- Resource-intensive EDI operations (large exports, heavy transformations) should be deferred to off-peak hours to avoid competing with daytime workloads.
- Operational preference to send a batch of documents at a predictable daily time instead of dispatching them one by one in real time.
The execution time is configured with three fields:
- Hour — hour of the day (00–23).
- Minute — minute of the hour (00–59).
- Timezone — the timezone in which the hour and minute are interpreted. Defaults to the current user's timezone.
At runtime the configured time is converted to the next matching UTC datetime and set as the queue job ETA. If the target time for today has already passed, the job is automatically scheduled for the same time tomorrow.
When Enable ETA Scheduling is off, jobs are dispatched immediately as usual.
Duplicate-job prevention
An identity key is attached to every queued job, so re-triggering an action for a record that already has a pending job does not enqueue a duplicate.
No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.