Playbook · Multi-location inventory wrong
Shopify multi-location inventory wrong — stock not syncing across locations or POS.
Written for a Shopify DTC owner who runs more than one location (warehouse, retail, pop-up, or POS) and sees numbers that do not match reality: online says 0 while the store has units, POS sells from the wrong location, a transfer sits unreceived, or available never moves after a sale. DIY-first: prove the inventory grid, location selection, transfers, POS vs online available, tracking flags. Distinct from low-stock alert not firing, back-in-stock email not sending, fulfillment-hold email not sending, and POS receipt email not sending. No earnings claims, no invented case studies.
Nico at Latch AI Ops · Sep 7, 2026 · ~12 minute read
Buy the 72-hour install — $997Low stock alertBack in stockPOS receiptMerchant FAQ
01
Multi-location inventory truth — not a low-stock alert, not back-in-stock mail, not hold mail, not a POS receipt.
Several products can look like “inventory is broken.” They do not share a settings panel. This page is only when on-hand / available by location is wrong, or stock does not match across warehouse, retail, and online / POS. A merchant ping that never fires when quantity drops under a threshold is low stock alert not firing. Customer waitlist mail after restock is back in stock email not sending. Customer mail when an order sits on hold is fulfillment hold email not sending. A POS sale receipt that never emails is POS receipt email not sending. This page is only: multi-location inventory wrong / not syncing.
Seven ordinary reasons the grid lies: you are reading the wrong location column, a sale or adjustment hit another location, a transfer was created but never received, POS and online sell from different locations than you think, online oversells while a store still has units, Inventory not tracked or Continue selling when out of stock hides the drop, or a 3PL / inventory app writes late or to the wrong location. Walk them in that order. You already pay for Shopify locations. You do not need another inventory SaaS seat to open the product grid.
02
Prove the inventory grid by location.
Open Products → the SKU → Inventory. Expand every location. Note Available, On hand, and Committed per location — not just the storefront “in stock” badge. Available is what customers can buy; On hand includes committed and sometimes incoming depending on how you count; Committed is already sold but not fulfilled. Screenshot the grid before you adjust anything.
Honest proof: pick one SKU that “is wrong,” write the location numbers on paper, then walk one real sale or transfer and watch which column moves. If nothing moves after a known sale, you have a location or tracking problem — not a theme bug.
03
Wrong location selected at sell, fulfill, or adjust.
Staff adjust inventory on Warehouse A while POS sells from Store B. Fulfillment pulls from the default online location while the units sit in retail. A bulk CSV import writes to one location and leaves the others untouched. The storefront then looks “out of sync” when Shopify did exactly what you asked — at the wrong place.
Fix: Settings → Locations — confirm which locations are active and which fulfill online orders. In POS, confirm the assigned location for that register. When adjusting inventory, select the location explicitly every time. Do not assume “the store” means the same location as “online.”
04
Transfers created but never received.
Creating a transfer moves units into transit / incoming for the destination — it does not put Available on the receiving location until someone marks the transfer received (fully or partially). Ops teams often ship the box, forget the receive step, then swear “Shopify is not syncing.”
Open Inventory → Transfers. Filter for open / in transit. Receive what arrived. If the box never left, cancel or restock at origin instead of inventing a second adjustment that doubles the problem. One transfer, one receive — not a stack of manual “fixes.”
05
POS available vs online available mismatch.
POS and the online store can both be “correct” and still disagree if they sell from different locations. Online may only offer Warehouse stock. POS may only sell Store stock. A unit on the retail shelf will never appear as online Available until it is transferred (and received) to the online-fulfilling location — or until online is allowed to sell from that retail location.
This is not a POS receipt email bug. Receipt silence is POS receipt email not sending. Here you are comparing Available columns after a known POS sale and a known online sale. If POS deducted Store and online still shows Warehouse unchanged, that is expected multi-location behavior — not a sync failure.
06
Oversold online while a store still has stock.
Classic DTC pain: the website sold the last Warehouse unit while Store still has five. Customers see “sold out” or you oversell Warehouse into negative while retail is full. Decide policy: transfer retail → warehouse on a schedule, allow online to sell from retail locations (with pickup or ship-from-store rules), or accept channel-separated inventory and stop calling it a sync bug.
Do not “fix” oversell by turning off tracking for a week. That hides the grid and creates worse math. Fix location routing and transfer cadence instead.
07
Inventory not tracked / Continue selling when out of stock.
If Track quantity is off, Shopify will not maintain a meaningful Available number for that variant. If Continue selling when out of stock is on, the storefront stays buyable at 0 / negative — which looks like “inventory is wrong” to ops and like “in stock” to buyers. Neither setting is a broken multi-location sync; both are explicit product flags.
Turn tracking on for SKUs you care about. Decide Continue selling per product (preorder / made-to-order vs finite stock). Then re-check the location grid. Related merchant alert silence when quantity does drop is still low stock alert not firing— different product.
08
Inventory apps, 3PL, and delayed writes.
A 3PL, warehouse WMS, or inventory sync app may write to Shopify on a schedule, to a single location, or only after ASN receive. Until that write lands, the Shopify grid looks stale. Check the app’s location mapping (which Shopify location receives the push), last sync timestamp, and failed jobs. Do not stack a second inventory app on top “to sync harder.”
If tracking write-back from a 3PL is the whole job, that can overlap operationally with fulfillment tracking pages — but the DIY start here is still: which location does the app update, and when was the last successful write?
09
You tested low-stock alert, back-in-stock, hold, or POS receipt instead.
A Flow / Slack / staff email that never pings when quantity drops is low stock alert not firing. Waitlist customers who never get restock mail is back in stock email not sending. Customers never notified that an order is on hold is fulfillment hold email not sending. POS buyers who never get a receipt email is POS receipt email not sending.
The only honest test for this page: location grid numbers, transfer receive status, which location POS and online sell from, Track quantity / Continue selling flags, and (if used) the last successful inventory app / 3PL write to the mapped location. Anything else is a different product.
10
When to stay DIY vs pay $997.
Stay DIY if you can spend one afternoon on the list above: prove the grid, fix location selection, receive open transfers, align POS vs online selling locations, set tracking flags, check the 3PL write. That is the whole playbook. No agency required. Short answers also live on the merchant FAQ. Related pages: low stock alert not firing, back in stock email not sending, fulfillment hold email not sending, POS receipt email not sending.
Pay for help when the work is not the inventory grid toggle — it is connecting the stack you already have so lead capture is not dying in DMs, inventory and fulfillment exceptions land in a channel you already check, and checkout-ready paths are one live workflow instead of a spreadsheet plus a Slack bot you forgot. That is the Latch AI Ops install.
What $997 USD one-time buys: lead capture on the live store, ops alerts in a channel you already check, and a checkout-ready workflow. 72 hours after collaborator access, not after payment. One live Shopify store. Access plus a delivery thread. Store URL collected at checkout. Not a SaaS seat, not an inventory app retainer, not a 3PL migration, not a brand or theme job.
Other shops’ public ranges, not testimonials: an inventory / ops install typically runs $500–$2,500. A full ops consulting block typically runs $2,000–$5,000. $997 is the cheap end of that work, sold as a 72-hour install of three systems — not as an earnings number or stockout-prevention claim.
What it does not buy: more orders, recovered revenue, perfect inventory forever, or a case study. Latch AI Ops has not published customer proof because there are no customers yet. You are buying the install.
Checkout is on Whop. Operator is Nico. United States offer. You can revoke collaborator access after handoff. We do not take owner passwords.