Sourcing Guides

Shopify Bundle Inventory: The Component That Caps What You Can Sell

Shopify bundle inventory has no stock of its own. How components set the ceiling, how one short part oversells the kit, and the weekly check that resets it.

Finished-goods warehouse of a supplier factory verified by B&C Sourcify
The decision this week is whether the kit can stay live, and the number under it cannot answer that alone. A kit has several shelves, a bill of materials and a decision about when to touch which row; the integer in the Shopify store is a conclusion drawn from all three.
We run fulfillment for DTC stores that sell kits every day, and most of the oversell incidents we see start in the gap between that number and the shelves. This is how we read a kit's stock, where its ceiling comes from, and what we check each week so the storefront stops promising boxes nobody can pack.

A kit has no stock of its own

The number under a bundle is not a count of bundles. It is a conclusion drawn from other rows, either from the components the kit is built from or from a stored count somebody entered and has not revisited. That distinction sounds academic until a customer buys the last kit a warehouse cannot physically assemble.
Whether the store derives the number or holds it depends on how the bundle is set up: whether the kit is linked to its parts, and how the deduction is configured. Both arrangements can work. Both can fail in the same direction, because the storefront keeps selling while the physical limit has already moved.
What makes kits different is that the limit is invisible from the product page. A single SKU runs out when its row reaches zero. A kit runs out when any one of its parts does, and the part that runs out first is rarely the one anyone watches. A store can be perfectly accurate about the wrong component and still be wrong about the kit.
The honest way to read a kit's availability is to stop reading the kit and start reading its parts.

Which row moves when a kit sells

Three arrangements are common, and each moves a different row at a different moment.
One arrangement gives the bundle its own stock row. One row goes down when an order is placed and the components are never touched. This is simple and it fails quietly: when a component runs out, the bundle row keeps its number until someone notices, and the notice usually arrives at the packing bench.
A second arrangement deducts the components when the order is placed. This is the arrangement many stores aim for, and it is only as good as its configuration: if the bundle is linked to one component and not the others, the store keeps selling after the unlinked part is gone.
A third moves nothing until the kit is packed. Components sit untouched while orders queue, and stock is corrected at the bench. This keeps the physical count honest and makes the store blind for as long as the queue is long.
We keep a bundle map for every kit we run: the storefront variant on one side, and on the other the warehouse code, the barcode, the unit of measure and the component lines. It is not a form we ask a client to fill in; it is the working document that tells a picker which parts belong to which sale. Once kits ship every day, the bundle map turns into a weekly comparison, and the reconciliation playbook carries that routine after launch (/knowledge-hub/shopify-inventory-reconciliation-china-warehouse).

The ceiling: the smallest component decides the kit

The number of kits a warehouse can ship is not an average; it is a minimum. For each component, divide the usable quantity by the pieces one kit consumes, round down, and the smallest result is the ceiling. Rounding happens per component, because a fraction of a kit cannot be packed. Suppose a warehouse holds 120 of part A and 70 of part B, and one kit uses two A and one B. Part A supports 60 kits. Part B supports 70, but 60 kits consume 60 B and leave 10 B. The ceiling is 60, and the ten extra B units are not spare capacity; they are stock waiting for A.
Those are example numbers, not customer data, and the arithmetic is the easy part. The ceiling has to be calculated per shipping location, because a kit leaves from one warehouse. Adding stock across buildings produces a number no warehouse can ship: the units are real, but they sit in different places, and moving them costs days and freight.
Usable quantity is not the same as the number in a report, because units already promised to open orders and units pulled for a quality check cannot be sold twice. The ceiling we publish has to be built from what can be picked this week, at that location.

How one short component becomes an oversold bundle

The chain is short and every link is ordinary. A component reaches zero at one location. The store number still reads positive, because it is derived from a different component or from a stored bundle count that has not been revisited. A customer orders. The order enters the queue; in our operation that queue has a twelve-hour response window, which measures intake, not how fast stock updates anywhere. A picker walks to the shelf and finds fewer pieces than the pick list asks for.
From there the choices are all bad in different ways. Substituting a similar part may breach the bill of materials and change what the customer receives. Splitting the order across locations adds freight and a second delivery date. Cancelling and refunding costs the sale and, on a marketplace, a metric. None of these is a stock problem by the time it happens; each is the visible end of a count that stopped being true upstream.
Every step has someone who could have seen it first. The warehouse sees the shortage at receiving, before the part is shelved. The store sees it when a sale fails to deduct. The picker sees it at the shelf. Customer service sees it before the refund, while the order is still open. The failure we see most often is not that nobody could see it; it is that each step assumed the one before had handled it.
One habit closes most of the gap: the component count is refreshed when goods arrive, and the storefront limit is changed in the same session. A ceiling recalculated weekly but updated monthly is the same as no ceiling at all.

Where the oversell shows up first

The first trace is usually a negative quantity on one component line. For a kit, that negative is specific: the store sold a combination whose parts were not in the bin in the quantity the BOM required, and the shortfall landed on the component nobody was watching. Clearing the number hides the cause and keeps it.
Short picks are the second trace and the most reliable one, because a picker cannot ship a part that is not there. Split shipments follow, then cancellations and refunds. On their own, none of these proves an oversell. A short pick can also be a location error or a mislabeled carton, and a negative number can be a timing artifact from an order that shipped before its receipt was posted. The question that separates a signal from an alarm is whether the same component fails twice in the same week.
Returns add a second distortion. A returned kit comes back as a finished unit, not as loose parts. If it is graded and returned to the shelf as a kit, the kit count rises while the component count does not, and the next ceiling reads the parts as scarcer than they are. Our returns are graded unit by unit as A, B or C and re-labeled before they go back on sale, and the grade decides whether the unit returns to the kit pool, waits, or leaves it. Without that step, a return can reset the number in the wrong direction.

Assembly at the warehouse or pre-packed by the supplier

Who assembles the kit decides when component stock becomes real sellable stock. If the kit is built in the warehouse, the components are ordinary inventory until packing begins; the ceiling is a true component calculation, and the kit exists only after someone builds it. That model needs a packing step, a kit barcode applied at the bench and a pick list the packer can follow.
If the supplier pre-packs the kit, it arrives as a finished unit with its own barcode, and the components inside are no longer visible to the warehouse. The kit count is then a real count of packed boxes, but a missing part inside a sealed box stays invisible until a customer opens it. That is the trade: fewer steps at the bench, less visibility inside the unit.
Our answer to the second model is a receiving rule. Every inbound unit is opened and checked, and defective pieces, missing parts and wrong specifications are pulled before anything reaches a shelf, so a kit that arrives short one component is caught at the door rather than at the customer's kitchen table. The BOM freeze and the first test order belong to go-live, and that handover file covers them (/knowledge-hub/shopify-fulfillment-onboarding-data-migration-checklist).
A catalog can carry both arrangements, but each kit needs one answer written into the map. A kit assembled at the bench and the same kit arriving pre-packed are two different counts for one product, and the storefront cannot tell which one it is selling.

The weekly ceiling check

The check is small enough to run every week and specific enough to change a number. Start with the component that set the ceiling last week, not with the whole catalog. Confirm its usable quantity at each shipping location, recompute how many kits that location can build, and set the storefront limit to the lower of that number and what the other components allow. Then look at what changed: an inbound that has not been posted, a return that went back to the wrong pool, a substitute that entered production without a note.
At the packing bench we keep a ratio card (one kit takes two of part A and one of part B), and the card carries the bill-of-materials version. When the BOM changes, the card and the system version change in the same session and the old card is destroyed, because a card left on a bench is a second, unversioned bill of materials. The same discipline applies to substitutes: if a permitted alternative is used, the ratio on the card changes with it, and the ceiling is recalculated on the substitute's own stock rather than assumed.
Warehouse services affect the timing of this check more than the arithmetic. Seven days of free storage, consolidation across suppliers, free labeling and a six-point photo check at inbound all affect when goods become countable, so the recompute belongs after arrival, not after the purchase order. Our warehouse work, including the unit-level inbound check behind every component count, is described under B2C fulfillment (/b2c-fulfillment).
Our fulfillment billing separates the fixed handling fee, which steps down as daily volume rises, from the carrier's freight, which is passed through at the carrier's actual charge. We take on fulfillment projects once a store ships five orders a day, and we work within a ceiling of five product categories, which keeps the map small enough to stay accurate.
Send one product link and its component list with stock by location; the reply is a fulfillment cost review that names the component setting the ceiling and what the kit can ship this week (/contact-us). We run this work from Shenzhen, where the group also holds stock in Dongguan and Yiwu, with a Nanning node; contracts and company payments are issued by Dore Technology Co., Ltd.
Free China Supplier Background Audit

Sourcing from China?

Send a Supplier From a Product You Already Sell

We work with stores and importers that are already selling. Pick a product you sell today, or one you have already decided to source, and send us the supplier's name or link. Within 24 hours you get a written report on their official registration, business scope, dishonest-debtor listings, equity freezes and litigation records. Free. We do not pick products or run market research: if the store is not open yet, that comes first.

Get a Free Supplier Background Audit

Sourcing Intelligence from the Factory Floor

Insights & Knowledge

Expert insights on sourcing, manufacturing, and global supply chain — from the team that's been on both sides of the factory floor.