This module binds a product packaging to a packaging level.
There are usually 3 levels:
- The primary: it is the closest to the product, also called the retail packaging
- The secondary: it allows to ship the products already in the primary packaging, like a box
- The tertiary: it allows to ship large quantities in warehousing, like a pallet
This differentiates from the odoo standard package type that is typing the packaging in a more precise way and that can serve for put-away routing in the warehouse.
For example a small box and a large box, or an EPAL pallet and CHEP pallet.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Lets you classify product packagings (retail, box, pallet, etc.) into packaging levels, with a default level, automatic packaging names, and a quantity-per-level summary shown on each packaging.
This module adds a new configuration screen, Product Packaging Level, found under Inventory > Configuration > Products (visible to users with the packaging group). There you create levels such as retail, box or pallet, each with a name, a short code, a sequence, an optional flag saying a barcode is needed for GTIN, and a naming policy.
On each product packaging you now choose a packaging level. The level is required and defaults to the level marked as default. A level can only be deleted if no packaging uses it.
Business rules and automatic behaviour: - Exactly one level must be marked as default; Odoo refuses to save if there is none or more than one. - The packaging name can be taken from the level name (in a chosen language), from the package type name, or typed freely by the user. - Choosing the package type name policy requires the Packages option to be enabled in Inventory settings. - For a given product, you cannot have two packagings with the same level (the default level is ignored in this check). - The packaging sequence follows its level, and a new field shows the quantity per package level (for example how many smaller packagings fit in this one). - The barcode field becomes mandatory when the level requires a GTIN and a quantity is set. - Package types can also be linked to a packaging level, and selecting a package type on a packaging fills in its level.
It touches product.packaging, product.packaging.level and stock.package.type.
Depends on
Required by other modules
Menus it adds
Models and fields (3)
- product.packaging · extends an existing modelname, sequence, name_policy, qty_per_level (Qty per package level), packaging_level_id, barcode_required_for_gtin
- stock.package.type · extends an existing modelpackaging_level_id
- product.packaging.level · new modelcode, name, active, has_gtin, sequence, is_default, name_policy, default_lang_id (Default Language)
Text generated by AI (DeepSeek) from reading the Odoo 18.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: 3 confirmed, 6 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/product-attribute.
terminal Installation and usage
OCA documentation · Odoo 18.0Usage
Source · Odoo 18.0To create a new packaging level:
- Go to Inventory \> Configuration \> Products \> Product Packaging Level.
- You can create/edit/delete packaging levels
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.