Inventory management is one of the most mission-critical parts of any business. Whether you are a manufacturer, distributor or retailer, you rely on accurate stock data, smooth procurement flows and efficient picking and shipping processes.
But here’s the catch: Businesses rarely deal with products in just one format.
You buy raw material in bulk
You store it in smaller lots
You sell it in packs, boxes or pallets
That means your ERP must handle multiple units of measure and different packaging levels without creating chaos.
Before Odoo 19, that was harder than it needed to be.
The problem with separate UoM & Packaging in Odoo 18
Until Odoo 18, there were two separate models :
Units of Measure (UoM) : The core feature for conversions (kg → g, piece → dozen, etc.).
Product Packaging : A separate model defining how products are grouped for sale or purchase (box of 12, pallet of 100).
Sounds fine – but here’s where businesses struggled :
Duplication : You had to configure the same product multiple times (UoM and Packaging).
Mismatch Risks : If conversion ratios were inconsistent, reports would show wrong stock quantities.
Extra Work : Developers maintaining custom code had to work with two separate models, doubling complexity.
Reporting Chaos : Packaging data sometimes didn’t flow into inventory reports cleanly, requiring manual reconciliation.
This was especially painful for companies with multi-level packaging (pallet → carton → pack → piece) or businesses doing multi-plant operations, where consistency is everything.
What Odoo 19 changed – The unified model explained
Odoo 19 addresses these pain points with a game-changing update : UoM and Packaging have been merged into a single unified model.
This means :
One table, one truth : You now define UoMs including “box” and “pallet” – in a single place.
No separate packaging records : Packaging is no longer an extra tab with its own rules.
Cleaner, more pythonic design : Developers can extend one model instead of two, reducing technical debt.
Consistent workflow : Sales orders, purchase orders, stock moves, manufacturing orders – all use the same data.
Support for pack-in-pack : You can now model multi-level packaging hierarchies natively.
Odoo has taken a fragmented process and turned it into a clean, unified approach that is easier to configure, easier to extend and easier to trust.
Key Benefits : From Data Cleanliness to Warehouse Efficiency
Let’s break down what this actually means for your teams.
🏭 For Operations & Warehousing
Fewer Picking Errors: Warehouse workers see the right UoM (e.g., box of 12, pallet of 100) without manually converting.
Better Traceability : Stock moves now accurately reflect packaging levels for improved reporting.
Seamless Barcoding : Each UoM can have its own barcode, making scanning faster and error-free.
📊 For Business & Finance Teams
Accurate Valuation : Inventory valuation uses one data model, reducing reconciliation errors.
Better Reporting : Stock reports, sales analysis and procurement planning are more consistent.
Improved Cost Control : No hidden discrepancies between how goods were purchased vs. how they were stocked.
🛒 For Sales & Procurement
Simpler Quoting : Sales reps just pick the right UoM – no need to guess or convert manually.
Vendor Alignment : Easily match supplier packaging (purchase UoM) and customer packaging (sales UoM).
Faster Order Fulfillment : Reduced friction in sales-to-dispatch flow.
👨💻 For Developers & Admins
Less Custom Code : One model to maintain reduces future technical debt.
Easier Migrations : Upgrades are smoother because there’s less duplication in the database.
Better Extensibility : Easier to integrate with external WMS, shipping systems and automation tools.
Real-World Use Case : Bottled Water Manufacturer
Let’s make this practical.
The Business Challenge
A bottled water manufacturer buys caps and labels in thousands, produces bottles individually, and sells them in boxes of 12. For export orders, 100 boxes are placed on pallets.
In Odoo 18, they had :
UoM = Bottle
Packaging = Box of 12
Packaging = Pallet of 100
When sales teams created orders, they often forgot to update the packaging record or picked the wrong one. Reports would show inventory in bottles while sales data showed boxes, making forecasting a nightmare.
With the unified model in Odoo 19 :
Bottle (Base UoM)
Box (12 × Bottle)
Pallet (100 × Box)
Now, when they sell 10 pallets, Odoo :
Automatically converts it to bottles for stock moves
Guides warehouse staff on exactly how many pallets to pick
Updates stock levels and reports in real-time
Results –
25% faster order processing
40% fewer stock adjustment errors
Better margin visibility across SKUs
Step-by-Step : How to Set Up UoM & Packaging in Odoo 19
Enable UoM feature Go to Inventory → Settings → Units of Measure and activate.
Create or edit UoMs
Bottle : Reference UoM
Box : Ratio = 12 × Bottle
Pallet : Ratio = 100 × Box
Assign to Products Choose the appropriate UoM on each product form.
Test Transactions Create a sample Sales Order, Purchase Order, and stock move to confirm proper conversions.
Train Your Team Show users that packaging is now part of UoM. Emphasize that they only have one place to configure it.
Migration Considerations and Best Practices
If you’re upgrading from Odoo 17/18 :
Data Migration : Map packaging records to UoMs during migration.
Custom Modules : Check for hardcoded references to old packaging model.
Reporting : Update custom reports to use new UoM fields.
User Training : Educate teams that there’s no separate packaging tab anymore.
This is exactly where Pragmatic Techsoft’s migration expertise shines. We help businesses avoid downtime, data loss and configuration errors.
Why This Change Matters for Your Business
Odoo 19’s unified UoM & packaging model is not just a technical upgrade – it’s a business process improvement.
By simplifying configuration, improving reporting accuracy and streamlining workflows, this change helps businesses :
Reduce inventory errors
Accelerate order fulfillment
Improve decision-making
🚀 Why partner with Pragmatic Techsoft
At Pragmatic Techsoft, we don’t just implement Odoo – we optimize it for real business outcomes.
Q1 : Will my existing packaging data migrate automatically? Not fully. You’ll need to map packaging records to UoMs during migration – we can help automate this process.
Q2 : Can I still use multiple purchase and sales UoMs? Yes! The unified model makes it easier than ever to switch between vendor UoM and customer UoM.
Q3 : What about nested packaging (pallet → crate → box)? Odoo 19 supports multi-level packaging natively – just define each level as a UoM.
Q4 : Does this improve barcode scanning? Yes. Each UoM can have its own barcode, reducing errors during picking.
Q5 : Can Pragmatic Techsoft customize this for my specific workflows? Absolutely – we specialize in complex multi-plant, multi-level packaging setups and can tailor Odoo 19 to your exact needs.
Leave a Reply
You must be logged in to post a comment.