Enqueue sales order invoicing
This module allows to enqueue in several jobs the sales orders invoicing process to be executed in paralell on background, which is normally done serially and on foreground.
Jobs are split following the same criteria as standard Odoo: grouping by order invoicing address and order currency.
auto_awesome What this module does
AI-generated from the code · Odoo 16.0This module lets you send sales order invoicing to the background as queued jobs, so large batches of invoices are created in parallel instead of blocking the screen. A new 'Enqueue Invoicing' button appears in the invoicing wizard.
When you invoice sales orders, Odoo normally creates the invoices immediately and you have to wait. This module adds an 'Enqueue Invoicing' button next to the standard 'Create Invoices' button in the sales order invoicing wizard. Pressing it does not create the invoices right away; instead it puts the work into background jobs handled by the queue job system.
Orders are grouped the same way standard Odoo groups them: by invoicing address and currency. Each group becomes one background job, so several jobs can run at the same time.
- If an order already has a job that is pending, enqueued or started, the module stops you with an error message telling you to wait or remove that order from the selection.
- Only the 'Delivered' and 'All' invoicing options are queued; other options still use the normal immediate invoicing.
- On the sales order form, a new 'Invoicing Jobs' page appears (only for queue job managers) listing the related jobs, with buttons to requeue a failed job or cancel a pending one.
The module touches sale.order and the sale.advance.payment.inv wizard, and adds a dedicated job channel and job function for the invoicing method.
Depends on
Models and fields (2)
- sale.order · extends an existing modelinvoicing_job_ids (Invoicing Jobs)
- sale.advance.payment.inv · extends an existing model
Text generated by AI (DeepSeek) from reading the Odoo 16.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: 4 confirmed, 5 with no information of 9 versions.
Sources · Odoo 16.0
Confirmed on 2026-11-03 in branch 16.0 of OCA/account-invoicing.
terminal Installation and usage
OCA documentation · Odoo 16.0Installation
Source · Odoo 16.0This module depends on queue_job module that is hosted on https://github.com/OCA/queue.
It only works in an updated 13.0 version after the 4th of March of 2020, specifically after the commit https://github.com/odoo/odoo/commit/6f036e758000.
Configuration
Source · Odoo 16.0Jobs are enqueued in the channel root.sale_order_invoicing_queued, so you must adjust your Odoo configuration according this.
If you want to see queued jobs, you need "Job Queue / Job Queue Manager" permission in your user.
Usage
Source · Odoo 16.0- Go to Sales > Invoicing > Orders to Invoice.
- Select sales orders whose invoicing you want to enqueue.
- Click on Action > Invoice Order.
- Click on "Enqueue Invoicing" button.
- On that moment, jobs will be enqueued on foreground, but the control will be returned to you after that.
- Having the "Job Queue Manager" permissions, you can go to the sales order, and see the tab "Invoicing Jobs". There a list with all the jobs related to that sales order can be found.
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.