OdooWiki OCA HUB

Product Packaging Level

product_packaging_level folder_open OCA/product-attribute open_in_new
Product License: LGPL-3

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.0

Lets 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

stock

Menus it adds

menu_product_packaging_level
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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation 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.0

To 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.

info

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.