Odoo Inventory is one of the most powerful modules in the Odoo ERP suite. It serves as both an inventory management application and a warehouse management system (WMS). It provides complete visibility and control over your stock, from the moment goods are ordered to the moment they reach the customer.
What is Inventory?
Inventory refers to the stock of goods, materials, or products that a business holds for the purpose of resale, manufacturing, or consumption.
Effective inventory management means knowing:
- What you have on hand
- Where it is located
- What is coming in (receipts)
- What is going out (deliveries)
- What is below minimum levels (reorder points)
What the Odoo Inventory Module Covers
The Odoo Inventory module is a comprehensive system covering the full lifecycle of stock management:
| Feature | Description |
|---|---|
| Product Creation | Define products with name, description, cost, and on-hand quantity |
| Vendor Management | Manage vendor contacts and pricing agreements per product |
| Purchase Orders | Create and track orders to vendors, linked to products |
| Goods Receipt | Receive ordered products and update stock levels |
| Quality Checks | Verify received goods meet quality standards |
| Stock Transfers | Move stock between warehouses or internal locations |
| Inventory Adjustments | Correct stock levels manually for discrepancies |
| Delivery Orders | Prepare and fulfill customer orders |
| Invoicing | Generate invoices from delivered products |
| Stock Valuation | Calculate inventory value based on product costs |
| Reporting and Analysis | Analyze movements, sales, and forecasts |
Inventory Workflow
The standard inventory workflow in Odoo connects sales, purchasing, and stock operations:
Sales Order
|
v
Delivery Order
|
v
Shortage?
/ \
NO YES
| \
Done Purchase Order / Replenishment
|
v
Goods Delivered?
/ \
YES PARTIAL
| \
Receive Products Create Back Order
|
v
Inventory > Receipts > Validate
Step-by-Step Flow
- Sales Order is confirmed — automatically creates a Delivery Order
- Odoo checks if stock is available
- If there is a shortage, a Purchase Order is created or replenishment is triggered
- The vendor ships the goods — Odoo creates a Receipt in the Inventory module
- Warehouse staff validates the receipt — stock levels increase
- The Delivery Order is fulfilled — stock is picked, packed, and shipped
- If only part of the order was available, a Back Order is created for the remaining items
Operation Types
Odoo Inventory organizes all stock movements into Operation Types. These depend on your Odoo database configuration:
| Operation Type | Description |
|---|---|
| Receipts | Incoming stock, typically from purchase orders |
| Internal Transfers | Moving stock between locations within the warehouse |
| Delivery Orders | Outgoing stock, typically from sales orders |
| Returns | Customer returns coming back into stock |
| Manufacturing | Stock consumed or produced by manufacturing orders |
Item Status
Each operation in the system has a status that tells warehouse staff what action is needed:
| Status | Meaning |
|---|---|
| To Process | Ready to be processed now — stock is available |
| Waiting | Waiting for stock from a manufacturing or purchase order |
| Late | Waiting for stock but the scheduled date has already passed |
| Back Orders | Partial orders where part has already been shipped |
Product Management
Listing All Products
From the Inventory module, navigate to Products > Products to see all products in the system. The list view shows:
- Product name
- Price
- On Hand quantity (for stockable products)
- Internal reference
- Responsible user
- Tags
- Sales price and cost
- Forecasted quantity
- Unit of measure
On Hand Quantity vs Forecasted Quantity
These two quantities are often confused but serve different purposes:
| Quantity | Definition |
|---|---|
| On Hand | Physical stock currently present in the warehouse |
| Forecasted | Virtual stock taking future movements into account |
Forecasted Quantity = On Hand + Incoming - Outgoing
Example:
- On Hand: 50 units
- Incoming purchase order: 100 units
- Pending delivery to customer: 30 units
- Forecasted: 50 + 100 - 30 = 120 units
Viewing Current Stock
There are two ways to check your stock levels:
- Open a product and click the On Hand magic button (shows stock per location)
- Go to Reporting > Stock for a full inventory report across all products
Reordering Rules
For every product, you can configure reordering rules to automate or semi-automate restocking.
To set up reordering rules:
- Open the product
- Click the Min/Max magic button to open Reordering Rules
- Define:
- Minimum Quantity: when stock drops below this, a reorder is triggered
- Maximum Quantity: the target stock level after reordering
- Trigger: automatic (runs on scheduler) or manual
+--------------------------------+
| Reordering Rule |
| |
| Product: Widget A |
| Min Qty: 10 |
| Max Qty: 100 |
| Trigger: Automatic |
| |
| When On Hand < 10: |
| Create PO for (100 - current) |
+--------------------------------+
Replenishment
The Replenishment feature allows you to review and trigger stock refills manually.
Navigate to Operations > Replenishment to see all products that need restocking. From here you can:
- Order Once: create a one-time purchase order for the selected product
- Automate Orders: set up automatic ordering based on reordering rules
- Snooze: remind yourself to reorder after a set time period
Warehouse Configuration
Odoo supports multiple warehouses, each configurable for different receiving and shipping workflows.
Go to Inventory > Configuration > Warehouses to manage your warehouses.
Shipping Steps
You can configure how many steps are required for receiving and delivering goods:
Receiving Options:
1 step: Receive directly into stock
2 steps: Receive into input, then transfer to stock
3 steps: Receive into input, quality check, then stock
Delivery Options:
1 step: Ship directly from stock
2 steps: Pick from stock, then ship
3 steps: Pick, pack, then ship
More steps provide more control and traceability but require more manual work. The right choice depends on the complexity of your operations.
Multi-Warehouse Transfers
When you operate multiple warehouses, Odoo supports inter-warehouse transfers:
Warehouse A Warehouse B
(excess stock) (shortage)
| |
+-------- Transfer ----------->
|
Internal Transfer created
Stock moves from A to B
Navigate to Operations > Transfers and filter by operation type to manage these movements.
Traceability: Lots and Serial Numbers
For products requiring traceability (pharmaceuticals, electronics, food), Odoo supports:
- Lot Numbers: track batches of identical items (e.g., a production batch)
- Serial Numbers: track individual unique items (e.g., a specific device)
Enable tracking on the product form and Odoo will require lot/serial number assignment during receipt and delivery.
Key Reports
| Report | Location | Purpose |
|---|---|---|
| Stock Report | Reporting > Stock | Current inventory levels |
| Stock Valuation | Reporting > Valuation | Inventory value by product |
| Inventory Moves | Reporting > Moves | History of all stock movements |
| Forecasted Report | Reporting > Forecasted | Future stock availability |
Final Thoughts
The Odoo Inventory module is a comprehensive solution that connects purchasing, sales, and warehouse operations into a single integrated workflow. By understanding the operation types, the replenishment system, and the reordering rules, you can build an inventory management setup that minimizes stockouts while avoiding overstock situations.
Whether you manage a single warehouse or a complex multi-location supply chain, Odoo Inventory provides the tools to maintain accurate, real-time visibility over your stock.
Know what you have. Know where it is. Know what is coming.