Skip to content
TAQNIX
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on TAQNIX

Product Packs / Bundles for Odoo 19 Community documentation

A guide to the packs: creating one, the two ways to price it, selling it, the delivery and the invoice, and the printed quotation.

Documents version 1.0.0Updated Oct 23, 2026

Start here

In plain words: A desk, a chair, a lamp and a monitor arm: the customer wants them together at one price, and your warehouse wants to pick four products. Product Packs sells them as one pack in Odoo Community: the pack is one line at one price on the quotation and the invoice, its components are added to the order and delivered from your stock, and the stock tells you how many packs you can still sell.
A pack and its components, the order with the components added, and the quotation.
A pack and its components, the order with the components added, and the quotation.
Tip: The pack is invoiced as one line; the components never show on the invoice.

What you get

FeatureWhat it does
PacksTick Is a pack on a product and list its components with their quantities.
Two ways to priceGive the pack its own price, or make it the sum of its components with a discount.
Components on the orderAdding the pack adds its components; changing the quantity of the pack changes them.
DeliveryThe components are delivered from your stock; the pack itself is not a stock move.
InvoiceOne line: the pack at its price. The components have nothing to invoice.
Packs availableHow many packs your stock of components allows.
SavingHow much the customer saves against the components.
Hide on the quotationShow or hide the components on the printed quotation.
ChecksA pack needs components, cannot contain itself or another pack, and lists a component once.
ArabicEverything is translated and works right to left.

Requirements

ItemDetails
Odoo19.0 (Community or Enterprise)
Apps neededSales and Inventory (sale_stock)
LicenseOPL-1 (Odoo Proprietary License v1.0)

Install

  1. Unzip the package. Inside is taqnix_product_pack.zip; unzip it to get the folder taqnix_product_pack.
  2. Copy the folder into one of the addons_path folders of your Odoo server and restart Odoo.
  3. Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
  4. Remove the “Apps” filter, search Product Packs / Bundles and press Install.
# or from the command line
./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_product_pack --stop-after-init

Create a pack

In plain words: Open Sales → Products → Packs and click New (or tick Is a pack on any product). Open the Pack tab, add the components with their quantities, and choose how the pack is priced.
The packs.
The packs.
A pack with its components and its figures.
A pack with its components and its figures.
SettingMeaning
The price of the packThe sales price of the product is the price of the pack.
The sum of the components, with a discountThe price follows the components: their prices times their quantities, minus the discount.
Hide the components on the quotationThe components stay on the order and the delivery, but not on the printed quotation.
Total of the components / SavingWhat the components cost separately, and what the customer saves.
Packs availableThe number of packs your stock of components allows.
A pack priced as the sum of its components with a discount.
A pack priced as the sum of its components with a discount.
Tip: Packs are invoiced when the order is confirmed (invoice policy: ordered quantities), because the pack itself is not delivered.

Sell a pack

In plain words: Add the pack to a quotation like any product. Its components appear under it at price zero; if you change the quantity of the pack, the components follow. Delete the pack line and its components go with it.
A quotation with two packs and a normal product.
A quotation with two packs and a normal product.

Delivery and invoice

In plain words: When the order is confirmed the delivery lists the components: the warehouse picks the real products. The invoice has one line for each pack at its price: the components have nothing to invoice, and the order is invoiced when the packs are.
The delivery of the order: the components of the packs.
The delivery of the order: the components of the packs.

The printed quotation

In plain words: For a pack with Hide the components on the quotation the customer sees one line. For the others the components are listed under the pack at zero.
The quotation: one pack shows its components, the other hides them.
The quotation: one pack shows its components, the other hides them.

Who can do what

WhoCan
Sales managers and inventory managersCreate and change the packs and their components.
SalespeopleSell the packs.

Arabic and right to left

An order with packs in an Arabic interface.
An order with packs in an Arabic interface.

Limits

LimitDetail
No nested packsA pack cannot contain another pack.
Stock costThe cost of a pack is the cost of what is delivered: its components.
Confirmed ordersThe components are added while the order is a quotation.
VariantsPacks are made of product variants and sold as one product.

For developers

In plain words: Skip this chapter if you only use the module.
pack = env['product.template'].create({'name': 'Starter Pack', 'type': 'consu', 'is_pack': True, 'list_price': 569.0,
    'pack_line_ids': [(0, 0, {'product_id': desk.id, 'quantity': 1}), (0, 0, {'product_id': chair.id, 'quantity': 1})]})
order = env['sale.order'].create({'partner_id': customer.id, 'order_line': [(0, 0, {'product_id': pack.product_variant_id.id, 'product_uom_qty': 2})]})
order.order_line.mapped('product_uom_qty')   # the pack line and its components

Troubleshooting

ProblemWhat to do
The pack needs at least one componentAdd a component on the Pack tab before saving.
The components are missing on the orderAdd the pack again: they are added when the pack line is created, on a quotation.
Packs available is zeroA component is out of stock, or is not a storable product.
The pack price did not changeWith the sum price the pack follows its components when you save them.

Updating and removing

Replace the folder with the new version, restart Odoo and run -u taqnix_product_pack. Your packs and their components are kept.

Support

Installation help and bug fixes are included for 6 months, with lifetime updates. Contact us through the marketplace page where you bought the module or write to support@taqnix.com with your Odoo version and a screenshot.