Help

Help›Product›Bundles

Bundles

Reviewed Sep 7, 2026

View as Markdown
Words
TierEvery tier
SeatAny seat reads it
WhereComponents, under Products, the kits view opened from the old Bundles address

The question this page answers ​

Which variants are declared bundles, what does each consume, and how many can the stock on hand build? A bundle is products sold together as one: an existing variant declared as the bundle, and the variants it consumes at a quantity each. How many it builds is set by its tightest component. Bundles live on Components, which every plan's rail carries under Products: its catalogue lists each kit and assembly with where its stock is held, and a kit opens the bundles view. The old Bundles address opens that view.

What you see ​

The kits view on Components, marked 1 to 3.
  1. The door back to the Components catalogue, above the page's own head.
  2. New bundle opens the two-step page for declaring one.
  3. The table, one row per bundle, with Builds and Constraint on every row.

The page is headed Components, with a door back to the catalogue. The basis line reads Units · stock on hand and the warehouse the figures are read at; where the rows name more than one warehouse, a select picks one warehouse or All warehouses. There is no verdict sentence over the table.

The table is one row per bundle, the fewest builds first: Bundle (image, product and variant), SKU (with a copy button; No SKU), Category (Not classified), Components (a count, the list with each quantity on hover; No components), Builds (how many bundles the stock on hand builds; hover it for the sentence naming the constraint and its arithmetic), Constraint (the component that floors the count, a door to its room; Not on file) and Runs out, which where the engine has projected a day shows it beside a bar of the days left, and otherwise reads Not projected.

Builds is served, never recomputed on the page. Across all warehouses it is the smallest of each component's stock on hand, summed over every warehouse, divided by the quantity the bundle takes, rounded down. At one warehouse it is the same floor on stock less what is reserved there. A measured zero prints as 0. A component nobody has counted withholds the whole count, and the constraint with it, because naming a constraint while an uncounted component might be scarcer would put a wrong sentence on the row.

Pressing a row opens its bill: Available (the Builds figure), the component count, and one line per component with Per product, On hand and Can supply, the binding component first, then Limited by and the component that binds, or Stock not measured. A bundle imported from a source such as NetSuite is marked Imported and Read-only.

What to do ​

  1. Press New bundle, then choose the bundle product on step one.

  2. Add products inside on step two, with a quantity of at least one for each.

  3. Watch the sentence above the button as you pick: how many bundles the stock on hand builds, with the constraint named, or that the count cannot be stated:

    One component has no stock reading, so the buildable count cannot be stated.

  4. Press Create bundle once every selected product has a quantity; it stays disabled until then, and says:

    Enter a quantity of at least one for every selected product.

  5. Press a row to open its bill, then Edit components to open the Edit bundle drawer.

  6. Pick or unpick components, set their quantities, then press Save components.

  7. Press Dissolve bundle to revert it to its original variant, same SKU; confirm with Dissolve, or back out with Keep it.

  8. Press View product on a bundle's bill to open its own room.

Create bundle writes it and returns to the list, which says the variant is now marked as a bundle; a refusal renders above the button as Not created with the served reason. Save components reads Bundle updated, or Not updated with the reason; a dissolve names the variant reverted, or the bill says Not dissolved with the reason. The acts wait while a dissolve is in flight, and nothing here changes which variant is the bundle.

A bundle is never bought: replenishment leaves bundle variants out. Its demand lands on its components, each at the bill's quantity per bundle sold, so the components' velocity and their reorders carry it. The variant room of a bundle shows its bill under Structure.

When it is empty or failed ​

Before your data has arrived, the page is one sentence with a door to Home instead of the table.

A first run shows the New bundle door and one sentence:

No bundle is declared yet.

A search that matches nothing keeps the toolbar:

No bundles match that search.

A failed read is stated where the table would be, with Try again:

The bundles read didn't answer.

The picker's failed read is stated in the picker; a refused save renders in the drawer's foot.