How Shopify stock levels are calculated
Published availability = on hand − reserved − open Shopify orders − safety buffer, from the warehouse you map, plus off-site supplier stock and buildable kits at the primary location.
Where it is
Settings for this
- Shopify → What we send → Stock levels — Warehouse → Shopify location mappings, buffer, primary
- Shopify → Settings → When a product runs out of stock — Leave it to Shopify / Stop selling / Keep selling at zero
- Inventory → Warehouse — Which warehouses are off-site supplier stock
BuildTrack works out what Shopify is allowed to sell and tells it. For each mapped warehouse the number published is:
on hand − reserved − open Shopify orders (primary location only) − safety buffer
- Reserved is stock already held for orders and jobs here.
- Open Shopify orders are orders whose invoice is missing or still a draft. They're taken off so an order that hasn't been dispatched can't be sold twice.
- Safety buffer is yours to set per mapping: hold back a few units so the last one is never sold out from under a walk-in customer.
At the primary location, two more things are added:
- Off-site supplier stock: what's free in your off-site (supplier) warehouses is added to the primary location's figure, so the website can sell it.
- Kits you can build: kits set to assemble automatically count what their parts can build.
The figure never goes below zero, and it's sent as an absolute number, not an adjustment, so it can't drift by double counting.
Map a warehouse
- Open What we send → Stock levels.
- Pick a Warehouse and a Shopify location.
- Set the Buffer (default 0) and tick Primary for the location that takes Shopify's orders.
- Press Add mapping.
- Push availability to Shopify sends every linked product's figure now instead of waiting.
A warehouse must be mapped or none of this happens. That's the most common reason a channel looks connected but never updates.
When it updates
A stock change marks the product, and marked products are sent every five minutes. Everything is sent again during the daily full sync (see Is the Shopify sync working?).
What happens at zero
Under Settings → When a product runs out of stock: Leave it to Shopify (default, whatever each listing says), Stop selling at zero or Keep selling at zero (take backorders). It applies from the next push.