Skip to content

Stock transfers ​

A stock transfer moves goods from one location to another — warehouse to branch, branch to branch, depot to shop. Instead of quietly editing counts, a transfer deducts from the source and adds to the destination as two tracked movements, so nothing goes missing and both sides balance.

🔷 For managers & admins
Needs the Stock Transfers module (stock_transfers) enabled. Viewing needs inventory.stock_transfers.read; creating and sending/receiving need inventory.stock_transfers.create / .update. Usually a warehouse manager or manager task.
Creating a transfer, sending it, and receiving it at the other end.
The stock transfers list
Screenshot pendingRoute /stock-transfers
Every transfer with its number, source, destination and status.

The lifecycle ​

A transfer moves through three stages (plus cancel):

StatusWhat it means
DraftWritten up, but no stock has moved yet
In TransitStock deducted from the source, on its way
ReceivedArrived and added to the destination — complete
CancelledCalled off; stock is restored if it had already been sent

Step by step ​

  1. On Stock Transfers, select New Transfer.
  2. Choose the From Location (source) and To Location (destination).
  3. Add Items: pick each product, its Unit, the Qty and the Unit Cost. Add as many lines as you need.
  4. Add Notes if useful, then select Create Transfer. It's saved as a Draft — no stock has moved.
  5. Open the transfer and select Send (Deduct Stock). Stock leaves the source immediately and the transfer becomes In Transit.
  6. When the goods arrive, select Receive. Enter the actual quantities received (they default to what was sent) and confirm. Stock is added to the destination and the transfer is Received.
Creating a stock transfer
Screenshot pendingRoute /stock-transfers/create with two item lines added
Pick a source and destination, then add the products, units and quantities to move.

Count what actually arrived

On receipt you can enter a received quantity lower than what was sent — handy when something is damaged or short in transit. The difference stays visible on the transfer so you can chase it up. Every line needs a received quantity — enter 0 for a line where nothing arrived; a blank box is refused so nothing is returned to the source by accident.

Sending, receiving and cancelling ​

  • Send deducts the requested quantities from the source. You can't undo the paper trail, but you can Cancel an in-transit transfer to restore the source stock.
  • Receive adds the received quantities to the destination. Partial receipts are allowed, and any shortfall goes back to the source. You can't receive more than was sent.
  • Cancel from Draft simply voids it; from In Transit it restores the stock that was already deducted.

Both sides show up on the stock movement report as Transfer Out (source) and Transfer In (destination).

Next steps ​

ZeylonPOS Knowledge Base