Pragmatic – Leading provider of open source business applications OpenERP, Ruby on Rails, Node.js, Talend, jaspersoft  – Pragmatic
Beyonce Adams

How Odoo 19’s unified Units of Measure [UoM] & Packaging transforms Inventory Management

Why UoM & Packaging Were a Constant Pain

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

  1. Enable UoM feature
    Go to Inventory → Settings → Units of Measure and activate.
  2. Create or edit UoMs
    • Bottle : Reference UoM
    • Box : Ratio = 12 × Bottle
    • Pallet : Ratio = 100 × Box
  3. Assign to Products
    Choose the appropriate UoM on each product form.
  4. Test Transactions
    Create a sample Sales Order, Purchase Order, and stock move to confirm proper conversions.
  5. 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.

Our services include :

  • Audit & Cleanup : Review your existing UoM & packaging setup.
  • Migration Planning : Seamlessly upgrade your database to Odoo 19.
  • Customization : Build packaging hierarchies and reports tailored to your industry.
  • Training & Support : Ensure your team adopts the new model quickly.

Ready to take advantage of Odoo 19’s simplified UoM & packaging model?

👉 Book a free consultation with Pragmatic Techsoft’s Odoo experts today.

FAQs

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.

SHARE | FOLLOW | SUBSCRIBE

Leave a Reply

Subscribe to Blog via Email.

Enter your email address to subscribe to this blog and receive notifications of new posts by email.
Loading

Recent Comments

Related Posts