Odoo Purchase · Unit of Measure
Stop the manual maths. Automatically convert supplier units to your internal stock units, sync pricing both ways, and print vendor-ready purchase reports, all inside Odoo.
Purchase Module
UoM Conversion
No External APIs
More Than 150+ Brands
Unit of measure mismatches are one of the most common sources of purchasing errors in any ERP system. Suppliers quote in their own units, kilograms, litres, metric tonnes, reels, rolls, cartons, while your warehouse stocks products in entirely different units: individual pieces, grams, millilitres, or metres.
Odoo's standard purchase module handles basic UoM conversion within the same category (e.g., kg to g), but it doesn't give you a purchase-specific unit with its own pricing logic, vendor-facing quantity display, and automatic two-way price synchronisation. That's the gap this module fills.
Without this module
With this module
Define a dedicated purchase unit (e.g., kg, litre, carton) that differs entirely from your internal stock unit (e.g., units, grams, pieces).
Enter quantities in the supplier's unit and the system instantly calculates the equivalent stock quantity using your conversion ratio.
Update either the price per purchase unit or the base price, the other field recalculates automatically. No double-entry, no drift.
See price per purchase unit AND price per base unit simultaneously on every order line, perfect for cost analysis and comparison.
Purchase order reports and RFQs display the vendor's own product code alongside quantities, eliminating supplier confusion.
All warehouse stock counts and valuations continue to use the base UoM. The conversion logic is confined entirely to purchasing.
Let's walk through a concrete scenario. You purchase wheat flour from a supplier who sells in kilograms, but your warehouse stocks and dispenses flour in units (bags) where 1 bag = 2.5 kg.
| Field | Description | Example Value |
|---|---|---|
| Base UoM | Your internal stock unit | Units (bags) |
| Purchase UoM | Supplier's unit of measure | Kilograms (kg) |
| Conversion Ratio | Purchase UoM qty per 1 base unit | 2.5 (1 bag = 2.5 kg) |
| Price per Purchase Unit | Supplier's quoted price per kg | $5.00 / kg |
| Price per Base Unit | Auto-calculated cost per bag | $12.50 / bag |
When you create a purchase order and enter 100 kg as the conversion quantity, the module automatically calculates 40 units (bags) for your stock and prices the line at $500.00. Change the base price and the purchase price updates. Change the purchase price and the base price updates. Change the conversion ratio and both prices recalculate.
Unit Price
Price per Purchase Unit
Conversion Ratio
This problem appears in every industry that handles physical goods. Here are the most common scenarios where businesses search for a solution like this:
1 of 7
Buy raw ingredients (flour, sugar, oil) in metric tonnes or kg from bulk suppliers, but consume and stock them in grams or litres for production recipes.
2 of 7
Purchase fabric in metres or linear yards from mills, but stock and cut fabric in centimetres. Bill of materials need internal units while POs reflect supplier units.
3 of 7
Buy fasteners, nuts, and bolts by weight (kg) from suppliers but store and sell them by individual count (units). Reorder points are in units but POs go out in kg.
4 of 7
Purchase active pharmaceutical ingredients (APIs) in grams or kg but stock and issue them in milligrams per batch. Regulatory records require both units to be traceable.
5 of 7
Purchase cement in metric tonnes, sand in cubic metres, but project estimation and site issuance happens in bags or smaller standard units.
6 of 7
Buy lubricating oil in barrels or bulk drums from suppliers but sell and stock it in litres or individual packaged units with different margin calculations per unit.
7 of 7
Procure produce in quintals or metric tonnes from farmers but process and stock in kilograms, with automatic wastage and conversion ratio management.
Navigate to Sales → Products → Products and open the product you want to configure for multi-unit purchasing.
In the product form, find the Conversion Details section. This is added by the module and contains all conversion-specific fields.
Select the supplier's unit of measure (e.g., kg, litre, carton). This must be a valid Odoo unit, create it under Configuration → Units of Measure if needed.
Enter how many Purchase UoM units equal one Base UoM unit. Must be greater than zero. Use decimals like 0.001 when purchasing in larger units than you stock in.
Enter the Price per Purchase Unit (supplier's quoted price) or the Price per Base Unit (your internal cost). The other field calculates automatically.
In the Supplier Info tab, add the supplier and fill in their Vendor Product Code so it appears correctly on purchase order reports and RFQs.
Both report formats use the supplier's own vocabulary — their unit, their product code, their pricing format — making it easy to email directly to vendors without reformatting or confusion.
Request for Quotation (RFQ)
Purchase Order Report
Implementing custom UoM logic in Odoo requires modifying the purchase.order.line model, adding computed fields with bidirectional onchange methods, overriding report templates (QWeb), handling floating-point precision correctly for ratio calculations, and ensuring the inventory module remains unaffected. That's typically 3–6 days of senior Odoo developer time.
Get the Vendor Unit of Measure Converter for Purchase and let your purchasing team work in the supplier's language while your warehouse speaks its own, automatically.
No. The conversion logic applies only inside the purchasing environment. Your warehouse inventory continues to use the Base UoM for all stock counts, valuations, and reorder calculations. Nothing changes for your warehouse team.
Use decimal conversion ratios. Enter 0.001 as the ratio when 1 purchase unit equals a fraction of a base unit. The module validates that the ratio is strictly greater than zero.
Odoo’s built-in UoM handles conversions within the same category (e.g., kg to g) using a fixed system ratio. This module adds a product-specific purchase UoM with its own conversion ratio, purchase-unit pricing, two-way price synchronisation, and vendor-specific report columns — none of which exist in standard Odoo.
Existing purchase order lines store the conversion values at the time of creation. To apply updated ratios, re-select the product on the order line or update the quantity to trigger a recalculation.
Navigate to the product’s Supplier Info tab, add the specific supplier, and fill in their Vendor Product Code field. The report pulls this value per supplier, so it must be configured for each vendor separately.
The conversion ratio is currently configured at the product level and applies globally. For supplier-specific ratios, contact Ahex Technologies about customisation options.
Forem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis. Class aptent taciti sociosqu ad litora
Know more ➞
Forem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis. Class aptent taciti sociosqu ad litora
Know more ➞
Forem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vulputate libero et velit interdum, ac aliquet odio mattis. Class aptent taciti sociosqu ad litora
Know more ➞
DEVELOPERS
YEARS IN OPERATION
GLOBAL CLIENTS
Start your digital transformation journey now and revolutionize your business