01 — Branch stock
Set stock at branch level, always.
Multi-site stock should always live at branch level. A central total is a rollup of branch totals — never the source of truth. Anything else creates conflicts the moment two branches sell the same item at the same time.
- Stock-on-hand recorded per branch, per product, per variant.
- Central views are rollups; never set stock at the rollup level.
- Branch managers can see their own stock; central can see all.
- Reorder thresholds set per branch — speed of sale differs.
02 — Transfer states
A transfer has four states. Use all of them.
A transfer is not one event — it is four. Request, approve, dispatch, receive. Each state has a person responsible and a check to perform. Skip any of them and the system loses track of where the stock actually is.
- Requested — branch A asks for stock from branch B (or central).
- Approved — branch B (or central) confirms the transfer.
- Dispatched — stock leaves branch B; it is now in-transit.
- Received — branch A receives; stock is now on-hand at branch A.
The in-transit step is the one most transfer workflows skip — and the reason multi-site stock numbers drift. Treat the road as its own location and the maths always balances.
Stock on hand: 42 → 30
Holds 12 units until received.
Stock on hand: 8 → 20
-
1
Requested
Destination asks for 12 units. Source sees the request.
-
2
Approved
Source manager confirms availability. Lock applied.
-
3
Dispatched
Stock leaves source → moves to in-transit.
-
4
Received
Destination scans in. Variance flagged if any.
- Branch stock is always the source of truth; central views are rollups.
- In-transit is its own virtual location — stock is counted but unavailable to sell at either end.
- Receive is a check, not a formality — variance is recorded with a reason.
03 — In-transit
Treat in-transit stock as its own location.
During the gap between dispatch and receive, stock is in neither branch. Treating it as a virtual location — “in-transit” — means it stays counted but is not available for sale at either end. Without that, in-transit stock either disappears or is sold twice.
- Set up an in-transit location per transfer route.
- Stock moves from branch B → in-transit on dispatch.
- Stock moves from in-transit → branch A on receive.
- Reconcile any discrepancy at receive — do not paper over it.
04 — Receiving
Receive against the transfer, not by gut.
Receiving stock without checking against the transfer document is how variance creeps in. The receive step should be a structured check: what was sent, what arrived, what is missing or damaged, and what needs to be raised.
- Receive by scanning against the transfer document.
- Flag missing, damaged or extra items at receive — not later.
- Investigate variance over threshold; pattern reveals process gaps.
- Close the transfer only when both branches agree it is complete.
05 — Transfer rules
Decide when to transfer vs when to reorder.
Not every shortage should be solved with a transfer. Sometimes it is faster to reorder, sometimes it is cheaper to transfer. Setting an explicit rule — by value, distance or sell-through — turns each decision from a debate into a check.
- Set a rule for when transfers are preferred (by value, distance, urgency).
- For low-value items, reorder may be cheaper than transferring.
- For seasonal stock or end-of-line, transfer is often the right call.
- Review the rule periodically; cost and lead times change.
06 — Reporting
Report transfer activity at branch and group level.
Transfer reports tell you a lot about how a group operates — which branches over-order, which under-order, which routes are inefficient. Build the reports and read them monthly; the patterns are usually clear.
- Transfer volume in and out per branch.
- Transfer cycle time (request to receive) per route.
- Variance rate per route — where reality and the system disagree.
- Compare transfer cost vs reorder cost where both are options.
SUMMARY
The shape of it.
Branch transfers work when each step is a documented decision and in-transit stock is a real location, not a guess. Most multi-site groups already do the moves — they just lose track of them. This walkthrough is the structure for not losing track.