Lorixen.

Selling Product Kits: Should Your Ordering App Track the Bundle or Its Components?

Decide whether the bundle is an already assembled stock item or a sales offer fulfilled from separate components. That choice determines what the warehouse picks and which quantities the app must check. A product page called “starter kit” does not answer either question.

For a small shop or ordering tool, begin with the physical process. If staff pick a sealed finished box, you may need a stocked finished-product workflow. If they gather separate items after the order arrives, define the component recipe and its fulfilment rules. This guide focuses on the second case, not on manufacturing accounting or a complete assembly system.

One sales line can require several warehouse lines

A customer may want to buy one kit without choosing every included item. Staff still need the individual components and quantities. Keep a relationship between the customer-facing bundle and the component work; do not replace it with an unstructured note saying “include the usual extras.”

Odoo's official kit documentation describes kits as sets of unassembled components sold to customers. It says a sold kit appears as one line on the quotation and sales order, while the delivery order lists each component. That is a concrete product model, not a promise that every bundle feature behaves this way.

For your implementation, specify what the customer sees on confirmation and what staff see on the picking list. A customer-friendly name must not hide a missing component from the warehouse.

Write a recipe with quantities and a version

List every required component, its unit and its quantity per kit. Odoo's setup guide likewise describes adding components and their quantities to a kit bill of materials.

A hypothetical desk kit might contain one stand and two cable clips. Two kits therefore need two stands and four clips. This is an invented example to clarify the relationship, not a product recommendation or a statement about any client's stock.

Decide when an order adopts a particular recipe. If you replace an included clip next month, should an older accepted order keep the original contents? Usually the team needs to know what was agreed, but the precise change process is yours to define. Keep an identifiable recipe or snapshot with the order so a later catalogue edit does not quietly change the picking instruction.

If customers can choose alternatives, distinguish an approved component option from a free-text request. Define compatible choices and whether each substitution changes price, availability or what must be shown before confirmation.

Availability belongs to the required components

A kit shown in a catalogue is not automatically a box sitting on a shelf. Ask the app to evaluate the quantities of the required components under your agreed stock policy. An abundant main item cannot make up for a missing mandatory part.

Components may also be sold individually or used in other bundles. Their commitments must be considered together; otherwise two offers can appear available while relying on the same remaining item. Agree whether an order reserves components, when that happens and what releases the commitment. A calculation on the product page alone is not a reservation.

If a component is unavailable, choose the intended path: stop the order, allow a clearly explained backorder or offer an authorised substitution. Do not silently omit the component while keeping the bundle's original description.

Separate complete-kit delivery from partial shipment

Can components be shipped separately, or does the kit need to arrive together? A partially shipped bundle needs a comprehensible remaining balance. A status saying “one kit dispatched” is misleading if a required part is still waiting.

Ask how staff and customers see which components were dispatched and which remain due. Keep those movements linked to the bundle line. A packing slip and the customer confirmation may need different detail, but they must not disagree about completion.

Returns need an equally explicit relationship. Decide how the team records return of one component, a full kit or a replacement part without pretending that every return is a complete bundle reversal. Have refund and accounting treatment reviewed separately; component tracking alone does not determine the amount owed.

Test shared components and recipe changes

For a bundle-ordering project, include these journeys in the acceptance criteria:

  • One kit expands into the intended components and quantities on the staff picking view.
  • Multiple kits multiply every component quantity correctly.
  • A required missing component follows the chosen unavailable-stock policy.
  • Individual sales and another bundle compete for the same component under one agreed commitment rule.
  • A recipe change does not silently rewrite an already accepted order.
  • A permitted component substitution remains visible and authorised.
  • Partial dispatch, if allowed, leaves the missing components clearly outstanding.
  • A component return remains linked to its original kit and follows the separately defined remedy process.

If your real process assembles and stores finished kits before sale, stop and model that process instead. Selling separate components under one name and manufacturing a stocked finished item are not interchangeable requirements.

Source boundary

Odoo 19 supports the examples of an unassembled kit, component quantities in its bill of materials and different sales-versus-delivery line presentation. Recipe versions, shared-stock commitments, substitution approval, partial-shipment controls and return tests above are proposed requirements. This article does not validate inventory valuation, tax allocation or manufacturing traceability.

WhatsAppLet’s talk