ClearStock is live on the Shopify App Store.Install free →

← All blogs

Guides8 min read

Ring-fencing stock: holding inventory back for a launch or promo

How to reserve inventory for a launch on Shopify: unavailable states, draft orders, and a T-minus schedule that stops daily sales eating promo stock.

InventoryX is in development and not available today. ClearStock is the live Shopify app.

You planned 250 pairs of the new hiking-sock colorway for launch weekend. Then you teased it on Tuesday, and by Friday morning your regular traffic had bought 63 pairs of the launch allocation at full price — the launch opens with a quarter of its stock already gone and your best weekend muted. That's the problem ring-fencing solves: putting a wall around promo units so ordinary demand can't reach them, then dropping the wall the moment the promo goes live. Shopify has no "reserve" button, but it has everything needed to build one out of inventory states, and the discipline to operate it is learnable in one launch cycle.

The mistake above is the default outcome, not bad luck. Shopify sells from the Available number, and until you fence those units somewhere else, everyday orders — and your own teaser marketing — spend them first.

What "reserving" means in Shopify's model

Shopify tracks each variant per location across a handful of states: Available (sellable), Committed (promised to placed orders), Unavailable (held aside), and Incoming (on the way) — the full map is in the inventory states explainer. Only Available feeds the storefront's buy button. That single fact is the whole mechanism: a reservation is any way of moving units out of Available without moving them physically out of your building.

Shopify's Unavailable side comes with named states, and one of them is practically designed for this: Safety stock, defined in Shopify's own documentation as "inventory that's being held in reserve" (Shopify Help Center, "Adjusting inventory quantities," accessed November 2026). Damaged, Quality control, and Other round out the set. Units in any unavailable state stay on hand — visible in your counts, on your shelf, excluded from selling — and every move into or out of a state is recorded in the adjustment history with the reason attached. For promo fences, the native "Promotion or donation" adjustment reason exists precisely so the record says why 250 pairs vanished from Available on a Tuesday.

Three ways to fence stock, compared

Method How it works Best for Watch out for
Safety stock (unavailable state) Adjust by: move units from your store location into the Safety stock state; reverse on launch day Default for online drops and promos Manual two-step both directions; forget the release and the promo opens short
Staging or retail-only location Transfer units to a location that doesn't sell online; transfer back for launch POS stores splitting floor vs backroom; B2B allocations Transfers take admin time; location strategy is its own decision
Draft orders Create committed draft orders for named allocations Influencer kits, VIP early access, wholesale holds Each draft commits exact units to exact people; useless for anonymous launch demand

The Safety stock route is the workhorse for a straightforward reason: it's the only one that keeps units in place, out of the buy button, with an auditable trail, reversible in a bulk edit on launch morning. The location route earns its complexity when you have a physical retail split — a retail-only location counts in total inventory but not in the online quantity (Shopify Help Center, "Managing inventory across multiple locations and apps," accessed November 2026) — and adding a second location is its own decision. Draft orders shine when the reservation has names attached: each draft order commits the exact units it contains to the exact people on it. These aren't competing systems; most launch calendars use Safety stock for the crowd and drafts for the VIPs.

One anti-pattern to name and avoid: editing the Available count downward and keeping the "real" stock in your head. The shelf and the ledger now disagree by exactly the number you fenced, your counts will eventually "find" those units, and every reorder calculation reading Available — yours, a spreadsheet's, anyone's — now sees a lie. If a unit is held back, it belongs in a state that says so.

The T-minus schedule

Fences fail on timing, not mechanics. Work the launch backward like this:

When Action
T−7 days Fence the launch allocation: Adjust by from store location → Safety stock, reason "Promotion or donation." Record SKU, quantity, date, and purpose in your planning sheet.
T−3 days Build the promo listing or collection, unpublished. Test the buying flow on a draft order so launch day has no surprises.
T−2 days Verify the fence: the Unavailable column shows exactly the planned allocation, and Available shows ordinary stock only. This is the check that catches the PO received after fencing that mixed everything together.
T−0, before announcing Release: move Safety stock → Available (bulk-select on the Inventory page, save). Confirm the storefront count matches the plan, then announce.
T+1 day Reconcile: committed units from promo orders versus the released quantity; return unallocated leftovers to Available and clear the fence note.

Two timing facts sharpen the schedule. Announce after the release, not before — a teaser is an instruction to buy now. And expect the launch-minute spike to behave like checkout, not browsing: Shopify holds inventory only once a customer submits payment information, so carts and abandoned checkouts reserve nothing (Shopify Help Center, checkout settings, accessed November 2026). Units released at T−0 are genuinely at race conditions the moment the email lands.

For brick-and-mortar, the fence is physical before it's digital: launch stock lives on a marked backroom shelf, and POS staff are told the shelf is off-limits until launch morning. The Safety stock state mirrors that shelf in the admin so both counts agree.

How much to fence — and the discipline that keeps the fence honest

How many units the promo needs is sizing math: forecast demand against the promo window and the traffic plan — the flash-sale planning guide owns that calculation, and this article deliberately doesn't redo it. This article's job is the holding mechanism, which means the sizing number arrives as an input and the fence makes it real.

The mechanics above are all two-directional, and the release step is where launches actually die. A fence that nobody releases means the promo opens with the storefront showing zero while 250 pairs sit in a state called reserve — the wall built to protect the stock has sealed it in a vault. So the discipline list is short and non-negotiable:

  • One owner. One person holds the fence record and makes the release. In a two-person store this is a two-minute job; in a five-person store it's the difference between a launch and a puzzle.
  • A written record. SKU, quantity, state, date in, planned release date. The adjustment history already logs the movement; the sheet adds the intent so anyone can execute the release.
  • The T−2 verification. Every time. The classic failure is a replenishment PO received on T−3 that merged into the same shelf and got counted into the fence — T−2 is when that's still cheap to fix.
  • Releases on the calendar. The release step goes into the same calendar entry as the announcement, one minute before, because nobody performs two separate actions at 9 a.m. on launch day reliably.

One honest note on tooling, since reservations are invisible to software that reads Available: InventoryX (in development) reads what Shopify calls available, so a fenced SKU looks understocked to it — which is correct for the storefront and wrong for your buying list. Until the units are released, note the fence in the PO record or your planning sheet so Monday's buying decisions don't try to "fix" a number that a fence created.

Common questions

Does Shopify have a native way to reserve inventory for a promotion? Not as a named feature, as of November 2026. The native building blocks are the unavailable inventory states — Safety stock is documented as stock "held in reserve" — plus separate locations and draft orders for named allocations. Ring-fencing is assembling those blocks on a schedule, which is what the T-minus table above does.

How do I stop daily sales from eating my launch stock? Move the allocation out of Available before anything is announced: Adjust by into the Safety stock state, recorded with the promotion reason. Then verify the fence two days before launch and release it moments before the announcement. Announcing first is what turns a teaser into a pre-launch clearance event.

Does an abandoned checkout hold inventory? No. Per Shopify's checkout documentation, inventory is held only when the customer submits payment information, and a failed payment releases the hold — browsers and abandoned carts reserve nothing (accessed November 2026). That's why launch-minute demand hits your full released stock at once instead of queuing politely.

What's the difference between unavailable and committed inventory? Committed units are promised to orders customers already placed; unavailable units are held aside — damaged, in quality control, or reserved as safety stock — with no order attached. A promo fence lives in unavailable, which makes it reversible with one bulk move; committed stock frees itself only through fulfillment or cancellation. The states piece maps all five.

Can I reserve stock for a specific customer or VIP? Yes — a draft order commits the units it contains to that order, which is exactly right for influencer kits, VIP early access, or a wholesale hold. For larger anonymous demand, fence with the Safety stock state or a staging location instead, because one draft order per shopper isn't a system. Both approaches coexist on the same launch.

Next step

Next step: put the T-minus schedule in your calendar for your next launch today — five entries, one owner, the fence quantity written in the first entry. Before the launch, size the allocation with the flash-sale planning math, and if you're still deciding where launch stock should physically live, the second-location decision comes first.