Quick answer
Max sellable quantity is floor(component_available ÷ quantityConsumed) for each component; the bundle limit is the minimum across components. Zero means at least one component has no remaining capacity for another kit.
- One OOS component zeros the entire kit.
- quantityConsumed multiplies inventory pressure.
- Checkout validation backs up max sellable on the storefront.
- Webhook sync keeps counts current without manual recalculation.
Why KitForge calculates this
Selling bundles you cannot assemble creates refunds and partial shipments. KitForge recalculates on inventory_levels/update webhooks and enforces limits at checkout validation.
Dashboard vs storefront lag
Allow a short window after inventory changes for webhooks to refresh snapshots. If zero persists, inspect each component's available count in admin.
Final recommendation
Max sellable zero is protective, not punitive. Find the limiting component and fix stock or recipe.
If you want this kind of offer to feel native to the buying journey, Kitforge Bundles is built around that exact problem: turning related Shopify products into clearer bundle offers before the shopper reaches checkout.
FAQ
Does this apply to FBT and quantity breaks?
Max sellable applies to fixed kits with components. FBT checks per add-on availability. Quantity breaks use variant inventory on the eligible SKU.