Items — How Bundle Inventory Works
Use this guide when someone asks whether a fulfilment-expanding bundle has its own stock, how its availability is calculated, or what gets reserved and deducted when a bundle order ships.
If the item is configured as Assemble to stock, this is not the right guide. Use Items — Product Types And Recipes and Inventory Assembly.
Short answer
ParcelPilot treats fixed fulfilment-expanding bundles as virtual, component-driven bundles.
That means:
- the bundle definition lives on the item record
- bundle availability is calculated from the component items
- order fulfilment expands the bundle into component lines before stock is reserved
- reservation, picking, and stock deduction happen against the component items
ParcelPilot does not use a separate bundle-parent stock bucket for fulfilment-expanding bundle calculations.
Where The Bundle Definition Lives
The live bundle structure is stored on the item record under the bundle attributes.
Each component row defines:
- the component item
- the quantity of that component required per bundle
Example:
TOOLKIT-001COMP-A x2COMP-B x1
That means one sellable bundle requires two units of COMP-A and one unit of COMP-B.
Does The Bundle Have Its Own Inventory?
Operationally, no for this bundle type.
For the ParcelPilot fulfilment-expanding bundle workflow, the bundle parent is treated as a virtual sellable SKU whose usable availability comes from its components.
When a user asks "do bundles have their own inventory?", the practical answer is:
- ParcelPilot does not reserve bundle-parent stock
- ParcelPilot does not pick bundle-parent stock
- ParcelPilot does not deduct bundle-parent stock on shipment
- ParcelPilot uses component stock to decide whether the bundle can be fulfilled
How Bundle Availability Is Calculated
ParcelPilot calculates how many complete bundles can be built from the currently sellable component stock.
For each component:
$$ \text{component sellable} = \max(0, \sum qty - \sum reserved) $$
$$ ext{buildable from component} = \left\lfloor \frac{\text{component sellable}}{\text{qty required per finished unit}} \right\rfloor $$
Final bundle availability is the lowest buildable quantity across all required components.
$$ \text{bundle availability} = \min(\text{buildable from each component}) $$
ParcelPilot excludes stock that is not currently sellable, including:
DISCONTINUEDinventory units- inventory in
QUARANTINElocations - inventory in
RETURNSlocations
Worked Example
Bundle parent:
TOOLKIT-001
Components:
COMP-A x2COMP-B x1
Current sellable stock:
COMP-A = 9COMP-B = 4
Result:
COMP-Acan buildfloor(9 / 2) = 4bundlesCOMP-Bcan buildfloor(4 / 1) = 4bundles- the bundle availability is
4
If COMP-B drops to 3, the bundle availability also drops to 3 even if COMP-A stays higher.
What Happens When A Bundle Order Is Reserved
When an order contains a fulfilment-expanding bundle parent SKU, ParcelPilot expands that bundle into component fulfilment lines before reservation.
Example:
- order contains
2 x TOOLKIT-001 TOOLKIT-001requiresCOMP-A x2andCOMP-B x1- ParcelPilot expands the warehouse fulfilment demand to:
COMP-A x4COMP-B x2
Stock is then reserved against those expanded component quantities.
What Warehouse Staff Pick And What Shipment Deducts
Warehouse picking and shipment deduction follow the expanded component demand, not the bundle parent SKU.
In practice:
- the warehouse picks component items
- stock deductions reduce the component items
- the bundle parent acts as the commercial/order-facing SKU, while the warehouse stock movement stays component-based
Supported And Unsupported Bundle Shapes
The fulfilment-expanding bundle model is intended for fixed component bundles.
Supported:
- a fixed component list on the item
- positive component quantities
- multiple bundle parents sharing the same component item
Not supported:
- nested bundles
- bundle cycles
- self-referential bundles
- missing component items
- non-positive component quantities
Related Guides
- Glossary
- Inventory Units
- Items — Product Types And Recipes
- Reserved Stock
- Client Integrations — Virtual Bundle Stock Sync
Use the stock-sync guide when the question is about pushing a derived virtual-bundle parent quantity to Shopify, WooCommerce, or another ecommerce channel. Use this guide when the question is about ParcelPilot's internal warehouse behavior for fulfilment-expanding bundles.