Skip to main content

Create invoices/refunds from pickings of different types

Project description

License: AGPL-3

Stock Picking Invoicing Unified

Odoo allows to select several pickings and click on Create Draft Invoices option to create the corresponding invoice(s)/refund(s). If you have selected several partners and you have checked the option Group by partner, it will create a single invoice or refund per partner.

But it only takes into account the first picking for selecting the type of the invoice you are going to create (customer/supplier invoice/refund), mixing all the lines on it. And not only that: if you have returned pickings, the returned quantities are summed to the rest, instead of decreasing the amount to invoice, which is the common practise when you have some returns.

This module fixes this problem, allowing to invoice them all together: if you have delivered and received goods for the same customer and you have checked the option Group by partner, you will have a single invoice with the goods delivered and received and the quantities of the goods received will be negative. So it will avoid you to send both an invoice and a refund to your customer and have to reconciliate them to compute the good residual amount.


  • Select several pickings from any of the menus that allows it ( Warehouse > All Operations and click on any of the lines, Purchases > Invoice Control > On Incoming Shipments, etc).
  • Click on More > Create Draft Invoices.
  • In the resulting dialog, the proper invoices types that are going to be created are computed, and you have to select the journals for that types.
  • Click on Create button, and the invoices will be correctly created.
  • The lines of pickings that are not of the greater picking type are created with negative price unit.
Try me on Runbot

Known issues / Roadmap

  • Generated invoices are all seen with the supplier invoice form view, independently of its type.
  • Add tests

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback here.




Odoo Community Association

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

To contribute to this module, please visit

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for odoo8-addon-stock-picking-invoicing-unified, version
Filename, size File type Python version Upload date Hashes
Filename, size odoo8_addon_stock_picking_invoicing_unified- (31.9 kB) File type Wheel Python version py2 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page