product_packaging_level
Bind each product packaging to a configurable packaging level to structure naming, defaults, and hierarchy of packages.
Key Features
- product.packaging.level: Provides level records with code, sequence, GTIN requirement flag, name policy options, default language, active/default flags, and display names combining name and code.
- product.packaging.level: Enforces that exactly one level is marked as default and restricts the package-type-based naming policy to users with package tracking enabled.
- inventory configuration: Adds a menu entry under Inventory settings to create, edit, and order packaging levels.
- product.packaging: Requires a packaging level on each packaging, defaults it to the configured default level, synchronizes its sequence, and can adopt the level from the chosen package type.
- product.packaging: Computes packaging names based on the selected policy (level name, package type name, or user-defined) while honoring level translations for display names.
- product.packaging: Prevents a product from having multiple non-default packagings with the same level.
- product.packaging: Computes a Qty per package level summary showing how many smaller packages fit into the current one and flags barcode as required when the level demands a GTIN and a quantity is set.
- stock.package.type: Adds a packaging level link on package types that serves as the default level when selecting a package type on packaging records.
- migration: Includes a pre-init hook to rename legacy packaging type models and fields to the new packaging level structure during upgrades.