Purchase Order Secondary Unit
This module extends the functionality of purchase orders to allow buy products in secondary unit of distinct category.
Users can enter quantities and prices in secondary units on purchase order lines. Vendor pricelist records are also extended to support secondary unit pricing.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Buy products from vendors using a secondary unit of measure (for example a box instead of a single piece) directly on purchase orders and vendor pricelists, with quantities and prices converted automatically.
This module lets you purchase products in a second unit of measure that is different from the main stock unit. On a purchase order line you can enter the quantity in the secondary unit and the price for that secondary unit; Odoo converts them automatically into the standard quantity and unit price used by the order.
- On the product form (Purchase tab) you can set a "Default secondary unit for purchases", so new purchase order lines for that product start with that unit and a quantity of 1.
- On vendor pricelists (product.supplierinfo) you can store a "Secondary Unit" and a "Secondary Price". The secondary price is calculated from the normal vendor price and the unit's conversion factor, and if you type a secondary price Odoo recalculates the normal price.
- On purchase order lines, the secondary quantity, secondary unit and secondary price appear next to the standard quantity, both in the form and in the list. The unit and quantity fields become read-only once the order is confirmed, done or cancelled.
- The secondary unit is required as soon as a secondary quantity is entered.
- The secondary quantity and unit are printed on the Purchase Order and Request for Quotation PDF reports in a "Second Qty" column.
- When a purchase order is confirmed, the secondary unit is carried over to the vendor information and, if the accounting line supports it, to the journal entry line.
It touches products, vendor pricelists, purchase orders and their lines, and the purchase order and quotation reports.
Depends on
Required by other modules
Models and fields (5)
- purchase.order · extends an existing model
- product.product · extends an existing modelpurchase_secondary_uom_id (Default secondary unit for purchases)
- product.template · extends an existing modelpurchase_secondary_uom_id (Default secondary unit for purchases)
- purchase.order.line · new modelproduct_qty, secondary_uom_price (Secondary Price)
- product.supplierinfo · extends an existing modelsecondary_uom_id (Secondary Unit), secondary_uom_price (Secondary Price)
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: 8 confirmed, 1 with no information of 9 versions.
Sources · Odoo 12.0
Confirmed on 2026-11-03 in branch 12.0 of OCA/purchase-workflow.
terminal Installation and usage
OCA documentation · Odoo 19.0Usage
Source · Odoo 19.0To use this module you need to:
- Go to a Product \> General Information tab.
- Create any record in "Secondary unit of measure".
- Set the conversion factor.
- Go to Purchase \> Quotation \> Create.
- Change secondary qty and secondary uom in line, and quantity (product_qty) will be changed (according to the conversion factor).
Vendor Pricelist Integration
- When adding a vendor to a product's pricelist (via Purchase tab > Vendors), the secondary unit of measure is automatically defaulted from the product variant's purchase secondary UOM, or from the product template if not set on the variant.
- When a new vendor pricelist record is created from purchase order confirmation, the secondary UOM from the purchase order line is automatically stored in the vendor pricelist entry.
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.