Shopify Bundle Inventory: How Stock Counts
How bundle inventory works on Shopify: component stock vs bundle stock, what native Bundles and app bundles each track, and the sold-out cases to plan for.
When a bundle sells out, the question is never "how many bundles are left." It is "which component ran out, and what else was counting on it." Shopify bundle inventory is where most of the avoidable mistakes in bundling happen, because the bundle looks like one product on the storefront and behaves like several in the stockroom. This guide separates the two ways a bundle can hold stock, reads what Shopify documents for each, goes through the sold-out cases you should plan for with a worked example, and ends with a reorder point that accounts for a component being used in more than one place.
Two models of bundle stock
A bundle with its own stock. You assemble the set in advance, give it its own product and SKU, and count it like anything else. Ten finished gift boxes on the shelf are ten units. Shopify has no special logic here, and none is needed. The cost is that the components are consumed at assembly, so stock you counted as available for single sales is already inside boxes. This model is our description, not a Shopify feature, and it suits sets you pack ahead of a season.
A bundle built from components. The bundle is a product whose availability is worked out from the items inside it, and the items are picked and shipped separately. Nothing is assembled until an order arrives. This is the model Shopify's bundle features address, and everything below applies to it.
Choose the first model when packing is part of the product, such as a gift box with its own wrapping. Choose the second when the items ship as they are and you want the same stock to serve both single sales and bundles.
What Shopify documents for component bundles
Shopify's Help Center says that to create product bundles you must have a bundles app installed, and that the Shopify Bundles app is available on all Shopify plans. The pages we read tell us the following about stock.
- Availability comes from the components. The eligibility page says bundle inventory is determined by the inventory levels of each product in the bundle, and that the product with the lowest inventory level determines how many bundles can be sold. It adds that you can only create as many bundles as you have complete sets of products, and that levels update in real time.
- Two settings take a component out of the calculation. A product whose inventory is not tracked, or that is set to continue selling when out of stock, is ignored when the bundle's available quantity is worked out.
- Stock is one number. The Shopify Bundles page says bundles do not track inventory by location, but by overall stock.
- There are hard limits. Fixed bundles can have up to 30 components and dynamic bundles up to 150, with up to 2000 units per component. Bundles cannot contain other bundles, and if a component's SKU changes you must delete and recreate the bundle.
What the pages do not say is just as useful. The Shopify Bundles page does not describe what happens when a component runs out mid-order, how shared components behave across several bundles, or how a returned bundle is restocked. Those are the cases to test, and the next sections work through them.
What changes when an app uses Cart Transform
Many bundle apps are built on Shopify's Cart Transform Function. Its reference describes three operations: one that merges several cart lines into a single line representing a bundle of components, one that expands a single line into a bundle of components, and one that overrides the price, title and image of a line. The reference page we read has no section on inventory. It does not describe how stock is counted for a merged or expanded bundle.
The developer page on building bundles fills in part of the picture: the order's lines return the bundle components with a reference to the parent, and if you add a customized bundle with the Cart Transform API and the parent variant cannot be bought without its components, you must set the parent's requiresComponents attribute to true. That page also does not say how inventory is tracked for these bundles.
Two restrictions on the reference page affect planning. On checkout, Shopify rejects the merge, expand and update operations if a selling plan is present, which matters if you sell subscriptions. And the page states a plan restriction for the update operation, development stores or stores on Shopify Plus, without stating one for merge or expand in the part we read.
The practical rule: for any app that builds bundles with Cart Transform, the app's own documentation is where its inventory behavior is stated. Ask it three questions before you install: does availability follow component stock, does a component set to continue selling count, and what is restocked when a bundle is returned.
Sold-out cases, with one example
Take a small candle brand. It sells three components, a candle, a box of matches and a tray, and two bundles built from them.
- Starter Kit: 1 candle, 1 matches, 1 tray.
- Gift Set: 2 candles, 1 tray.
Current stock: 40 candles, 25 boxes of matches, 18 trays. Tracking is on for all three.
| Bundle | Complete sets from stock | Limiting component |
|---|---|---|
| Starter Kit | smallest of 40, 25 and 18 = 18 | trays |
| Gift Set | smaller of 40 ÷ 2 = 20 and 18 = 18 | trays |
One component runs out. Trays are the limit, so both bundles show 18 available while there are 40 candles in the stockroom. Ordering more candles does nothing for availability. The same pattern is why a single cheap component, like a tray or a box, sells out a product line that looks well stocked.
One component is shared by several bundles. The two bundles above both draw on the same 18 trays. Each shows 18 available, but only 18 can be sold in total across the two. If 18 Starter Kits sell, the Gift Set's availability falls to 0, even though 22 candles are left. This follows from Shopify's statement that availability comes from component levels in real time. The pages we read do not say that the app reserves stock for a bundle, so assume it does not and plan around the shared total.
A component is set to continue selling. If trays are set to continue selling when out of stock, the Help Center says they are ignored in the calculation. Availability would then follow the remaining components: 20 for the Gift Set (set by candles) and 25 for the Starter Kit (set by matches), and orders could be accepted for trays you do not have. Leave the setting off on every component that has a real stock limit.
A bundle is returned. The eligibility page says you cannot define a bundle as final sale when you set up return rules, that a bundle's return eligibility is based on whether the individual products are set as final sale, and that bundles cannot be used in exchanges, even for an identical bundle. It does not address restocking. Run one test order, return it and watch which counts change.
A reorder point for each component
A component's reorder point has to include every place it is used. The formula is the usual one: weekly demand multiplied by the supplier lead time in weeks, plus safety stock. For a component, weekly demand is the single sales plus every bundle's weekly sales multiplied by the quantity of that component inside it.
Use these assumptions: the candle sells 20 singles a week, the Starter Kit sells 10 a week and the Gift Set 6 a week. Supplier lead time is 3 weeks and safety stock is one week of demand.
- Candle demand: 20 + (10 × 1) + (6 × 2) = 42 a week. Reorder point: 42 × 3 + 42 = 168.
- Tray demand: 10 + 6 = 16 a week. Reorder point: 16 × 3 + 16 = 64.
A store that counted only the candle's single sales would reorder at 20 × 3 + 20 = 80, which is less than half of the real figure, and would run out roughly a week before the new order arrived, since 80 candles last 80 ÷ 42 = 1.9 weeks against a 3-week lead time. The error is in the demand input, not the formula, so the fix is to rebuild demand from the order export rather than from the product's own sales report.
Our guides to product bundling on Shopify and fixed versus mix-and-match bundles cover which type of bundle to choose. For a pick-your-own set, the stock questions get larger, and our build-a-box guide takes them on.
Build the bundle
For a fixed set of products at one bundle price, the Classic bundle template in Freebies Engine by Log Studio Lab is described as "Fixed products sold together at a bundle price." Check the plan requirements on the pricing page. Before the first sale, set tracking on for every component, write down each component's reorder point from the formula above, and run the test order and return described in the previous section.
Sources
- Shopify Help Center: Product bundles (accessed October 10, 2026)
- Shopify Help Center: Shopify Bundles (accessed October 10, 2026)
- Shopify Help Center: Eligibility and considerations for using product bundles (accessed October 10, 2026)
- Shopify developer docs: Cart Transform Function API (accessed October 10, 2026)
- Shopify developer docs: Build product bundles (accessed October 10, 2026)
- Shopify Help Center: Inventory (accessed October 10, 2026)