Odoo inventory management: what it does and how to start
Odoo inventory management records every stock movement between locations and links it to purchasing, sales and accounting. You define warehouses, products and routes once; Odoo then receives, reserves, reorders and values stock from those rules. It works as well as the data behind it, so the first weeks of setup matter most.
Odoo describes its Inventory app as both an inventory application and a warehouse management system. This guide covers what that means in practice, in the order you would configure it, and where the limits are. It is written for the current documentation, Odoo 20.0; check the page linked beside each claim for your own version.
What Odoo inventory management covers
The app follows goods from supplier to shelf to customer. Per Odoo’s documentation, it lets you manage lead times, automate replenishment and configure advanced routes. Its documentation is organised around the areas below, and they make a useful checklist:
| Area | What it covers | Where to read more |
|---|---|---|
| Warehouses and storage | Warehouses, locations, operation types, inventory adjustments, cycle counts and scrap | Warehouses |
| Shipping and receiving | Routes, receipt and delivery steps, putaway, picking methods, delivery methods | Routes and push/pull rules |
| Product management | Product configuration, lot and serial tracking, expiration dates | Product tracking |
| Replenishment | Reordering rules, lead times, make-to-order, the replenishment report | Reordering rules |
| Valuation | Costing methods, landed costs, valuation of stock movements | Valuation cheat sheet |
Because the app shares a database with Purchase, Sales, Manufacturing and Accounting, a reordering rule can raise a request for quotation or a manufacturing order, and the value of your stock follows the costing method set in accounting. If you are still choosing a system, our comparison of Odoo and SAP Business One covers how the two are bought and supported.
Routes: receipts and deliveries in one, two or three steps
The route decision shapes everything else, so it comes first. In Inventory, go to Configuration, then Settings, and in the Warehouse section turn on Multi-Step Routes and Storage Locations. Each warehouse then has two fields on its Warehouse Configuration tab, Incoming Shipments and Outgoing Shipments. According to the routes documentation, these fields are all you set for a one-, two- or three-step flow; you do not write the rules by hand.
| Steps | Receipts | Deliveries |
|---|---|---|
| 1 | Receive and Store | Deliver |
| 2 | Receive then Store | Pick then Deliver |
| 3 | Receive, Quality Control, then Store | Pick, Pack, then Deliver |
The two-step page explains the trade-off. A two-step receipt sends goods to an Input location first, which helps when storage has specific needs such as freezers, refrigerators or locked areas, and the goods are not available for further processing until they reach stock. A two-step delivery picks from storage to an Output location before shipping, and Odoo says it suits FIFO, LIFO or FEFO removal. Incoming and outgoing steps are set independently, so a two-step receipt can sit beside a three-step delivery.
Our advice is to start with one step and add steps only where the building has something physical to match: a receiving dock, a quality bench, a packing table. A step with no physical counterpart is a screen your staff click through for nothing.
Other routes have their own pages: replenish on order (MTO), dropshipping and putaway rules. For busier floors, Odoo documents batch picking, cluster picking and wave transfers. Leave these until the basic flow works.
Lots, serial numbers and expiry
Odoo separates two kinds of tracking. Lots suit goods made or received in volume, such as food or clothing, and help with recalls and expiry. Serial numbers give each unit its own identifier, which helps with after-sales service. The tracking documentation says to enable them under Inventory, Configuration, Settings, in the Traceability section, with the Lots & Serial Numbers option.
Once on, a Lots/Serial Numbers dashboard lists tracked products, and each lot or serial record has Location and Traceability buttons showing where it sits and which operations touched it. Expiration dates have their own page, and FEFO removal is one of the removal strategies, alongside FIFO, LIFO, closest location and least packages.
Track only what you must. Every tracked product adds a scan or a keystroke to each receipt and each pick, so serial-track the items you will actually need to trace to one unit, not the whole catalogue.
Valuation: FIFO, average cost and standard cost
Valuation decides what your stock is worth in the books. The valuation cheat sheet lists three costing methods:
- Standard cost: a fixed unit cost that you update manually.
- Average cost (AVCO): the weighted average of all units.
- FIFO: first in, first out.
They are configured in accounting’s settings and, optionally, on the product category. LIFO is not a costing method here. It appears as a removal strategy, which changes which unit is picked first but not how stock is valued, and the same page notes that LIFO is not permitted under IFRS for valuation. Landed costs, which add freight and duties to a product’s cost, have their own page.
This is a decision for your accountant, not your warehouse manager. Agree the method before the first receipts are booked, because the category carries the setting and every later entry follows it.
Replenishment: reordering rules
A reordering rule keeps forecasted stock between a minimum and a maximum for a product at a location. With the Buy route, a request for quotation is created when the rule triggers; with Manufacture, a manufacturing order is created instead. A rule set to Auto creates the order when the scheduler runs or when a sales order lowers the forecast below the minimum; a rule set to Manual lists the product on the replenishment dashboard for someone to review and order. Lead times have their own page.
Rules only repeat the numbers you give them. A minimum copied from last year’s gut feel creates last year’s problems on a schedule. Set them from real sales and supplier lead times, and review them each quarter; the replenishment report is the place to see them at work.
Barcode scanning
Odoo’s Barcode app lets you assign barcodes to products and packagings and trigger inventory processes by scanning. Its documentation covers receipts and deliveries, inventory adjustments, batch transfers and scanner setup. Scanning matters most where mistakes cost most: receiving and picking.
What to set up first
A sequence that avoids most rework:
- Warehouses and locations. Model the real building: the same zones, racks and bins that your people walk past. Names should match the labels on the shelves.
- Products. Fix names, units of measure, categories and barcodes before importing. Duplicate or vague products are the most common source of stock that “does not match”.
- Receipt and delivery steps. One step to begin with, as above.
- Tracking and valuation. Decide per product which needs lots or serials, and agree the costing method with your accountant, before any opening stock goes in.
- Opening stock. Load it through an inventory adjustment after a physical count, not from last month’s spreadsheet.
- Reordering rules and barcode. Last, once receipts and deliveries behave. Schedule cycle counts so accuracy is checked a little at a time instead of once a year.
Run a pilot on one warehouse or one product family, with the people who will use it, before the rest follows. Noordev trains teams on this before and after go-live; see our Odoo training.
Where Odoo Inventory is not enough on its own
Odoo Inventory is only as accurate as the moves people book. If a pallet moves and nobody scans or records it, the system is wrong, whatever the software. Plan the habits and the training along with the configuration.
Features also depend on your Odoo version and plan, so confirm what your subscription includes on the Odoo pricing page before you design a process around a feature. And if your operation relies on specialised warehouse equipment, ask your implementer for a written list of what will be standard and what will be custom before you commit.
Selling online adds one more design question: which system owns the stock count. Odoo’s own store reads it directly, while an external store needs a sync. We cover the choice in Odoo ecommerce: built-in or external store.
Frequently asked questions
Is Odoo good for inventory management?
It is a full inventory and warehouse application with routes, tracking, valuation and replenishment in one database. How well it fits depends on your processes and data. Check your three or four hardest cases in a demo on your own products before you decide.
Which valuation method should I choose in Odoo?
Odoo offers standard cost, average cost and FIFO. The right one depends on your accounting rules and your products, so make the choice with your accountant before booking receipts.
Does Odoo Inventory work with barcode scanners?
Yes. The Barcode app uses barcodes on products and packagings, and scanners can trigger receipts, deliveries and adjustments.
Can Odoo track lots and serial numbers?
Yes, once the Lots & Serial Numbers setting is enabled. The documentation separates lots, for goods in volume, from serial numbers, for individual units.
Is Odoo Inventory free?
What is included depends on the plan and version you choose, so check the pricing page rather than a blog post.
If you are planning a warehouse setup, talk to us about your products and locations first, or read how we run Odoo implementation and support. We will tell you plainly what Odoo Inventory handles as standard.