Odoo Inventory & Warehouse, configured for how you actually operate
Odoo Inventory is the stock application inside Odoo: locations, routes, replenishment, removal strategies, lots and serials, barcode and landed costs, on one database with Purchase, Sales and Manufacturing. Brainvire configures it, and says where it stops and a WMS starts.
The Odoo Inventory app, the stock management application inside Odoo: warehouses, locations, routes, operation types, replenishment rules, removal strategies, lots and serials, packages, barcode and valuation, on one database.
Operations teams managing inventory across multiple warehouses, or one site where the stock figure stopped matching the shelf.
Warehouse execution, not a tier-one WMS. No slotting engine, no labor-standards module, no control layer for conveyors or robotics.
Small implementations 8 to 12 weeks. Mid-market 12 to 24 weeks. Multi-site rollouts 6 to 12 months.
/ Before you change anything
Does the stock figure in your system match the shelf?
Patterns we see in inventory management processes before a build starts.
The count is an annual event
Counted once a year, adjusted in one lump, and nobody knows when a location started to drift.
Locations are labels, not addresses
Everything sits in one stock location, so a picker still has to ask where an item lives.
Every product is tracked the same way
Nothing is on lots, or everything is. A recall becomes a floor search and shelf life lives on a whiteboard.
Reordering runs on memory
Minimum and maximum levels were typed in at go-live, lead times were never entered, and the buyer works off a separate file.




Trusted by enterprise Odoo teams worldwide












/ The work itself
What does Brainvire change in Odoo inventory management?
Odoo ships a working Inventory application with its key features in place. Almost all of the value is in configuration, not code.
| Odoo default | What Brainvire changes | Why it matters |
|---|---|---|
| Receipts and deliveries in one step | Two-step or three-step flows, each with its own location and operation type | Inspection and staging get somewhere to live |
| Put-away left to the receiver | Putaway rules by product, category or package type, against storage categories that cap a location by weight or count | Stock lands where the system sent it, so the picker finds it |
| One removal behavior for everything | A removal strategy per location or category: FIFO, LIFO, FEFO, Closest Location or Least Packages | The picker gets the right unit, not just the product |
| Reordering rules typed in once | Reordering rules with real lead times, the replenishment report as the buy list, and a replenish-on-order route where stocking is wrong | The buy list is calculated, not remembered |
| Tracking switched off | Lot or serial tracking product by product, with expiration dates where shelf life matters | A recall is a query. Short-dated stock leaves first |
| Barcode not enabled | The Barcode app with GS1 nomenclature, location and product barcodes, and scanner hardware for your floor | Moves are recorded where they happen |
| One warehouse | A warehouse per site, each with a location tree and inter-warehouse replenishment routes | One ledger, so a branch can promise what another holds |
| Stock reserved as soon as an order is confirmed | A reservation method per operation type: at confirmation, manually, or a set number of days ahead | Nothing is held for an order shipping next month |
Feature names follow the Odoo 18 Inventory documentation.
/ AI and automation on the floor
Where do AI and automation earn their place in warehouse operations?
Four places it paid for itself in work we shipped.
Fast movers separated from the long tail
For a Middle East producer of aluminum profile systems, ABC and XYZ analysis split fast movers from slow so procurement could be predicted.
Counts that do not halt the warehouse
For a North American diamond and jewelry brand we integrated RFID with Odoo to track gemstones and loose stones live, with cycle counts keeping the record current.
Incoming stock already spoken for
Odoo reception reports assign units from a confirmed purchase order to the sales orders waiting on them. An urgent customer is served off the truck.
Stock on your floor that is not yours
Odoo holds consignment stock you do not own. For a logistics group we automated 3PL, 4PL and 5PL tracking and billing across sites.
What has to agree with the stock ledger?
Odoo does not replace every system you run. It has to talk to them.E-commerce
Available-to-promise publishes from one stock figure. Reservations, backorders and returns come back as moves, so storefront and warehouse stop disagreeing.
and moreERP Systems
Odoo Inventory often runs beside a finance or analytics system that is staying. Which system owns the stock figure decides every interface after it.
and moreEDI & Marketplace
Advance ship notices become receipts, confirmations become shipment notices, and anything failing a mapping rule waits in an exception queue.
and moreShipping Gateways
Rates, labels and tracking are called at the pack bench, per package, with label sizes set once for your printers.
and moreTaxation
Duty, freight and brokerage arrive after the goods. Landed costs push them onto the receipt, so shelf value includes what it took to land.
and morePayment Gateways
For prepaid and cash-on-delivery flows, payment status decides whether a picking is released to the floor.
and moreOther Integrations
Scanners, label printers, RFID readers, shop-floor systems and BI all touch the stock ledger. Each gets a move type and a reconciliation.
and more/ Delivery
How does an Odoo Inventory implementation run?
Small implementations 8 to 12 weeks, mid-market 12 to 24 weeks, multi-site rollouts 6 to 12 months. A named owner at each stage.
Discovery
We walk the floor, map every site, location and operation type, and list every system that moves stock. You give us an operations owner.
Warehouse locations and rules
Location tree, route steps, put-away and removal rules, tracking policy, barcode nomenclature and valuation are agreed in writing before anything is built.
Build and data
Configuration, integrations and any Studio work, then item master, opening stock, lots and serials loaded to a test database and reconciled to your count.
Pilot and go-live
One site or zone goes live first, with a full count over the cut-over weekend and hypercare through the first replenishment cycle.
/ Scope
What makes an Odoo Inventory scope bigger or smaller?
A typical engagement covers the Odoo inventory management module, location and route design per site, tracking policy, barcode and valuation.
How many warehouses
Each site adds a location tree, its own operation types and a resupply route to keep in step.
How many hands touch a move
One-step receipt and delivery is quick. Three-step receipt with quality control and three-step delivery with a pack bench is not.
How granular the item master is
No tracking is simple. Serial numbers on every unit, with expiry dates, is the largest driver.
What the floor scans with
Company scanners on a known network are straightforward. Mixed personal devices are not.
/ Accelerators
Start from a ready-made Odoo package.
A fixed-price Odoo package built on real projects, so you go live sooner with less risk.
/ Odoo, on the record
Where have we done this before?
Three clients, three shapes of warehouse.
Aluminum profile systems producer
A universal producer of aluminum profile systems for doors, windows and facades. We integrated an Odoo warehouse management solution with SAP BI and used ABC and XYZ analysis to predict procurement.
Read the story →
3CC Holdings
A third-party logistics business that engaged Brainvire to implement Odoo 17: barcode scanning, space allocation by type and volume of goods, real-time inventory tracking and a self-service customer portal.
Read the case →
The Food Bank Singapore
Singapore’s first centrally coordinated food-donation network, serving over 370 member organizations. Brainvire proposed Odoo ERP to centralize its inventory — donation key-in, stock counting and delivery — with volunteers on the mobile app for inventory work.
Read the case →
/ Where the line is
Is Odoo Inventory a warehouse management system?
For execution, yes. For optimization, no. Odoo 18 Inventory runs a warehouse; it does not tune one.
| Capability | Odoo Inventory | A dedicated WMS |
|---|---|---|
| Directed put-away | Rules by product, category and package type, against storage categories with capacity limits | The same, plus slotting that re-ranks locations from movement history |
| Pick sequencing | FIFO, LIFO, FEFO, Closest Location and Least Packages, per location or category | The same, plus travel-path optimization and task interleaving |
| Picking methods | Batch, cluster and wave picking, driven from the Barcode app | The same, plus cartonization and system-directed work queues |
| Labor | No labor standards, no operator performance model | Engineered standards and performance by operator |
| Automation | Handheld and Bluetooth scanners, and mobile computers | Conveyors, sortation, AS/RS and robotics via a warehouse control layer |
| Where it sits | One database with Purchase, Sales, Manufacturing and Accounting | A separate system, integrated to the ERP and reconciled against it |
Choose Odoo Inventory if the warehouse is part of the business, not the whole of it: a few sites, people picking, and stock that must agree with purchasing, production and the ledger. Fishbowl and Cin7 answer that from the inventory side, not the ERP side. Choose a dedicated WMS if you run engineered labor standards, weekly slotting or material-handling automation. NetSuite WMS is built for that, and Odoo integrates to it. Weighing a whole distribution operation rather than one warehouse? Start with Odoo ERP for wholesale distribution.
/ Questions we are asked
Odoo inventory and Odoo WMS questions, answered.
Is Odoo Inventory a WMS, or an inventory module?
Both, up to a point. Odoo Inventory runs warehouse execution: locations, routes, operation types, putaway rules, removal strategies, lots and serials, packages, barcode and landed costs. What it lacks is the optimization layer of a tier-one WMS: slotting that re-ranks itself, engineered labor standards, and control of conveyors or robotics.
Which removal strategies does Odoo Inventory support?
Five: FIFO, LIFO, FEFO, Closest Location and Least Packages. FIFO and LIFO order by incoming date, FEFO by removal date, Closest Location by the alphanumeric location name, and Least Packages by the quantity closest to filling demand. A strategy forced on a product category outranks one set on a location.
Do we need the Barcode app, and what hardware?
You need it if moves are recorded on the floor rather than typed up later. Odoo documents three scanner types: USB scanners at a fixed station, Bluetooth scanners paired to a phone or tablet running Odoo, and mobile computers with the reader built in. GS1 barcodes work once the nomenclature is set.
How does stock value reach the accounts?
Through inventory valuation, set on the product category. Odoo defaults to manual, periodic valuation, where finance posts entries against a physical count. Switching a category to automatic valuation makes every stock move post a journal entry in real time. Landed costs add freight and duty to the receipt they belong to.
How often does Odoo expect us to count stock?
Once a year by default: the next count date on every location is set to 31 December. Where accuracy matters more, the Storage Locations feature lets you set a counting frequency in days per location, and Odoo reschedules from the day the last count was applied. Counts run by location, not by product list.
Can Odoo Inventory run beside an ERP we are keeping?
Yes, and it often does. For a Middle East producer of aluminum profile systems we integrated an Odoo warehouse management solution with the SAP BI the business already reported from, rather than replacing it. The design question is which system owns the stock figure. Everything else follows from that.
What does Odoo Inventory not do?
It does not slot a warehouse for you. There is no engine that re-ranks locations from movement history, no labor-management module with engineered standards, no cartonization, and no control layer for conveyors, sorters or robotics. Those are integration or third-party decisions, and we say so before you buy.
How long does an Odoo Inventory implementation take?
Small implementations run 8 to 12 weeks, mid-market programs 12 to 24 weeks, and multi-site rollouts 6 to 12 months. What moves the range most is the number of sites, how many steps each receipt and delivery takes, whether products are tracked by lot or serial, and how clean the item master is.
What is Odoo Inventory?
Odoo Inventory is the Odoo inventory management system: the stock application of the Odoo ERP suite. Odoo’s documentation describes it as both an inventory application and a warehouse management system. Warehouses, storage locations, routes, replenishment, lots and serials, counts and valuation sit on one database with Sales, Purchase, Manufacturing and Accounting.
What are the key features of Odoo Inventory?
Its inventory capabilities, per Odoo’s feature list, include storage locations and putaway rules, stock removal strategies such as FIFO, LIFO and FEFO, single, batch, cluster and wave picking, reordering rules and make-to-order, lot and serial traceability, expiration dates, inventory adjustments and cycle counts, landed costs and inventory valuation, plus shipping labels from integrated carriers such as FedEx, UPS and DHL. Odoo ERP adds the Purchase, Sales and Accounting side on the same records.
Is Odoo good for inventory management?
It fits well when the warehouse is part of the business rather than the whole of it: a few sites, people picking, and stock that has to agree with purchasing, sales and the ledger. Real-time inventory tracking, reordering rules and multi-warehouse management are standard. If you need slotting, labor standards or automation control, read the comparison above first.
Is Odoo inventory management software free?
Odoo’s One App Free plan lets you run one app, such as Inventory, for unlimited users on Odoo Online. Installing a second app moves you to the Standard plan, which includes all apps; the Custom plan adds Odoo.sh or on-premise hosting and the external API. Implementation services are not included in any Odoo plan. Odoo Community, the open-source edition, also includes Inventory; Odoo’s editions comparison lists the Barcode app as Enterprise only.
How does automated replenishment work in Odoo?
Through reordering rules. Each rule holds a minimum and a maximum quantity per product and location. When forecasted stock falls below the minimum, the rule can trigger purchase or manufacturing orders: a request for quotation for bought products, a manufacturing order for made ones. Automated reordering rules, with the trigger set to Auto, let the scheduler raise those orders on its own, so automated purchase orders arrive as RFQs for a buyer to confirm; with the trigger on Manual, the replenishment report lists them for review first.
How should we set safety stock levels?
We treat the minimum quantity of a reordering rule as the safety stock: the forecasted level that triggers replenishment. We set it from vendor lead times and how unevenly a product sells, not a round number, and review it against the replenishment report. Odoo’s feature page also describes calculating the minimum stock levels and maximum stock levels for a rule from recent sales history and target coverage days.
Can Odoo manage multiple warehouses and locations?
Yes. Odoo lets you set up multiple warehouses, each with its own address and location tree, and create stock moves between them. With a Resupply From warehouse, the resupply route on the product and a reordering rule, Odoo generates inter-warehouse transfers automatically: a delivery from the central warehouse and a receipt at the store, with goods in an inter-warehouse transit location on the way. That is how you automate stock transfers across multiple locations.
What is an inventory adjustment in Odoo?
It reconciles the stock quantities recorded in the database with what was physically counted, because damage, human error or theft make them drift. You enter the counted quantity on the Physical Inventory page, Odoo shows the difference, and applying it records a stock move in the Moves History report. Regular adjustments, and cycle counts scheduled on vital locations, products or lots, are what keep inventory accuracy visible.
How does Odoo calculate inventory valuation?
Odoo supports three costing methods: standard price, average cost (AVCO) and FIFO, configured in Accounting and, optionally, on product categories. Odoo’s valuation guide says the Inventory app tracks inventory value in real time as goods are received and delivered, and its stock report shows inventory levels and value per product, or as of a past date. LIFO is a removal strategy in Odoo, not a costing method.
How current is the stock figure in Odoo?
Real-time inventory visibility in Odoo comes from one rule: every receipt, transfer, delivery and adjustment is a stock move on one database, so on-hand and forecasted quantities update as the work happens. Odoo supports barcode scanning for receipts, pickings and counts on handheld barcode scanners or mobile devices, which is what keeps real-time tracking honest: stock movements are recorded where they happen. The forecasted report then shows on-hand, incoming and outgoing stock for each product, and the stock moves report, which Odoo calls double-entry inventory, traces products from supplier to customer.
What are push and pull rules in Odoo?
Routes are collections of push and pull rules. Push rules move products into storage as soon as they reach a receiving location; pull rules work backward from demand, such as a sales order, and create the transfers needed to bring stock to the output location. Each warehouse sets incoming shipments and outgoing shipments to one, two or three steps, so product movement through quality control, storage, picking and shipping is generated, not typed. Dropship and cross-dock routes extend the same rules across the supply chain.
How does Odoo support demand forecasting?
Odoo’s forecasted report projects on-hand, incoming and outgoing stock and calculates out-of-stock dates from confirmed orders. For a deeper view of demand, our ABC and XYZ analysis for the aluminum producer above split fast movers from slow before procurement was planned. Set from that kind of data, reordering rules can reduce costs tied up in excess inventory while keeping stock on the shelf.
Which Odoo apps share the inventory data?
Sales creates delivery orders from confirmed orders and shows product availability on the order line, Purchase raises purchase orders from reordering rules, Manufacturing consumes components and records finished goods, and Accounting receives the valuation entries. Because Odoo Sales, Purchase and the Odoo inventory module share one database, the ERP works as one centralized system rather than a sync job, and stock levels stay in step with business operations.
How does inventory tracking work with lots and serials?
Tracking is set per product: none, by lot, or by unique serial number, with expiration dates where shelf life matters. Odoo’s traceability report follows each lot from vendor to customer, so a recall becomes a query. Accurate tracking costs scanning effort at every move, which is why we decide it product by product rather than switching it on everywhere.
How do we prepare data for go-live?
Clean the item master first: units of measure, product categories, tracking policy, barcodes and vendor lead times. Opening stock is then loaded per stock location and reconciled to a physical count before cut-over, the build and data step of our Odoo ERP implementation roadmap. Stock control after go-live depends on that count being right.
How do we measure inventory performance in Odoo?
Odoo Inventory reporting includes a stock report with quantities and value, moves history and moves analysis, a stock aging report showing how long items have sat in the warehouse, and inventory dashboards. We agree on the measures for your inventory operations, such as count differences by location, during design, then build them into those reports.
/ Next step
Let’s decide how your stock should move on Odoo.
- A senior architect replies within one business day
- Your details are never shared or sold
- An NDA can be signed before we hear any detail
US +1 (631) 897-7276 · Gulf +971-54-737-4253 · Singapore +65-9086-0319 · India +91-22-6116-3300.









Trusted by 2,000+ brands worldwide
“Brainvire has helped our business grow. We feel like it’s a true partnership. They’re always present. It’s been seven great years, looking forward to more.”
Book a working session
Tell us how many sites you run and where the stock figure goes wrong.