StrategyInventoryFlowOps6 min read

Shopify multi-location inventory transfers: how to keep stock where it sells

A practical playbook for Shopify multi-location inventory: spot imbalances, decide what to transfer, protect safety stock, and stop running operations from spreadsheets.

Jeshua Leger

Founder, Leger Studio ·

If you sell from more than one Shopify location — warehouses, retail floors, pop-ups, or a 3PL — inventory does not stay balanced on its own. Bestsellers sell out in one place while the same SKU sits idle somewhere else. The usual fix is a weekly spreadsheet export, a gut-feel transfer, and a hope that nobody oversells overnight.

That process works until it doesn’t. Lost sales from local stockouts, cash tied up in dead stock, and warehouse teams chasing ad-hoc Slack messages are the tax of multi-location growth. This guide covers a cleaner operating model for Shopify inventory transfers: what to measure, how to prioritize moves, and how to keep humans in control until the rules earn your trust.

Note: Leger Studio is building FlowOps for this exact job — recommendations and Shopify-native transfers across your locations. It is in development today; the playbook below stands on its own whether you run transfers manually or with tooling.

Why multi-location inventory drifts

Shopify tracks on-hand quantities per location. It does not decide that Location A should ship to Location B. Demand is local: a retail door can burn through a size run while a regional warehouse still looks “fine” on a company-wide average. Without a routine that compares velocity to cover at each location, you only notice the problem after the stockout.

  • Store-wide averages hide location-level stockouts.
  • Incoming POs land in one warehouse and never redistribute.
  • Retail replenishment competes with ecommerce pick paths.
  • Manual transfers lag sales by days, so hot SKUs stay wrong.

The four numbers that matter at every location

Before you move a single unit, build a simple scorecard per variant per location. You do not need a data warehouse — Shopify admin, exports, or an ops app that surfaces the same facts are enough.

  1. On hand (and committed): what you can actually sell now.
  2. Incoming: purchase orders or transfers already in flight.
  3. Velocity: units sold over 7, 30, and 90 days at that location — not a single store-wide rate.
  4. Days of cover: (on hand + incoming) ÷ daily velocity. This is the number that turns raw stock into an operational decision.
Tip: Compare cover across locations for the same SKU. A transfer candidate usually looks like: one location under your cover target while another is far above it — and both roles allow the move (source vs destination).

A weekly transfer cadence that scales past two locations

Ad-hoc transfers create chaos. Pick a cadence and stick to it so warehouse teams can plan labor.

  1. Monday: refresh location × variant cover for your top sellers (start with the 20% of SKUs that drive 80% of units).
  2. Flag under-cover locations below your threshold (for example under 10 days) when another location has surplus above a ceiling (for example over 45 days).
  3. Propose specific moves: variant, source, destination, quantity, and why — not a vague “send more of the blue hoodie.”
  4. Respect safety stock floors and daily transfer caps so one bad rule cannot empty a warehouse.
  5. Create the transfer in Shopify so receiving, transit, and available inventory stay in the system of record.
  6. Review exceptions Friday: what stocked out anyway, what sat unused after arrival, which rules need tightening.

How to choose quantity without guessing

Good transfer quantities are boring math, not intuition. Aim to lift the destination to a target cover window without stripping the source below its own floor.

  • Destination need ≈ max(0, target days × daily velocity − on hand − incoming).
  • Source available ≈ max(0, on hand − source safety floor − committed).
  • Transfer qty = min(destination need, source available), optionally rounded to case packs.
  • Skip the move if the expected impact is tiny — small transfers burn labor for little cover improvement.

Document the inputs. When a store manager asks why twelve units moved instead of twenty, you should be able to point at cover targets and floors — not a memory of last week’s Slack thread.

Policies that keep automation (and humans) honest

Whether a person or software proposes the transfer, policies prevent thrash.

  • Location roles: which sites can be sources, destinations, or both. A 3PL that should never replenish a retail door simply should not appear as a destination for that path.
  • Approval thresholds: auto-approve small routine moves; require sign-off above a quantity or dollar value.
  • SKU scope: start with tagged bestsellers or specific vendors before you open the firehose to the whole catalog.
  • Blackout windows: freeze transfers during counts, remodels, or peak receiving days.
  • Audit trail: every move should record who (or which rule) requested it and which facts matched.
Important: Do not turn on unattended transfers on day one. Run in recommend-and-approve mode until the suggestions match how your team already thinks — then widen automation with caps still in place.

Connect inventory ops to merchandising (including bundles)

Multi-location pain shows up in merchandising too. If you sell kits or packs, component stock has to be honest at every location that fulfills them. A bundle that looks available company-wide can still fail when the short component only exists in the wrong warehouse.

If you use Better Bundles, treat pack components like any other high-velocity SKU in your transfer review: protect cover where the packs actually ship from. For a walkthrough of checkout-native packs, see How to create your first Better Bundles offer in under 15 minutes.

What “good” looks like after 30 days

  • Fewer emergency transfers and fewer “are we out at that store?” messages.
  • Lower stockout rate on top SKUs at retail and regional warehouses.
  • Less capital parked in clearly overstocked locations.
  • A written cover target and safety floor your team can explain.
  • Transfers created as real Shopify transfers — not side spreadsheets that drift from admin.

Where FlowOps fits (in development)

FlowOps is Leger Studio’s multi-location inventory app currently in development. The goal is to watch stock across every Shopify location, surface imbalances with days-of-cover reasoning, and create native Shopify transfers — with rules, approvals, and an audit trail when you are ready to automate.

It will not claim to be live on the App Store until it is. Until then, use this playbook with Shopify’s built-in transfers, and follow the FlowOps page plus the blog for launch updates. If you want product news when new Leger Studio apps ship, subscribe from the site footer or contact page.

Tip: Two locations are enough to start. The payoff compounds as you add doors and warehouses — that is usually when spreadsheet ops stop being realistic.

Newsletter

Want the next one in your inbox?

Subscribe for new posts, app releases, and Better Bundles updates.

Product updates, release notes, and new posts. Unsubscribe anytime. Privacy

Ready to grow your average order value?

Create your first native-style bundle and see the discount at checkout. Every plan starts with a 15-day free trial.