Duration: 25:35
🧾 Analytical Summary
🚀 The Eternal Warehouse Question: Units, Packaging, or Packages?
Vans Bulen, a business analyst on Odoo's Inventory Expert Team, tackles one of the most common questions facing Odoo implementers: What should I use as units of measure, packaging, and packages? The answer, as he demonstrates with an example of canned beverages, isn't straightforward—it depends entirely on business context.
Consider a pallet of cans. If you're manufacturing individual cans and need to track each unit through production, the can is your unit of measure, with boxes as packaging and pallets as packages. However, if you're simply purchasing full pallets from suppliers and reselling them untouched, there's no need to track individual cans—the pallet itself becomes your unit of measure. Context drives the decision.
Another complexity: prior to Odoo 19, users could only assign one package type per product, forcing difficult choices about whether to package items in small boxes, large boxes, or pallets. This limitation created operational friction and forced artificial constraints on warehouse workflows.
✨ Odoo 19 Game-Changers: Two Major Improvements
Odoo 19 introduces two transformative features that simplify these decisions and eliminate previous constraints:
1. Merge of Units of Measure and Packaging: A fundamental architectural change unifying these previously separate concepts.
2. Packing Pack (Multi-Level Packaging): The ability to nest packages—putting boxes on pallets, creating hierarchical packaging structures.
These improvements don't just make the system more flexible—they fundamentally change warehouse management workflows in Odoo.
🔄 The Merge: Units of Measure and Packaging Unified
Odoo 19 eliminates the old category-based system (length, volume, quantity) and merges units of measure with packaging into a single, flexible framework. Key changes:
No More Category Units: The rigid categorization is gone, replaced by a unified system where any measure can relate to any other.
Shared Packaging Across Products: Previously, if you sold beverages in "packs of six," you had to create that packaging separately for every product. Now, create "pack of 6" once and apply it across multiple products—drastically reducing configuration overhead.
Multiple Barcodes Per Packaging: If you source the same product from multiple suppliers with different barcodes, you can now assign multiple barcodes to one packaging type. When scanning, Odoo recognizes all variations as the same packaging, streamlining receiving processes.
Purchase Unit of Measure by Vendor: Previously, you selected one purchase unit per product. Now, specify different purchase units per vendor—one vendor might sell in packs of six, another in packs of twelve. Odoo handles this seamlessly.
Price Per Packaging: A highly requested feature—set different prices per packaging type. For example, one can costs €2, but a pack of six costs €10 (offering a discount). Odoo 19 correctly maintains these price relationships even when switching quantities, eliminating previous calculation errors.
🛠️ Practical Demo: Setting Up Merged Units and Packaging
In the live demonstration, Vans shows "Odoo Soft" beverage products configured with "units" as the base measure. Users can still change the unit of measure post-setup if no movements or packaging have been created, but no automatic conversion occurs—120 units become "120 packs" if you switch to packs, so caution is advised. This flexibility is best used during initial setup.
Creating new packaging is straightforward. Vans creates "pack of 12" and defines it as either 12 units or 2 packs of 6. His recommendation: always reference the base unit (12 units) rather than intermediate packaging (2 packs of 6) to avoid confusing conversion displays.
Package Type Assignment: Each packaging can be assigned a package type (box, pallet, etc.). When using the "Put in Pack" button during receiving, Odoo automatically suggests the associated package type.
Routes Per Packaging: Advanced users will notice routes are now configured on the Package tab rather than directly on packaging, allowing routing rules specific to package types.
On the Sales tab, packaging options (pack of 6, pack of 12) are configured and multiple barcodes assigned for different vendors. When creating quotations, users can select any configured packaging, and prices adjust automatically based on the selected unit.
On the Purchase tab, vendors are configured with default purchase units and pricing per unit type. Creating a purchase order from "Soda Company" defaults to pack of 6 at €10, but switching to individual units correctly applies €2 per unit—and importantly, entering 6 units does not incorrectly switch to the bulk pricing, fixing a long-standing bug.
📦 Packing Pack: Multi-Level Package Hierarchies
The second major innovation is "packing pack"—the ability to create nested package structures. You can place boxes inside other boxes, boxes on pallets, and manage complex hierarchical packaging that mirrors real warehouse operations.
Benefits include:
Better Stock Visibility: View inventory organized by package hierarchy, understanding exactly what's inside each pallet and box.
Efficient Movement: Move entire pallets or boxes at once during internal transfers, rather than moving individual items.
📥 Demo: Receiving with Packing Pack
Vans demonstrates receiving a purchase order with multiple products in various units. Before starting, he verifies the operation type has "Set Package Type" enabled—a crucial configuration step.
During receiving, he processes items and uses "Put in Pack" to create packages:
- Six units of Odoo Soft go into Box 11
- Another product goes into Box 12
- Sparkling water can be added to existing Box 12 by selecting it from the dropdown
To place boxes on a pallet, he selects all three and clicks "Put in Pack" again, selecting "Pallet" as the package type. The interface always displays the highest-level package, so items in boxes on pallets show the pallet number.
When he accidentally places Pallet 4 inside Pallet 5 (an unintended nesting), he demonstrates the fix: navigate to the Packages view, use the "Remove" button to unnest Pallet 4, then correctly place only the desired boxes into Pallet 5.
After validation, Vans shows the package barcode label generated by Odoo—it displays Pallet 4 with all contained boxes and their contents, including barcodes for everything. This label enables efficient warehouse operations.
📊 Inventory Visibility: Grouping by Container and Package
Using Odoo Studio to add a custom "Container" field, Vans demonstrates enhanced inventory visibility. By grouping inventory first by container, then by package, users see:
- All pallets listed with expandable views
- Contents of each pallet (boxes)
- Quantities within each box
This hierarchical view provides unprecedented visibility into physical inventory organization, making it easy to answer questions like "How many pallets do we have?" or "What's inside Pallet 4?"
🚚 Internal Transfers: Moving Packages Efficiently
When performing internal transfers from stock to a specific shelf, Vans shows the "Move a Pack" button. Selecting Pallet 4 automatically adds all three products on that pallet to the transfer. He also selects one of two boxes from Pallet 5, demonstrating partial pallet movement.
Validating the transfer moves the selected items while leaving the remaining box on Pallet 5 in the original location. Moving packages is dramatically faster than selecting individual products.
📱 Barcode Operations: Complete Sales Flow
For the final demonstration, Vans shows a complete sales flow using the Odoo Barcode app, which can be accessed directly from the delivery order without opening the separate barcode application.
Receiving Process:
- Scan source location (Stock)
- Scan product barcode for Odoo Soft pack of 6—automatically adds 6 units
- Switch to Shelf 1 by scanning location barcode
- Scan products and use paper barcode labels for Box and Pallet (kept nearby for quick access)
- Products are grouped into boxes, and boxes placed on pallets by scanning the respective barcodes
The system displays pick locations on screen, showing exactly where to retrieve items (e.g., "Pallet 4, Box 11"), ensuring warehouse staff know precise locations.
Unpacking Feature: When a truck arrives with less capacity than planned, the "Unpack" button removes items from a pallet while keeping them in their boxes. Vans scans the remaining boxes individually and validates the shipment, demonstrating flexible last-minute adjustments.
💡 Key Takeaways and Limitations
Unit of Measure Changes: Changing units post-implementation remains challenging. If packaging or movements exist, the best practice is to archive the old product and create a new one, accepting loss of historical continuity.
Sales Pricing Per Package: Unlike purchasing, sales pricing per packaging type isn't fully available yet. The workaround is using bills of materials and kits. The feature is in development and coming soon.
Configuration Requirements: The "Set Package Type" option must be enabled on operation types for packaging features to work properly.
System Intelligence: Odoo automatically places items in appropriately sized packages. In the demo, 12 units fit perfectly in Box 10 (configured for 12 units), so they were packaged there, while excess quantities went into separate boxes.
🎯 The Bottom Line
Odoo 19 transforms warehouse management by eliminating artificial constraints around units, packaging, and packages. The merge of units and packaging simplifies configuration and enables vendor-specific purchasing with accurate pricing. Packing pack (multi-level packaging) brings Odoo's digital representation in line with physical warehouse reality, enabling hierarchical package structures and efficient bulk movements. Combined with barcode operations and enhanced inventory visibility, these improvements make Odoo 19 a significantly more powerful warehouse management system capable of handling complex, real-world logistics workflows.
🧠 Viewpoint: Odoo Perspective
⚠️ Disclaimer: AI-generated creative perspective inspired by Odoo's vision.
For years, we heard the same feedback: "Why do I need to create the same packaging fifty times?" and "Why can I only use one package type?" We listened. Odoo 19's unit and packaging merge isn't just a technical refactor—it's recognizing that the distinction was artificial and created unnecessary complexity. Real warehouses don't think in rigid categories; they think in relationships. A box contains cans. A pallet contains boxes. The system should reflect that fluidity. The multi-level packaging capability finally brings our digital model in line with physical reality. Combine this with vendor-specific purchase units and per-package pricing, and suddenly the system adapts to how you actually do business, rather than forcing you into our old constraints. That's the Odoo way—listen, simplify, empower.
🏢 Viewpoint: Competitors (SAP / Microsoft / Others)
⚠️ Disclaimer: AI-generated fictional commentary. Not an official corporate statement.
Odoo's packaging improvements address legitimate usability pain points and bring their WMS capabilities closer to industry standards. Multi-level packaging and hierarchical package structures are table stakes in enterprise warehouse management—systems like SAP EWM and Manhattan Associates have offered this for over a decade, along with sophisticated slotting optimization, wave planning, and labor management. The merge of units and packaging is a sensible simplification for SMBs, but enterprises require more granular control—separate unit of measure conversions for inventory valuation versus operational handling, regulatory compliance tracking per unit type, and integration with third-party WMS and TMS systems. The vendor-specific purchase unit configuration is useful, but lacks the contract management, rebate tracking, and allocation logic that enterprise procurement demands. The barcode demonstrations show a functional mobile workflow, but lack the ruggedized device support, voice picking integration, and exception handling workflows that high-volume distribution centers require. Odoo is moving in the right direction for their target market, but these aren't innovations—they're catching up to capabilities that have been standard in enterprise WMS for years.
Disclaimer: This article contains AI-generated summaries and fictionalized commentaries for illustrative purposes. Viewpoints labeled as "Odoo Perspective" or "Competitors" are simulated and do not represent any real statements or positions. All product names and trademarks belong to their respective owners.