This module allows to create invoices directly from picking, without having to use sale or purchase orders.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Create customer or supplier invoices directly from stock transfers, without needing a sales or purchase order. Each transfer carries an invoice status (To Be Invoiced, Invoiced, Not Applicable) that drives the invoice creation.
This module adds an invoicing status to stock transfers and their move lines, so you can bill goods movements directly.
- On a transfer you get an Invoice Status field with three values: To Be Invoiced, Invoiced and Not Applicable. Buttons on the transfer let you switch it to "Set to be invoiced", "Set to as invoiced" or "Set to Not Billable"; the status is copied to the move lines.
- When a transfer is marked To Be Invoiced and is done, a "Create Invoice" button opens a wizard where you choose the grouping (one invoice per transfer, per partner, or per partner and product), the invoice date and the sale or purchase journal. The wizard creates draft customer or supplier invoices (and refunds for returns) and links them to the transfers.
- The invoice type is deduced from the transfer type and the source/destination locations (customer, supplier, transit, internal). Prices come from the vendor price list for purchases and from the customer pricelist or product sales price for sales.
- Cancelling, resetting to draft or deleting an invoice puts the related transfers back to To Be Invoiced; resetting to draft marks them Invoiced again.
- The transfer type dashboard shows a "To be Invoiced" counter linking to the list of transfers waiting to be invoiced, and a search filter "Shipments to Invoice" is available.
- The return wizard lets you choose whether returned goods should be refunded/invoiced.
It touches stock.picking, stock.move, stock.picking.type, stock.rule, account.move and the return wizard.
Depends on
Required by other modules
Models and fields (9)
- stock.move · new model
- stock.rule · extends an existing model
- account.move · extends an existing model
- stock.picking · new model
- stock.picking.type · extends an existing modelcount_picking_2binvoiced
- stock.return.picking · extends an existing modelinvoice_state (Invoicing)
- stock.invoice.onshipping · new modelgroup, invoice_date, journal_type, sale_journal, purchase_journal, show_sale_journal, show_purchase_journal
- stock.invoice.state.mixin · new modelinvoice_state (Invoice Status)
- stock.return.picking.line · extends an existing model
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 8 confirmed, 1 with no information of 9 versions.
Sources · Odoo 12.0
Confirmed on 2026-11-03 in branch 12.0 of OCA/account-invoicing.
terminal Installation and usage
OCA documentation · Odoo 19.0Installation
Source · Odoo 19.0This module depends on stock_picking_invoice_link module that is hosted on .
Usage
Source · Odoo 19.0To use this module, you need to:
- Go to your picking;
- If the invoice status is 'To be invoiced', a button will ask you to create an invoice;
- Into the List view, you can select many pickings and create a grouped invoice;
- If at least an invoice is created for a picking, a new "Invoicing" tab appears.
If an invoice (not refund) is cancelled or deleted, invoice status of related picking is automatically updated to "To be invoiced".
No verified information in OCA: 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.