To prevent Shopify overselling during BFCM, track inventory for every sellable variant, leave “Continue selling when out of stock” off unless the item is a genuine preorder or backorder, reserve a small safety buffer, and test each location and bundle before traffic rises. Use the Available quantity—not the larger On hand number—as your sellable stock. Then review negative quantities, unfulfilled orders and app syncs at least twice daily during the campaign.
This matters more than usual in 2026. Adobe’s September 28 holiday forecast expects U.S. online sales to reach $275.1 billion from November 1 through December 31, up 6.7% year over year. Cyber Week alone is forecast to generate $47.5 billion online. A small inventory-setting mistake can therefore become dozens of refunds, delayed orders and support tickets during a short demand spike.
Start with Shopify’s five inventory states
Shopify does not treat every physical unit as immediately sellable. Its current inventory model separates stock into five states:
| State | What it means | BFCM action |
|---|---|---|
| On hand | Everything physically recorded at a location. | Do not use this number alone to promise availability. |
| Available | Units that can still be sold. | Use this as the starting sellable quantity. |
| Committed | Units assigned to placed or reserved orders. | Check old unfulfilled and draft orders before launch. |
| Unavailable | Units held for damage, quality control, safety stock or another reason. | Use a documented safety reserve instead of a hidden spreadsheet adjustment. |
| Incoming | Units on the way from transfers, purchase orders or apps. | Do not sell them as received stock until Shopify records them as Available. |
Shopify defines On hand as Available plus Committed plus Unavailable. Incoming sits outside that total until it is received. For example, a location with 40 units On hand, 8 Committed and 4 held as safety stock has only 28 Available units. An additional 20 Incoming units should not be promised as ready inventory.
Read Shopify’s current inventory-state definitions before changing a workflow, because admin labels and app behavior can evolve.
Audit every “Continue selling when out of stock” switch
By default, Shopify prevents a tracked item from being purchased when its inventory reaches zero or below. The “Continue selling when out of stock” option deliberately changes that behavior and allows overselling.
Shopify says the switch is suitable for cases such as preorders, stock that is genuinely coming soon, products ordered from a supplier after sale, or products whose real quantity is not managed in Shopify. It is not a harmless visibility setting. If it is enabled on a normal stocked item, a BFCM traffic spike can produce orders you cannot fulfill.
Classify every enabled variant into one of three groups:
- Ready stock: tracked, with overselling disabled.
- Preorder or backorder: overselling enabled, with an honest dispatch date and customer-facing explanation.
- Externally managed stock: controlled by a warehouse, supplier or app, with a tested sync and named owner.
Shopify also notes that “Continue selling when out of stock” applies only when inventory tracking is enabled. Multiple locations can change which products the online store treats as available, so audit at the variant and location level rather than checking only the product page. See Shopify’s current out-of-stock selling guidance.
Hold safety stock inside Shopify
A safety buffer protects against simultaneous checkouts, damaged units, picking errors, returns that are not resellable and delayed app updates. Shopify lets merchants move units into an Unavailable state specifically labelled Safety stock. Those units remain On hand but are removed from Available inventory.
A simple starting buffer is:
Safety stock = expected peak-hour orders × inventory-sync delay in hours + handling-risk allowance
Suppose a popular variant could sell 10 units in its busiest hour, the warehouse app can lag by 30 minutes, and you want two extra units for damage or picking errors. A practical starting buffer is 7 units: 10 × 0.5 + 2. This is an operating estimate, not a universal rule. Stores with instant native tracking may need less; multi-channel catalogs with slower feeds may need more.
Use historical sales and the Inventory Reorder Point Calculator to set a better buffer, then compare the result with the SellersNest safety-stock formula. Shopify’s inventory-adjustment guide explains how to move quantities between Available and Unavailable states and record a reason.
Test every fulfillment location
Stock at a warehouse does not automatically guarantee that the online store can sell it. Shopify says locations and fulfillment settings affect order assignment, and order-routing rules can use availability and proximity. A location that holds inventory but does not fulfill online orders might not make that inventory purchasable.
Before BFCM, build a small location test matrix:
- Place one order that a single location can fulfill.
- Place one order containing items stored at different locations.
- Test a product available only at the secondary warehouse.
- Confirm shipping rates exist for app-managed or dropshipping locations.
- Check whether routing creates avoidable split shipments.
- Cancel the test orders and confirm inventory returns to the correct location.
Do not change location priorities during the sale without retesting. Review Shopify’s location and routing overview for the current plan limits and assignment behavior.
Recalculate bundle availability from components
Bundles create a second overselling risk because the same component might be sold individually and inside several offers. Shopify calculates bundle availability from the limiting component and the quantity required for each bundle.
If a gift bundle needs one bottle and two refill packs, with 30 bottles and 18 refill packs Available, the refill packs limit the bundle to nine complete sets. The correct calculation is the lowest whole-number result across all components:
Bundle availability = minimum of each component’s Available quantity ÷ units required per bundle
Shopify warns that a component is ignored in the bundle calculation if inventory is not tracked or if that component is set to continue selling when out of stock. Review every component’s policy before launching a bundle. The Shopify BFCM product-bundle guide covers margin and offer structure; Shopify’s own bundle inventory documentation covers the current availability logic.
Run a twice-daily BFCM reconciliation
A useful reconciliation takes 15 minutes and has one owner per shift:
- Filter for Available quantities at or below the campaign buffer.
- Review negative inventory and variants still selling at zero.
- Check Committed units against open, draft and unfulfilled orders.
- Review Unavailable stock by reason and release only units that are genuinely sellable.
- Check overdue Incoming transfers instead of treating them as received.
- Compare Shopify quantities with the warehouse, POS and marketplaces.
- Pause ads or campaigns for products that cannot be replenished safely.
- Record adjustments with a reason and staff name.
If you need a broader purchasing plan, use the Black Friday inventory-planning guide and the reorder-stock workflow. Those articles estimate what to buy; this checklist controls what Shopify is allowed to sell.
Protect profit when stock runs short
Do not replace a sold-out hero product with an unplanned discount on a low-margin substitute. First calculate the full contribution after payment fees, pick-and-pack costs, extra split-shipment postage, advertising and expected returns.
Use the Shopify Fee Calculator and Profit Margin Calculator before approving a substitute, rush replenishment or backorder incentive. If you lower the price, follow the Shopify compare-at price checklist so the sale display and connected channels stay consistent.
When a product is intentionally backordered, say so before checkout. Show the expected dispatch window, explain whether mixed carts ship together or separately, and send an update if the supplier date moves. Overselling without disclosure creates a service problem; a clearly labelled preorder is a different customer promise.
48-hour BFCM inventory checklist
- Count priority SKUs. Reconcile physical stock with Shopify by variant and location.
- Audit overselling. Disable “Continue selling” except for approved preorder, backorder or externally managed items.
- Reserve safety stock. Move the agreed buffer to Unavailable with a recorded reason.
- Check bundles. Confirm every component is tracked and calculate the limiting quantity.
- Test locations. Place and cancel sample orders for single- and multi-location carts.
- Review integrations. Confirm the warehouse, POS, marketplace and bundle apps update the expected variant and location.
- Set alerts and owners. Name who pauses ads, changes availability and answers backorder questions.
- Save evidence. Export inventory and capture the approved settings before the campaign begins.
The goal is not to keep every product available at any cost. It is to let Shopify sell only what the business can fulfill—or what the customer has knowingly agreed to wait for.
Frequently asked questions
Does Shopify stop selling automatically at zero inventory?
Yes, for a tracked variant when “Continue selling when out of stock” is disabled. If that option is enabled, Shopify allows the variant to oversell.
What is the difference between On hand and Available inventory?
On hand includes Available, Committed and Unavailable units at a location. Available is the portion that can still be sold. Incoming inventory is not Available until it is received.
Can I use Shopify safety stock to prevent overselling?
Yes. Shopify supports a Safety stock reason within Unavailable inventory. Moving units there keeps them On hand but removes them from the sellable Available quantity.
Why does Shopify show a product as sold out when another location has stock?
The stocked location might not fulfill online orders, the variant might be inactive there, or routing and shipping settings might prevent assignment. Check the location and variant configuration.
How does Shopify calculate bundle inventory?
Shopify uses the component that supports the fewest complete bundles after considering the quantity required. Untracked components and components allowed to oversell can be ignored in that calculation.
Should I enable “Continue selling when out of stock” for BFCM?
Only for a deliberate preorder, backorder, made-to-order or externally managed workflow that has accurate customer messaging and a tested fulfillment plan. Leave it disabled for ordinary ready-stock products.
