Real-time stock at every store
Live per-store stock on the product page and in the cart. Set it in BopiSafe and it writes Shopify's own inventory — no double entry.
live per storeSplit stock and pickup-only items quietly kill carts at checkout — sales you never see. BopiSafe makes every one of them go through, on every plan.
A shopper can't tell which of your stores has the item. Shopify lists locations alphabetically, not by who can fulfill — so they book the one that can't, and you find out when they're standing at the counter.
Or a pickup-only item sits beside a ship-only one, and no delivery method covers both. Checkout stalls. Either way the sale is gone, and nothing in your reports says why.
Some items in your cart can only be picked up. Please remove them to continue.
Every shopper lands at a store that can actually fulfill, and every cart checks out — even the mix native drops.
Live per-store stock on the product page and in the cart. Set it in BopiSafe and it writes Shopify's own inventory — no double entry.
live per storeSorted by distance or priority. Out-of-stock and full stores stay visible but unselectable — no pickup a shopper can't complete.
distance + stock sortMark any product or collection pickup-only or local-only. Shopify Functions hold the cart to it at checkout — most apps only show a label, and the warehouse can still ship it.
only BopiSafe enforcesA pickup-only item next to a ship-only one has no single method — so it dies in native checkout. BopiSafe places each as its own real native order. On every plan.
on every planYour stock sits in more than one place: the warehouse it ships from, the stores it's collected from. One question sorts the rest:
Hazardous, assembled in store, store-exclusive, live, bulky, age-restricted, made-to-order, or fresh. You lock those items to pickup-only or local-only, enforced at checkout — and a cart mixing one with a shippable item still checks out, as two real native orders. That last part is the one only BopiSafe does. The store picker, the pickup time and the store-lock all still apply.
You just want collection to work properly. Native pickup can't tell a shopper which store really has it — "Pickup available" also counts stock that would have to be transferred in first — and there's no way to book a time. BopiSafe puts the store picker and pickup time in the cart, greys out the stores that don't have it and the slots that are full, and locks that store into checkout. The only choice a shopper can make is one you can keep.
Live pickup availability per store, right above Add to Cart — no more picking a store that can't fulfill.

Choose a store, sorted by distance. Out-of-stock and over-capacity stores stay visible but can't be picked, and the chosen store is locked into checkout.

A mixed cart splits into separate native Shopify checkouts — each group becomes a real Shopify order. Everything-ships carts skip this and stay one clean order.

Shopify lets the shopper choose between methods an item already offers. It never lets you mark a product pickup-only and hold the cart to it — and its own mixed-cart split is Plus-only, still in beta. Here's where each stops.
| When the cart… | Shopify native | Other pickup apps | BopiSafe Every plan |
|---|---|---|---|
| Every item can ship | ✓ | ✓ | ✓ + store choice |
| Shoppers need stock by store and a place 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 |
Built on Shopify's own native pickup and checkout — Shop Pay, native orders, POS pickup, and "Ready for pickup" notifications all keep working.
Something not covered? We calibrate theme compatibility with you before you commit — real setup help.
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 support calibrates theme compatibility with you — real setup help, not a docs link.
No. BopiSafe works on every Shopify plan from Basic up. 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 does, on every plan, today.
No. The split fires only on a cart that no single delivery method covers — a pickup-only item next to one that can only ship. If everything you sell can ship, BopiSafe still gives you real-time per-store stock, an in-cart store picker, and the chosen store locked into checkout, on every plan.
Yes. Each group flows through native Shopify checkout, so Shop Pay, Apple Pay, and every native payment method work. Discount codes without a minimum work normally; codes with a "minimum $X" check each group's subtotal after the split.
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.
From $19.90/month, with a 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.
Trusting a checkout app is a big ask — see who built it, why, and where the edges are.