Complete multi-location
BOPIS
for Shopify.
Shoppers see real-time stock at every store, choose where to collect, and that store is locked into native Shopify checkout — the multi-location BOPIS most stores actually need. And when a cart mixes a pickup-only item with a ship-only one, BopiSafe splits it into real native orders native can't — on every plan.
01 The problem
You run pickup across more than one store — but the storefront wasn't built for it. Shoppers can't see which store actually has an item; native pickup lists locations alphabetically, not by what's in stock or nearby. Pick the wrong store and the order can't be fulfilled. And the moment a pickup-only item shares a cart with a ship-only one, there's no single delivery method that fits the whole order — so checkout stalls and the shopper leaves. You lose the order, and you never see it happen — no error in your dashboard, just a shopper who didn't come back.
Native Shopify checkout error Some items in your cart can only be picked up. Please remove them to continue.
02 The solution
BopiSafe runs the complete BOPIS loop — so every shopper lands at the right store, sees the right stock, and checks out cleanly.
- Stock. Show real-time stock at every store, on the product page and in the cart. Set per-store pickup inventory inside BopiSafe — it writes Shopify's own inventory.
- Pick. An in-cart store picker sorts stores by distance or priority. Out-of-stock and over-capacity stores stay visible but unselectable — never a pickup a shopper can't complete.
- Checkout. When a cart can't check out under one method — a pickup-only item next to a ship-only one — BopiSafe groups it into pickup, local delivery, and shipping lanes — each checks out through its own native Shopify checkout, separate real orders, no draft orders. Most carts never reach this — everything-ships carts stay one clean order.
Which describes your store?
Sharpest for stores with two or more pickup locations — though live per-store stock, the pickup-only marking, and the split all work with a single store too. One question sorts the rest: can everything you sell ship, or do some items have to be collected?
You run more than one store and just want shoppers to see which store has each item, pick one, and have it stick. You get live per-store stock, an in-cart store picker, and that store locked into native Shopify checkout — one clean order, no split.
Fresh, bulky, regulated, made-to-order, or store-exclusive. You get everything above, plus you lock those items to pickup-only or local-only and it's enforced at checkout — not just shown. And a cart that puts one of those next to a shippable item still checks out: two real native orders. That last part is the one only BopiSafe does — and it holds even with a single store.
03 Native mixed checkout vs BopiSafe
Shopify keeps improving mixed-cart checkout, but only in one direction: it lets the shopper choose between methods an item already offers. It never lets you mark a product pickup-only or local-only and hold the cart to it. And Shopify's own mixed-cart split is Plus-only, still in beta. Here's where each option stops, and where BopiSafe fits.
| When the cart… | Shopify native | Other pickup apps | BopiSafe Every plan |
|---|---|---|---|
| Every item can ship | ✓ | ✓ | ✓ + store choice |
| Shoppers need to see stock by store and choose where to collect | — | ✓ | ✓ |
| A pickup-only item next to a ship-only item | — won't check out | — | ✓ two real native orders |
| You mark an item pickup-only or local-only | — buyer choice only | — display only | ✓ enforced at checkout |
Most stores just need stock and a locked-in store
If everything you sell can ship, you may not need cart splitting at all — what you need is shoppers seeing live per-store stock, choosing where to collect, and that store sticking through checkout. That's the core of BopiSafe, on every plan: it doesn't fight native checkout, it completes it.
What only BopiSafe handles
The cart no one else clears: a must-pickup (or must-local-delivery) item in the same cart as a must-ship item. Native refuses it; draft-order apps fake it with orders that aren't really native. BopiSafe groups it into separate native orders — on every Shopify plan, today — and locks the chosen store through checkout so nothing gets rerouted. You set the menu — pickup-only, local-only, or any mix, per product, per collection, or shop-wide — and the shopper orders from it. You set all of it in the BopiSafe Hub: one toggle per product, no delivery profiles to wire up and no theme code. That's the line Shopify won't cross: it optimizes for buyer choice, so it won't give you the power to restrict a product to one method. BopiSafe does.
Built on Shopify's own checkout
Every split group flows through real native Shopify checkout — no draft orders, no custom checkout. Shop Pay, Apple Pay, and every native payment method work on each group; pickups are real native pickup orders, so Shopify's own "Ready for pickup" notifications and POS pickup management keep working — one less app to run. Your analytics stay clean: each group is a real Shopify order with native attribution, no reconciliation.
04 Capabilities
Four things multi-location BOPIS needs — and the combination only BopiSafe brings together.
- 01 Real-time stock at every store
- Live per-store stock on the product page and in the cart. Set per-store pickup inventory inside BopiSafe — it writes Shopify's own inventory, so there's no double entry.
- 02 In-cart store picker
- Sort by distance or priority. Out-of-stock and over-capacity stores are visible but unselectable — no false promises to shoppers.
- 03 Split checkout for mixed carts
- Detect the cart no single method can carry — a pickup-only item alongside a ship-only one. Group it into pickup, local delivery, and shipping lanes. Each lane runs through real native Shopify checkout — no draft orders.
- 04 Never oversell a pickup slot
- Set a daily pickup limit per store. When a store hits its cap, the picker shows it as unavailable — no shopper books a pickup it can't fulfill.
05 How it works
From product page to checkout, in one flow. No theme rewrites. No replatforming. Install and BopiSafe runs at the storefront layer.
Step 01 · See — stock at every store
On the product page, above Add to Cart, shoppers see live pickup availability — which store has it and when it's ready. Change store compares stock across your locations. No more picking a store that can't fulfill.
Step 02 · Pick — choose a store in the cart
For pickup, an in-cart store picker lets the shopper choose where to collect, sorted by distance or priority — out-of-stock and over-capacity stores stay visible but can't be selected, and the chosen store is what gets locked into checkout. Local delivery works differently: there's no store to pick — the shopper enters an address and chooses a delivery time, and BopiSafe routes the order to a store automatically from stock and that time (an out-of-area address falls back to in-store pickup).
Step 03 · Checkout — split when no single method fits
When a cart can't check out under one method — a pickup-only item next to a ship-only one — BopiSafe groups it into pickup, local delivery, and shipping lanes — and anything sold out at the chosen store is held out of that checkout (greyed, still in the cart, never dropped), so the shopper can switch to a store that has it or check out the rest. Each lane flows through its own native Shopify checkout: separate real orders, no draft orders. Carts where everything ships skip this entirely — one clean order.
06 Common questions
The ten things merchants ask before installing.
Does BopiSafe use Shopify's own pickup, or a workaround?
Shopify's own. BopiSafe runs on Shopify's native local pickup — real pickup per location, writing Shopify's own inventory, so there's no parallel stock system and no double entry. What BopiSafe adds is the multi-location layer Shopify leaves out: real-time stock at every store, an in-cart store picker sorted by stock and distance, and split checkout for the cart no single method can carry — a pickup-only item next to a ship-only one. Every group still checks out through native Shopify checkout as a real order — no draft orders, no custom checkout. Complete multi-location BOPIS, built on the pickup, inventory, and checkout your store already runs.
Does Shopify's new ship and pickup in one order replace BopiSafe?
No. That's a Plus and Enterprise feature preview that lets a shopper mix shipping and pickup in one order — useful, but it needs shipping enabled (it can't run a pickup-only store) and adds no real-time per-store stock, no in-cart store picker, and no capacity limits. It's order plumbing, not the shopper-facing experience. BopiSafe is where shoppers see which store has each item and choose where to collect — on every Shopify plan, not just Plus. The two work together; one doesn't replace the other.
Will BopiSafe work with my theme?
Yes. BopiSafe runs in Universal mode on any Online Store 2.0 theme. No theme code edits. The Hub runs a compatibility check after install — and our technical support calibrates theme compatibility with you, real setup help, not a docs link.
Do Shop Pay and discounts still work after the cart splits?
Yes. Each split group flows through native Shopify checkout, so Shop Pay, Apple Pay, and every native payment method work on every group. Discount codes without a minimum work normally; codes with a "minimum $X" check each group's subtotal after the split, so a very large mixed cart may not trigger them.
How long does setup take?
About 10 minutes for the 4-step Hub: connect locations, install theme extension, set pickup rules, go live. Optional capacity caps take another 2 minutes if you use them.
Do I need to be on Shopify Plus?
No. BopiSafe works on every Shopify plan from Basic up. The mixed-cart split, store picker, and capacity guard all use standard Shopify APIs. This matters because Shopify's own mixed-cart split is Plus-only and still in beta — so for most non-Plus stores, native can't split a mixed cart at all. BopiSafe's split works on every plan, today.
Do I need to use cart splitting?
No. If everything you sell can ship, most stores just use BopiSafe for real-time per-store stock, an in-cart store picker, and locking the chosen store into native checkout — on every plan. The cart split only kicks in when a cart actually mixes pickup-only and shipping items; if your carts never mix, you never see it.
What happens if a store goes offline mid-day?
BopiSafe reads live per-store stock and capacity. The moment a store sells out of an item, hits its daily pickup cap, or otherwise can't fulfill, the picker shows it visible-but-unselectable — so no shopper picks a store that can't complete the order, and the checkout guard backstops anything that slips through.
Can I set fulfillment methods per product or collection?
Yes. Toggle pickup, local delivery, and shipping in any combination — per product, per collection, or a shop-wide default. Rules live in the BopiSafe Hub, not your theme.
How is BopiSafe priced?
From $19.90/month (Growth). 14-day free trial on any plan. Billing runs through your Shopify account — no separate payment setup. See the Shopify App Store listing for plan details.
Run multi-location BOPIS that actually checks out.
14-day trial on any plan. About 10 minutes to set up.