When one branch needs to send stock to another, a stock transfer records exactly what moved, from where, to where, and who handled it. Creating a transfer has no effect on inventory at all — it starts out pending, listing the products and quantities intended to move, so it can be reviewed before anything actually changes.
How it works
Completing a transfer is the one action that touches stock: it decrements the sending branch's quantity and increments the receiving branch's quantity for every line, in a single transaction, and writes a matching pair of movement records — a transfer-out at the origin and a transfer-in at the destination — so the audit trail always shows both sides of the move. A transfer can instead be cancelled before completion, which simply abandons it with no stock ever moving. Once completed or cancelled, a transfer is final and cannot be edited.
- Pick a source and destination branch (never the same branch twice)
- List each product and the quantity to move, in that product's base unit
- Add notes explaining the reason for the transfer
- Track who created, completed, or cancelled each transfer, and when
- Every completed transfer's code is generated automatically for consistent numbering