Shopify offers in-store pickup for an order only when one location has every item in the cart in stock, or when a store transfer can consolidate the items at one location first. This is a deliberate fulfillment rule: pickup is a single hand-off at a single counter, so the platform will not promise a pickup that no single store can actually complete.
That rule is sound. The trouble starts when shoppers can’t see which store satisfies it until checkout — which is where real-time per-store stock and an in-cart store picker change the outcome.
Why does Shopify require the entire order in stock at one location?
A pickup is one customer walking up to one counter to collect one order. If half the order lives at your downtown store and half at the mall store, neither counter can hand over a complete order, so Shopify suppresses the pickup option rather than offer a promise it can’t keep.
The Shopify Help Center documentation on in-store pickup states the rule plainly: pickup is available when a location has the entire order in stock, or when stock can be transferred to that location. There is no native concept of “pick up these two items here and those two there.”
This is easy to miss because it contradicts what the product page seems to say. A shopper sees “in stock,” adds two items, reaches checkout, and pickup has quietly vanished — not because the items are gone, but because no single store holds both.
The rule is protecting that shopper from the worst BOPIS experience there is: the wasted trip. It just protects them silently, after they’ve already committed mentally to picking up.
How do store transfers let a location offer pickup it can’t fulfill yet?
A store transfer moves units between your own locations so one store ends up holding the complete order. Shopify can offer pickup at a store that doesn’t currently have everything, on the expectation that the missing units are transferred in before the customer arrives.
Closer source locations are prioritized, so the system reaches for the nearest store that has the missing item rather than the warehouse three states away. That keeps the transfer fast — but “faster” is relative to a same-store pickup that needs no transfer at all.
Here is the trade-off most merchants don’t price in until it bites:
| Pickup type | What has to happen | Realistic ready time |
|---|---|---|
| Same-store pickup | Staff pick and stage from on-hand stock | Hours, often same-day |
| Transfer-backed pickup (nearby source) | Pick at source → move between stores → receive at pickup store → stage | Next-day to a few days |
| Transfer-backed pickup (distant source) | Same, over longer distance, often batched into a scheduled run | Several days |
A transfer is genuinely useful — it lets you offer pickup at a customer’s preferred store even when that store is short a unit. But it converts a same-day promise into a multi-day one, and if the pickup-ready estimate doesn’t reflect that, the customer shows up too early and your staff field the complaint.
Why does the “online” stock number hide this problem?
The headline availability on a Shopify product page is the “online” inventory — a rollup of every location you’ve flagged to fulfill online orders, not a per-store count. We unpack the distinction in Shopify location inventory vs online inventory.
The rollup and the pickup rule answer different questions. The rollup answers “can someone, somewhere, buy this?” The pickup rule answers “can one specific store hand the whole order over?” A cart can pass the first and fail the second.
So a two-item cart can read “12 in stock” online — six at Store A, six at Store B — while no single store holds both items the shopper actually chose. Pickup is suppressed, the shopper is confused, and nothing on the page warned them.
Retail inventory records are widely documented as drifting out of sync with what’s physically on each shelf, which only widens the gap between what the rollup implies and what any one store actually holds. The rollup is a marketing-display total; for a pickup promise, you need the store-level truth, surfaced before the shopper commits.
How real-time per-store stock guides shoppers to a store that can fulfill
The fix isn’t to override Shopify’s rule — the rule is correct. The fix is to give the shopper the information the rule depends on, early enough to act on it.
That means two things working together: real-time per-store stock so the shopper sees which of your stores actually holds each item, and an in-cart store picker so they choose where to collect while they’re still in the cart, not after pickup has silently disappeared at checkout.
Shopify’s native answer to “does my store have this?” exists, but it’s one link deep — the product page shows one store plus a “Check availability at other stores” link, unsorted, and that detail never travels into the cart. We cover that link’s limits in Shopify check availability at other stores.
Pulling per-store stock forward into the cart, and ranking stores so the ones that can fulfill the whole order surface first, is what turns this from a checkout surprise into a guided choice. The mechanics of that picker are in the Shopify store picker guide, and the live-stock display side in show per-store stock for pickup.
One pickup store per checkout — by design
When a shopper picks a collection store, the order is built around that one store. Items the chosen store can’t fulfill are held out of that pickup rather than forcing a broken cross-store hand-off; they can run a second pass or ship instead.
This matters because it mirrors Shopify’s own rule instead of fighting it. There is no auto-splitting a single pickup across two stores running in parallel — a pickup is one store, one order, one counter. Keeping that invariant is what makes the pickup promise reliable.
If a cart also contains ship-to-home items, the order is grouped by fulfillment type and each group runs through its own native Shopify checkout — real orders, not draft orders. The pickup group is where the store picker lives. That mixed-cart flow is covered in the multi-location BOPIS guide.
When should you rely on store transfers versus same-store stock?
Transfers are a tool, not a default. Lean on them deliberately:
- Use a transfer when a customer’s preferred store is short one unit of an otherwise-available order, and you’d rather keep the order at that store than lose it. Set the pickup-ready estimate to reflect the move.
- Steer to same-store when speed is the selling point. If your pitch is “ready in two hours,” routing through a transfer quietly breaks that promise. Surface the in-stock store first so the fast path is the default.
- Reconsider eligibility for a distant location that always needs a transfer. Shopify allows up to 20 pickup locations, but a store that can never fulfill on its own without a multi-day move is a weak default even when it’s technically eligible.
The shopper-facing rule of thumb: the store that has everything on-hand should always rank above the store that needs a transfer, and the over-capacity or out-of-stock store should stay visible-but-unselectable rather than disappear. How that ordering works in practice is covered in Shopify pickup nearest location, and the capacity side in pickup location capacity management.
Consider a 3-location apparel store doing 5,000 orders a month, a tenth of them pickup. If even a fraction of those pickups silently route through transfers because shoppers picked the wrong store, the “ready in two hours” promise becomes “ready Thursday” — and the support load and counter friction follow. Surfacing per-store stock up front is what keeps that fraction near zero.
Why this rule is worth designing around, not bypassing
BOPIS is large and growing. US buy-online-pickup-in-store sales reached roughly $154.3 billion in 2025, about 10.5% of e-commerce, and are projected near $177.9 billion in 2026, per Capital One Shopping research. The same research notes 77% of shoppers use BOPIS partly to see the item before committing — which only works if the item is actually at the store they chose.
Store-level visibility is also a conversion lever, not just a safeguard. Shoppers are roughly 5× more likely to buy online when their nearest store shows an item as unavailable, rather than abandoning entirely, per RetailWire’s discussion of real-time stock visibility. The honest answer — “not here, but available to collect at this other store, or ship it” — keeps the sale.
The one-location rule is the platform doing the right thing. Your job is to give shoppers the per-store stock they need to land on a fulfillable store the first time, and to reserve store transfers for the cases that genuinely need them.
Written by the BopiSafe team — we build BOPIS infrastructure for Shopify merchants.
Next steps
- See how the in-cart picker ranks stores by stock and proximity in the Shopify store picker guide
- Learn why the “online” number misleads pickup decisions in Shopify location inventory vs online inventory
- Map the full multi-location flow in the multi-location BOPIS guide, or start from the BOPIS setup walkthrough
- Or install BopiSafe to surface real-time per-store stock and guide every shopper to a store that can fulfill the whole order
Have a pickup-fulfillment edge case this didn’t cover? Email support@bopisafe.com — we read everything.