Odoo Inventory Locations Explained
Everything is a location
In Odoo, stock does not simply exist. It is always in a location, and it only ever moves between locations.
Your warehouse is a location. A shelf inside it is a location. Your customer is a location. Your supplier is a location. So is a place called Inventory Adjustment, and another called Production.
Every stock movement is a transfer from one to another:
- Receiving goods — vendor location to your stock
- Delivering goods — your stock to customer location
- A stock count correction — your stock to inventory adjustment
- Manufacturing — components to production, finished goods back from production
This is why Odoo’s stock figures always balance. Nothing is created or destroyed. It only moves. If a number looks wrong, something went somewhere unexpected, and you can trace it.
FIGURE 1: STOCK ONLY EVER MOVES BETWEEN LOCATIONS
Vendor
- Where goods come from
Your Stock
- Where you hold them
Customer
- Where they go
Adjustment
- Where corrections come from
The kinds of location
Three categories, and knowing which is which explains a lot.
Internal
Locations you actually manage. Your warehouse, its zones, its shelves. Stock here counts as yours and appears in your valuation.
External
Places outside your business. Vendors and customers. Odoo uses these as the other end of a receipt or delivery.
You do not manage these. They exist so that every movement has two ends.
Virtual
Not physical at all. They exist so movements balance.
Inventory Adjustment — where corrections come from and go to. If a count finds five extra units, they came from here.
Production — components go here when consumed; finished goods come back from here.
Scrap — where damaged goods go.
Why this matters: when you see stock at a virtual location, nothing is wrong. It is how Odoo keeps the books balanced.
FIGURE 2: THREE KINDS OF LOCATION
Internal
- Your warehouses, zones and shelves. This stock is yours and it is valued.
External
- Vendors and customers. The other end of a receipt or delivery.
Virtual
- Adjustment, production, scrap. They exist so every movement balances.
Designing your structure
The important part, because this is hard to change once you have history.
Keep it flat
A structure with six levels looks thorough. In practice it is a burden, because every extra level is extra work on every single transaction.
Somebody has to say which shelf, every time they pick or put away.
Model only what you manage
If your team never picks by shelf, do not create shelf locations. You will get a lot of “where is this item” questions with no useful answer, because nobody has been maintaining the detail.
The test: would somebody actually record this level, every time, forever? If not, do not create it.
Separate stock that behaves differently
Goods you own and goods you hold for a customer should be in different locations. They are valued differently, and one of them is not yours.
The same applies to stock at a subcontractor — still yours, and it needs to be visible as such.
A structure that works for most
For a typical small or medium warehouse:
Stock — the main holding area.
Input — only if you inspect or stage goods before putting them away.
Output — only if you stage goods before shipping.
That is often enough. Add zones only when your team genuinely uses them.
FIGURE 3: A STRUCTURE THAT SURVIVES AND ONE THAT DOES NOT
Maintainable
- Two or three levels
- Only levels the team actually records
- Customer-owned stock kept separate
- Names people recognise
Becomes a burden
- Six levels of aisle, rack, shelf, bin
- Detail nobody maintains
- Everything mixed in one location
- Codes only the consultant understands
Delivery and receipt steps
Your location structure connects to how many steps a transfer takes.
One step. Goods go straight from receipt to stock, or straight from stock to the customer. Right for most small warehouses.
Two steps. Receive then put away, or pick then ship. Useful when inspection or packing is a genuinely separate job done by different people.
Three steps. Pick, pack, ship. For larger operations.
More steps means more locations and more transactions. Choose based on what your team actually does, not on what sounds thorough.
Multiple warehouses
Each warehouse gets its own location tree.
Decide how they relate. Does each replenish independently from suppliers, or does one central warehouse hold stock and supply the others?
Both work. Not deciding produces warehouses that order independently when you meant them to share, or that wait for a transfer that nobody set up.
Internal transfers move stock between them, and those movements are recorded like any other.
What goes wrong
Too much detail. The most common. A structure created during implementation that nobody maintains. Stock figures that are technically precise and practically useless.
Customer-owned stock mixed with yours. It appears in your valuation, and your balance sheet overstates what you own.
Wrong location on a POS or webshop. Sales reducing stock in a warehouse they did not come from. Easy to set wrongly and confusing to diagnose.
Negative stock. Odoo can allow it, and occasionally that is legitimate. Persistent negative stock means goods are physically moving before anyone records it — a process problem, not a configuration one.
Reading stock reports
Two things that confuse people.
Stock at virtual locations is normal. Inventory Adjustment and Production hold balancing entries. Nothing is wrong.
Free to Use versus On Hand. On Hand is what you physically have. Free to Use is what is not already reserved against an order. If they differ, the difference is committed to customers.
Checking your setup
Four checks.
Can your team say where something is? If not, the structure is more detailed than it is maintained.
Is customer-owned stock separate? If you hold any.
Does your POS or webshop point at the right location? Check each one.
Does a stock count match the system? Pick ten items. If they do not match, fix that before anything else — every downstream figure depends on it.
The short version
Stock always lives in a location and only ever moves between them. That is what makes the numbers balance and traceable.
Design the structure flat, model only what your team actually records, and keep customer-owned stock separate.
The most common mistake is a structure detailed enough to look impressive and too detailed for anyone to maintain — which produces precise figures that are quietly wrong.
Stock figures that never quite match the shelf?
Get in touch. We will look at your location structure and your counting habits — the answer is usually one or the other.