Stock transfers
A stock transfer moves stock from one place to another: from one warehouse to another, or between two locations of the same warehouse. You prepare it as a draft, ship it (the stock leaves the source and is in transit), then receive it at the destination, all at once or in parts as it arrives.
Before you begin
- The Inventory module must be enabled, with the warehouses and locations involved.
- Items must be catalog products that track stock. See Product catalog.
- Viewing transfers needs
inventory.stock.read. Creating, shipping and receiving them needsinventory.transfer.write. See Permissions.
Key concepts
In transit. Between shipping and receiving, the stock is in transit: it has left the source and is not yet at the destination, so it is counted on neither side. It reappears in stock as you receive it.
Same-warehouse transfers. When both sides are in the same warehouse (for example from STOCK to bin A-01-R1-S2-B3), there is no transit: shipping the transfer receives it at once.
Locations. On each side you can choose a location. Without one, the stock leaves from, or arrives at, the warehouse's default location.
Ledger. Shipping and receiving each record Transfer movements in the stock ledger, with the transfer's number as their document.
Statuses
| Status | Meaning | What you can do |
|---|---|---|
| Draft | Prepared. Nothing has moved. | Edit, Ship, Cancel transfer, delete. |
| In transit | Shipped. The stock has left the source. | Receive. |
| Partially received | Some of the stock has arrived, the rest is still in transit. | Receive the rest. |
| Received | Everything shipped has arrived. | Nothing; kept for history. |
| Cancelled | Cancelled before shipping. Nothing moved. | Delete. |
Draft ──Ship──▶ In transit ──Receive (part)──▶ Partially received ──Receive (rest)──▶ Received
│ └──────────Receive (all)──────────────────────────────────────▲
└──Cancel transfer──▶ Cancelled
Open the transfer list
- Select Inventory in the main menu.
- Select the Transfers tab.
The list shows Number (TR-00001), Status, From warehouse, To warehouse, the number of Items and Scheduled for. Shipped and Received are available as extra columns. Search with Search transfers, filter by Status and save views.
Create a transfer
-
On the Transfers tab, select New transfer.
-
Fill in the form:
Field What it is From warehouse Required. Where the stock leaves from. From Optional location in that warehouse. Default: its default location. To warehouse Required. Where the stock goes. Can be the same warehouse with a different location. To Optional location in that warehouse. Default: its default location. Scheduled for Optional date you plan to move the stock. Notes Free text, for example the carrier. -
Under Items, choose a product or variant and enter the quantity. Select Add an item for more lines. At least one item is required.
-
Select Save. The transfer is created as a Draft and its page opens.
The source and destination must differ: the same warehouse needs different locations. A location must belong to the warehouse chosen on its side.
The transfer page
- Header: the number, status, and the route (from → to), with the actions for the current status.
- Details: From warehouse, From, To warehouse, To, Scheduled for, Shipped, Received and Notes.
- Items: each product with its SKU and the Quantity to move, Shipped, Received and what is still In transit.
While the transfer is a draft, select Edit to change its places, date, notes or items.
Ship a transfer
- Open the draft transfer.
- Select Ship.
Each item's quantity leaves the source location and the transfer becomes In transit (you see Transfer shipped). The Shipped time is recorded.
Shipping is refused if the source does not have enough on hand, with a message such as Only 4 ea of Widget on hand at STOCK, unless negative stock is allowed (see Stock tracking).
For a transfer within one warehouse, shipping also receives everything at once, and the transfer becomes Received.
Once shipped, a transfer cannot be edited, cancelled or deleted. Check the items and quantities before you select Ship.
Receive a transfer
- Open the transfer that is in transit or partially received.
- Select Receive.
- In Receive number, each item still in transit is listed with its In transit quantity. Receiving now is prefilled with everything in transit. Change it to what actually arrived; enter
0for items that have not arrived yet. - Select Receive.
The stock is added at the destination location and you see Stock received. If anything is still in transit, the transfer becomes Partially received: receive the rest later the same way. Once everything has arrived, it becomes Received and the Received time is recorded.
You cannot receive more than was shipped and not yet received on a line.
Cancel or delete a transfer
- Cancel transfer (drafts only): the transfer stays in the list as Cancelled. Nothing has moved.
- Delete (drafts and cancelled transfers only): select the delete button and confirm.
Products, warehouses and locations used by transfers cannot be deleted.
Permissions
| Permission | What it allows | Granted by default to |
|---|---|---|
inventory.stock.read | View stock, movements, transfers, warehouses and locations | Admin, Member |
inventory.transfer.write | Create, ship and receive transfers | Admin |
Tips
- Use transfers, not adjustments, to move stock. An adjustment changes your total stock and needs a reason; a transfer keeps the total and records where the stock went.
- To restock a shop from the main warehouse, create one transfer with all the items, ship it when the truck leaves, and receive it when it arrives. The In transit column shows what is still on the road.
- To put away goods received at a warehouse's
STOCKlocation into bins, use a transfer within the same warehouse: it completes in one step.