Stock is tracked per location by default
Unlike Payment, Appointments, or Online Payment Options, Shop inventory does not have a settings_*_location_enabled toggle. Stock is inherently scoped to a branch: every quantity record is stored against a location_id the moment the Multiple Locations custom feature is on.
This makes sense because physical product sitting on a shelf can only be in one place at a time. Selling a yoga mat at the Taipei branch should reduce Taipei's count, not the chain-wide total.
Adjusting and viewing inventory per branch
Go to Admin → Shop → Products, open a product, and use the location selector in the admin header to switch branches. Quantity, low-stock threshold, and recent stock movements all refresh to show only the selected branch.
To record a delivery, breakage, or stocktake correction, use the inventory adjustment for that branch. The customer storefront does the same lookup in reverse: when a shopper is browsing as a Taipei customer, the product page shows Taipei's quantity and hides items that are out of stock there, even if other branches still have units available.
Cross-branch transfers
When one branch runs low while another is overstocked, you can move units between locations rather than reordering. Where supported, a transfer records a negative adjustment on the source branch and a matching positive adjustment on the destination branch, so totals across the business stay consistent.
Until a transfer is completed, the stock still belongs to the source branch — that's what the storefront and POS use to decide whether the item can be sold. If your account doesn't yet have transfer tooling enabled, the same effect can be reproduced with two manual adjustments: one out of the source, one into the destination.
