This module adds Product Pack functionality to purchase orders. You can choose a Pack in purchase order lines and see different behaviors depending on "Pack type" and "Pack component price" fields options selected on this Pack.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Buy product packs on purchase orders: when you add a pack product, Odoo automatically creates one purchase line per component, with prices taken from the vendor or the product cost.
This module brings product packs into the Purchase app. When you add a pack product to a request for quotation or purchase order, Odoo automatically creates one line for each component of the pack, showing the component name indented under the pack. The pack line itself stays as the parent, and the components are linked to it.
- If the pack is set as "detailed", the components are expanded as separate lines; if the pack is "non detailed", it stays as a single line.
- Component prices are filled in automatically: Odoo looks for a vendor price for the component and, if none is found, uses the product cost.
- Depending on the pack options, component lines can be shown with a zero price (when the pack price is totalized or ignored).
- Lines that belong to a non-modifiable pack cannot be edited or deleted; a lock button appears on the order line and opens the parent pack product. Odoo shows an error if you try to change or remove such a line.
- When you delete a pack line, its component lines are removed too, and copying a purchase order does not duplicate the component lines.
- Changing the product or quantity on a pack line refreshes its component lines.
The module adds fields to purchase order lines (pack type, component price rule, depth, parent and child lines) and a purchase manager access right on pack lines. It works together with the product pack module and the standard Purchase app.
Depends on
Models and fields (4)
- purchase.order · extends an existing model
- product.product · extends an existing model
- product.pack.line · extends an existing model
- purchase.order.line · extends an existing modelpack_type, pack_depth (Depth), pack_modifiable, pack_child_line_ids, pack_parent_line_id, pack_component_price, do_no_expand_pack_lines
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: 2 confirmed, 7 with no information of 9 versions.
Sources · Odoo 16.0
Confirmed on 2026-11-03 in branch 16.0 of OCA/product-pack.
terminal Installation and usage
OCA documentation · Odoo 18.0Usage
Source · Odoo 18.0To use this module, you need to:
- Go to Purchase \> Products \> Products, create or select a product and check Is Pack?
- Set "Product type" and "Pack component price" fields in the Pack page.
- Add the products to be included in it.
- Go to Purchase \> Orders \> Quotations and create a Quotation.
- Add a product that has checked "Is Pack?"
- Save data and you will see an specific behavior depending on "Pack type" and "Pack component price" fields options selected on this Pack. For example, for products that has Detailed option selected in "Pack type" field you will see one purchase order line per component that belong to this Pack. (See Product pack module README.rst file)
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.