OdooWiki OCA HUB

Sale Order Invoicing Picking Filter

sale_order_invoicing_picking_filter folder_open OCA/sale-workflow open_in_new
Invoicing License: AGPL-3

This modules allows to create invoices from sale orders based on the products in pickings related to the order.

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Lets you invoice a sale order based on the specific deliveries or receipts you choose, instead of invoicing everything at once. You pick the pickings in the invoice wizard and Odoo creates the invoice from those products.

When you invoice a sale order, this module adds a new step: you can select exactly which completed transfers (deliveries or receipts) should be invoiced. In the invoice wizard, a new "Pickings" field appears when you choose to invoice what has been delivered; it only lists transfers linked to the order that are done and not yet invoiced.

  • Each transfer now shows an "Invoiced" flag on its form, which is set automatically when a non-cancelled invoice is linked to it.
  • Invoices are built from the products actually moved in the selected transfers, using the quantities, prices, discounts, taxes and analytic distribution of the sale order lines.
  • Outgoing transfers produce customer invoices; incoming transfers produce refunds.
  • If several invoices are generated, they are grouped following the usual invoice grouping rules, and the origin and payment reference are combined.
  • A new option "Invoice Service Products" appears when the selected transfers belong to orders that still have service products to invoice; if ticked, those service lines are added to the invoice.
  • If nothing can be invoiced, an error message is shown.

The module touches sale.order, sale.order.line, stock.picking and the invoice wizard sale.advance.payment.inv.

Depends on

Required by other modules

Models and fields (4)
  • sale.order · extends an existing model
  • stock.picking · extends an existing modelinvoiced
  • sale.order.line · extends an existing model
  • sale.advance.payment.inv · extends an existing modelstock_picking_ids (Pickings), inv_service_products (Invoice Service Products), there_are_service_product (There are a Service Product)

Text generated by AI (DeepSeek) from reading the Odoo 18.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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 2 confirmed, 7 with no information of 9 versions.

Sources · Odoo 18.0

Confirmed on 2026-11-03 in branch 18.0 of OCA/sale-workflow.

terminal Installation and usage

OCA documentation · Odoo 18.0

To create invoices from a single sale order containing the products and quantities in the pickings related to the order, you need to:

  • Click on the "Create Invoice" button in the sale order.
  • Select "Regular Invoice" as the invoicing mode.
  • Select the pickings whose products and quantities need to be invoiced. If no pickings are selected, the process follows the regular flow.

To create invoices from multiple sale orders containing products and quantities in the pickings related to those orders, you need to:

  • Select the sale orders from the sale order tree view.
  • Click on Action \> Create Invoices
  • Select the pickings whose products and quantities need to be invoiced. The invoices are grouped when possible. If no pickings are selected, the process follows the regular flow.

To invoice the products and quantities in the pickings related to the orders and also invoice the service products from the sales orders (if any), check the 'Invoice Service Products' checkbox.

In addition, you will notice that if there is any sale of the selected pickings that contains any uninvoiced service products, a message will appear confirming this fact and the 'Invoice Service Products' checkbox will be checked by default, but it is editable.

The field "Invoiced" in the "Additional Info" tab in pickings shows whether the products in the stock picking have been invoiced. This field is automatically updated. However, it can manually be set to True or False. Only pickings with the field set to False can be selected in the invoicing Wizard.

No verified information in OCA: Installation, Configuration.

info

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.