Your Inventory Problem Is Costing You More Than You Think
Every business with physical products has an inventory problem. Maybe you do not see it clearly because you have been living with it for so long, but it is there:
- Products showing “in stock” in your spreadsheet but missing from the shelf
- Customers ordering items that ran out three days ago
- Cash tied up in products sitting in your warehouse for months
- Staff spending hours counting stock instead of serving customers
- No idea which products are profitable and which are just taking up space
For small businesses in Africa and emerging markets, these problems are amplified by unreliable supply chains, longer lead times, and limited warehouse space.
Odoo Inventory Management solves these problems by giving you real-time visibility, automated reordering, and complete traceability — all without the cost of enterprise inventory systems.
Odoo Inventory: Core Concepts
Before diving into configuration, let us establish the key concepts that make Odoo’s inventory system powerful.
Double-Entry Inventory
Odoo uses a double-entry system for inventory (similar to double-entry accounting). Every product movement has a source and a destination:
- Receiving goods: Supplier Location —> Your Warehouse
- Selling goods: Your Warehouse —> Customer Location
- Internal transfer: Warehouse A —> Warehouse B
- Scrapping product: Your Warehouse —> Virtual Scrap Location
- Manufacturing: Raw Materials Location —> Finished Goods Location
This approach means every unit is always accounted for. Products do not appear or disappear — they move between locations. This eliminates the “phantom inventory” problem that plagues spreadsheet-based systems.
Locations vs. Warehouses
In Odoo, a Warehouse is a physical facility. A Location is a specific spot within a warehouse. Locations can be nested:
Main Warehouse (Warehouse)
|- Receiving Zone (Location)
|- Storage Area (Location)
|- Shelf A (Sub-location)
|- Shelf B (Sub-location)
|- Shelf C (Sub-location)
|- Packing Zone (Location)
|- Shipping Zone (Location)
You can track inventory at any level of detail you need. A small shop might have one warehouse with one location. A distribution center might have dozens of sub-locations for precise bin tracking.
Product Types
Odoo distinguishes between:
- Storable Products: Tracked in inventory with real quantities (physical goods)
- Consumable Products: Not tracked in inventory (office supplies, packaging materials)
- Services: No inventory tracking (consulting hours, installation services)
Only Storable Products affect your inventory counts and valuation.
Setting Up Odoo Inventory: Step by Step
Step 1: Configure Your Warehouse
Navigate to Inventory > Configuration > Warehouses.
For your first warehouse, configure:
- Warehouse Name: Your physical location name (e.g., “Casablanca Main Warehouse”)
- Short Name: A 5-character code used in operations (e.g., “CASA”)
- Address: Physical address for shipping documents
- Routes: Define how products flow through the warehouse
Route options:
- Receive goods directly (1 step): Supplier delivers, goods go straight to stock. Best for small operations.
- Receive goods in input then stock (2 steps): Goods arrive in a receiving area, then get put away to storage. Better for quality control.
- Receive goods in input, then quality, then stock (3 steps): Adds a quality inspection step. For regulated industries (pharma, food).
For most SMEs, start with 1-step receiving and shipping. You can add complexity later.
Step 2: Define Your Locations
If you need more granularity than a single warehouse location, create sub-locations:
- Go to Inventory > Configuration > Locations
- Create locations nested under your warehouse’s stock location
- Name them to match your physical layout
Practical example for a retail store with backroom storage:
Shop Floor (for items on display)
Backroom Storage (for overflow stock)
Returns Area (for items being inspected)
Practical example for a wholesale distributor:
Zone A - Fast Movers (products shipped daily)
Zone B - Regular Stock (products shipped weekly)
Zone C - Slow Movers (products shipped monthly)
Cold Storage (temperature-controlled area)
Step 3: Set Up Product Categories
Product categories in Odoo control how inventory is valued in your accounting system. Navigate to Inventory > Configuration > Product Categories.
Key settings per category:
-
Costing Method:
- Standard Price: Fixed cost per unit (you set it manually). Good for manufactured goods.
- Average Cost (AVCO): Cost recalculated as weighted average with each purchase. Good for traded goods.
- FIFO (First In, First Out): Oldest stock is sold first. Required for perishable goods.
-
Inventory Valuation:
- Manual: Inventory value updated periodically (simpler)
- Automated: Every stock move creates an accounting entry (accurate but generates more entries)
For most SMEs, we recommend AVCO costing with automated valuation. It balances accuracy with simplicity.
Step 4: Create Your Products
For each product, configure the inventory-relevant fields:
General tab:
- Product Type: Storable Product
- Unit of Measure: Each, Kg, Liter, Box, etc.
- Internal Reference (SKU): Your internal product code
- Barcode: EAN-13, UPC-A, or internal barcode
Inventory tab:
- Weight and volume (for shipping calculations)
- Responsible person (who manages this product)
- Routes (if using advanced routing)
- Description for delivery orders and receipts
Purchase tab:
- Preferred vendor and vendor product code
- Minimum order quantity
- Delivery lead time (critical for reordering rules)
Step 5: Configure Reordering Rules
This is where Odoo transforms from a tracking system to a management system. Reordering rules automatically create purchase orders or manufacturing orders when stock drops below a threshold.
Navigate to Inventory > Operations > Replenishment.
For each product, define:
| Parameter | Description | Example |
|---|---|---|
| Minimum Quantity | When stock hits this level, trigger reorder | 10 units |
| Maximum Quantity | Order enough to reach this level | 50 units |
| Quantity Multiple | Round order quantity to this multiple | 5 (order 5, 10, 15, etc.) |
| Lead Time | Days from order to delivery | 7 days |
How it works in practice:
- Your stock of Product X drops to 10 units (minimum threshold)
- Odoo automatically creates a draft purchase order for 40 units (to reach maximum of 50)
- The PO is sent to your preferred supplier
- You receive the goods and stock returns to a healthy level
Setting smart reorder points:
- Minimum = Average daily sales x Lead time in days x Safety factor
- Maximum = Minimum + Economic order quantity
- Safety factor = 1.2 for reliable suppliers, 1.5-2.0 for unreliable suppliers or long lead times
Example: You sell 5 units/day, supplier lead time is 14 days, supplier is moderately reliable:
- Minimum = 5 x 14 x 1.3 = 91 units
- Maximum = 91 + 100 (economic order quantity) = 191 units
Step 6: Set Up Barcode Scanning
Barcode scanning dramatically speeds up warehouse operations and reduces errors.
What you need:
- USB or Bluetooth barcode scanner ($30-$200)
- Products with barcodes assigned in Odoo
- Odoo Barcode module installed (available in Community)
Operations you can do with barcode scanning:
- Receiving: Scan products as they arrive to confirm receipt
- Picking: Scan products as you pick them for orders
- Internal transfers: Scan to confirm product movements between locations
- Inventory counts: Scan and count for physical inventory
Mobile scanning (for larger warehouses):
- Use a tablet or smartphone with camera-based scanning
- Odoo’s web interface supports camera barcode scanning
- For high-volume operations, dedicated barcode scanners (Zebra, Honeywell) are faster and more reliable
Multi-Location Inventory Management
If your business operates from multiple locations, Odoo handles this natively.
Scenario 1: Multiple Warehouses in Different Cities
Create a separate warehouse for each location. Each warehouse has its own:
- Stock levels
- Receiving and shipping operations
- Reordering rules
- Staff assigned to operations
Inter-warehouse transfers keep stock balanced:
- Create a transfer from Warehouse A to Warehouse B
- Products leave Warehouse A (stock decreases)
- Products arrive at Warehouse B (stock increases)
- Full traceability of what moved, when, and who authorized it
Scenario 2: One Warehouse With Distinct Zones
Use sub-locations within a single warehouse:
- High-value storage (locked area with restricted access)
- Bulk storage (pallets, large quantities)
- Pick face (small quantities for order picking)
- Returns processing (items being inspected)
Products move between zones as they progress through your operations.
Scenario 3: Retail Store + Warehouse
A common setup for businesses with both retail and wholesale operations:
- Shop floor location — Products on display, sold via POS
- Back warehouse — Bulk storage, replenishes the shop floor
- Auto-replenishment rule — When shop floor stock drops below X, automatically pull from warehouse
This means your retail staff never has to manually check “is there more in the back?” — the system handles it.
Inventory Valuation and Reporting
Stock Valuation Report
Odoo provides a real-time stock valuation report (Inventory > Reporting > Inventory Valuation) showing:
- Current quantity on hand per product
- Unit cost (based on your costing method)
- Total value per product
- Total inventory value
This report is critical for:
- Financial reporting (balance sheet inventory line)
- Insurance purposes (documenting inventory value)
- Identifying slow-moving stock (high value, low turnover)
Stock Movement Analysis
Track product movements over time to understand:
- Which products move fastest (candidates for larger stock)
- Which products barely move (candidates for clearance)
- Seasonal patterns (stock up before peak seasons)
- Shrinkage (discrepancies between expected and actual stock)
Inventory Turnover
Calculate how efficiently you use your inventory:
Inventory Turnover = Cost of Goods Sold / Average Inventory Value
- Turnover of 12 means you sell through your entire inventory once per month (healthy for fast-moving retail)
- Turnover of 2 means it takes 6 months to sell your stock (too slow for most businesses)
Odoo’s reporting tools let you calculate turnover by product, category, or warehouse.
Physical Inventory Counts
Even with a perfect system, physical counts are necessary. Products get damaged, stolen, miscounted, or simply misplaced.
Full Inventory Count
- Go to Inventory > Operations > Physical Inventory
- Select the location to count
- Print count sheets or use barcode scanning
- Enter actual quantities
- Odoo calculates discrepancies automatically
- Review and validate adjustments
- Accounting entries are created for inventory adjustments
Cycle Counting (Recommended)
Instead of counting everything at once (disruptive and time-consuming), count a portion of your inventory regularly:
- A items (top 20% by value): Count monthly
- B items (next 30% by value): Count quarterly
- C items (bottom 50% by value): Count semi-annually
Over the course of a year, every product gets counted at least twice, and high-value items get counted 12 times. Much less disruptive than shutting down for a full count.
Common Inventory Management Mistakes
- Not setting reorder rules — Manual reordering means someone has to remember. Someone will forget.
- Ignoring lead times — Setting a 3-day reorder point when your supplier takes 14 days to deliver guarantees stockouts.
- Over-complicated location structures — If you have 5 sub-locations but only one person in the warehouse, you do not need 5 sub-locations.
- Skipping physical counts — Trust the system but verify. Quarterly counts catch problems early.
- Not training warehouse staff — The system is only as good as the data entered. Untrained staff create data chaos.
Transform Your Inventory Operations
At Oasis Techno Cloud, we configure Odoo Inventory as part of our implementation packs. Whether you run a single retail store or a multi-warehouse distribution network, we set up the locations, reorder rules, barcode scanning, and reporting that give you full control over your stock.
Our Retail Pack ($790), Wholesale Pack ($990), and Pharmacy Pack ($1,290) all include inventory management configured for your specific operations.
Related Articles
- Odoo POS for Retail: Complete Setup Guide
- How to Migrate from Excel to ERP Without Losing Your Data
- 5 Ways AI Can Automate Your Business Operations
Ready to stop guessing and start knowing? Contact us for a free assessment of your inventory management needs.