Make an internal transfer¶
An internal transfer neither brings goods in nor sends them out: it moves them from one of your locations to another. Nothing changes in your total quantities, everything changes in how they are spread — and in what the dashboard shows you location by location. This guide follows it from the draft to the moved batches.
Prerequisites¶
- The Inventory module activated for your organization
- The
STOCKS.OPERATION.WRITEpermission - An operation type of the Interne (internal) category in the current warehouse
- Two internal locations, and stock in the one you start from
Steps¶
1. Open a new operation¶
On the Dashboard, the Record an internal transfer shortcut looks in the current warehouse for the operation type named Internal transfers and opens New operation on it. Without that type: No "Internal transfers" operation type in this warehouse.
2. Fill in the header¶
A transfer asks for no partner: nobody from the outside is involved. What remains is the Source document, possibly Deferred and its Planned date, then:
- Source location — necessarily internal;
- Destination location — necessarily internal, and different from the first.
Three refusals to know
- "You must pick an internal location as the source location" and its counterpart on the destination: a virtual location has no business in a transfer.
- "The source location must differ from the destination location"
- "A parent location cannot serve as the source of an operation" and "A parent location cannot serve as the destination of an operation": you transfer between locations that truly hold the stock, not between summary views.
The locations offered
The drop-down list offers the internal locations of the warehouse of the operation type, and the virtual locations of the organization — which the transfer will refuse. To move goods to another warehouse, count on an exit and an entry rather than a transfer.
3. Add the item lines¶
Add opens Add an item line. A transfer asks for neither cost nor price — the goods keep the value of their batch:
- Item — mandatory;
- Quantity — mandatory, strictly positive;
- Batch to use — optional; the search offers only the batches available for that item in the source location, and the table shows To be determined as long as you designate none.
4. Validate then execute¶
Create saves the draft and gives it its reference, Validate moves it to the Operations to perform, Execute truly moves the stock — or Save & Execute to chain them. The confirmation announces what is about to be written: The stock movements are recorded.
The starting stock is checked on execution
The refusal names the item and both quantities: "The stock of item Sugar 1kg is exhausted. In stock: 12.0 / To withdraw: 20.0". Nothing is moved as long as the line is not covered.
5. Read what the transfer wrote¶
For each line, the execution takes the quantity out of the source location and adds it to the destination location, batch by batch: with no Batch to use designated, the module takes the batches of the starting location in FIFO order, the oldest first, and writes one movement per batch started. Each batch keeps its cost: a transfer revalues nothing.
Both locations are then recomputed, and their parent locations with them — this is where the move becomes visible on the dashboard.
Where to read it again
The Movements screen lists each movement with its Source location, its Destination location, its Quantity and its Cost; the Batches used action says which batches it drew from. The Batches screen offers, on its side, Stock by location, which shows where a given batch now sits.
What next?¶
Changelog¶
- 1.0 (August 18, 2026): document created.