Internal Stock Quant Package
This module allows to declare internal stock quant package.
Sometimes, when an operator is picking, he needs to put the product in internal packages placed on his trolley that will be emptied later.
Two kinds of operations can lead to the emptying of the internal packages:
> - when product from the internal packages will be 'put in pack' at the > pack station (in a pick / pack / ship scenario) > - when a carrier will load his truck with the products from the > internal packages (in a pick / ship scenario)
This modules extends the stock module to add the concept of internal stock quant package and therefore allows you to manage this kind of operational need. It ensures that the internal stock quant packages are emptied when required depending on the picking type configuration.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Lets you mark packages as internal (trolley boxes) and automatically empty them when a transfer is validated or when products are put in pack, with per-carrier exceptions.
This module adds the idea of an "internal" package: a box or trolley used to carry products during picking that is not meant to be shipped to the customer. A package is considered internal when its package type has no carrier type set; the flag "Internal use?" is shown on the package form and list, and you can filter packages with the "Internal" filter in the package search view.
On each operation type (for example Pick, Pack, Ship) you get a new option "Empty internal packages on transfer", switched on by default. You can also add exception lines per delivery carrier, each with an "Empty" checkbox, so internal packages are emptied or kept depending on the carrier used on the transfer.
When a transfer is validated, if the option applies, the internal packages used on its move lines are unpacked automatically. When you use "Put in Pack", any internal package already linked as result package is cleared first, so products go into a normal shipping package. The decision is computed on each transfer from the operation type setting and the carrier (from the transfer or its procurement group).
Only stock managers can create or change the carrier exception lines; other users can read them.
Depends on
Required by other modules
Models and fields (4)
- stock.picking · extends an existing modelempty_internal_package_on_transfer
- stock.picking.type · extends an existing modelempty_internal_package_on_transfer, stock_internal_package_config_line_ids
- stock.quant.package · extends an existing modelis_internal (Internal use?)
- stock.internal.package.config.line · new modelempty, delivery_carrier_id, stock_picking_type_id
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/stock-logistics-tracking.
terminal Installation and usage
OCA documentation · Odoo 18.0Usage
Source · Odoo 18.0As this addon rely on the concept of "internal" packages. If you want to use packages into your picking operations, you need first to activate the package functionality in the stock settings (see the "Operations" section).
Then, you need to create packages and set them as internal. This is done by going to Inventory \> Products \> Packages and clicking on the "Create". (Don't forget to tick the "Internal use" box).
By default, when you put your products into an internal package when processing a picking, once the picking is done, the package is automatically emptied. You can change this behavior at 2 levels:
- At the picking type level: go to "Inventory \> Configuration \>
Operation Types" and edit the picking type you want to change. Then, untick the "Empty Internal Package On Transfer" box. (By default internal packages are always emptied when the picking is done). 2. At the picking type level for a specific carrier: go to "Inventory \> Configuration \> Operation Types" and edit the picking type you want to change. Then, add or remove lines in the "Stock Internal Package Config Line" table. You can add a line for a specific carrier and tick/untick the "Empty" box.
To know if internal packages must be emptied or not for a given picking, the system will first check if a configuration line exists on the picking type for the carrier of the picking. If a line exists, the system will use the value of the "Empty" box. If no line exists, the system will use the value of the "Empty Internal Package On Transfer" box of the picking type.
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.