Stock does not only come in and go out; it moves within the warehouse and between sites. Internal transfers are how Odoo handles that movement. This piece is about internal transfers between locations.
What an internal transfer is
An internal transfer is the recorded movement of stock from one location to another, within the business's warehouses, rather than goods coming in from outside, a receipt, or going out to a customer, a delivery. Stock moves between locations for many reasons: it is put away from a receiving area to a storage location, it is moved to where it is needed, it is transferred between sites. An internal transfer is how that movement is recorded in Odoo.
Why internal transfers matter for accuracy
Internal transfers matter because Odoo holds stock by location, so the system knows not just how much stock there is but where it is. For that location-level picture to stay accurate, every movement of stock from one location to another has to be recorded. If stock is physically moved but the movement is not recorded as an internal transfer, then Odoo's records say the stock is in the old location when it is genuinely in the new one, and the location-level inventory is wrong. Internal transfers are how the system's picture of where stock is keeps matching the physical reality as stock moves.
Internal transfers within and between warehouses
Internal transfers cover movement within a single warehouse, stock moving between locations inside the same site, and movement between warehouses, stock transferred from one site to another. Both are internal: the stock stays within the business, it just moves location. For a business with multiple warehouses, the transfers between sites are an important part of managing stock across the whole operation, and they are recorded as internal transfers so the stock is correctly accounted for at whichever site it genuinely is.
The discipline: record the movement
The practical heart of internal transfers is a discipline: when stock is physically moved, the movement is recorded as an internal transfer, as a normal part of doing the move. This is the same discipline that runs through inventory accuracy generally, every physical movement recorded, applied to internal movement. A warehouse where people record internal transfers faithfully as they move stock has accurate location-level inventory. A warehouse where stock is moved physically and the recording is skipped or done late has location records that drift from reality, and then nobody can trust where the system says stock is.
Internal transfers and finding stock
Accurate internal transfers have a practical payoff: stock can be found. When the location-level records are kept accurate through faithfully recorded internal transfers, the system can tell anyone where a given stock genuinely is, which is genuinely useful in a warehouse of any size. When the records are not kept accurate, finding stock becomes a physical search, because the system's location records cannot be trusted. Recording internal transfers faithfully is, in part, what keeps a warehouse navigable.
The takeaway
Internal transfers in Odoo record the movement of stock between locations, within a warehouse or between warehouses, as distinct from receipts and deliveries. They matter because Odoo holds stock by location, and the location-level picture stays accurate only if every internal movement is recorded. The practical discipline is to record an internal transfer whenever stock is physically moved, as a normal part of the move. Faithfully recorded internal transfers keep location-level inventory accurate and keep a warehouse navigable. For how we approach Odoo, see our ERP practice.