Odoo Inventory Module
A practical, role-based guide for SME warehouse and purchasing teams implementing or using Odoo Inventory in Malaysia — from procurement through to multi-warehouse stock visibility.
Procurement
This is the front end of the purchase-to-pay cycle: turning a stock need into a request for quotation, comparing vendor responses, and confirming a purchase order. Typically owned by the purchasing officer, with department heads or the finance manager approving larger orders.
1.1 Process flow
- Identify the need — manually, or automatically via a replenishment rule (see Section 5).
- Create a request for quotation (RFQ), adding the vendor, products, quantities and expected delivery date.
- Send the RFQ to one or more vendors for pricing.
- Compare vendor responses on price, lead time and terms.
- Confirm the chosen RFQ into a purchase order (PO).
- Track the PO until the vendor confirms shipment or delivery date.
1.2 Key fields to know
| Field | What it means / why it matters |
|---|---|
| Vendor | The supplier the RFQ is sent to — pricing and lead times are often vendor-specific. |
| Expected arrival | The date used to plan receipts and downstream production or sales commitments. |
| Quantity | What’s being ordered — this is what the 3-way match checks against on receipt. |
| Unit price | Agreed cost per unit — should match what the vendor bill later shows. |
| Status | RFQ → Purchase Order → Done. Only a confirmed PO triggers an expected receipt. |
Warehouse operations
This covers the physical movement of stock once it’s in your control: receiving it, putting it away, moving it internally, and getting it back out the door to a customer. Typically owned by the warehouse supervisor and storekeepers.
2.1 Receipts
- Open the receipt generated automatically from the confirmed purchase order.
- Count and verify the physical delivery against the expected quantities.
- Record any shortage, damage or over-delivery directly on the receipt lines.
- Validate the receipt — this updates on-hand stock and feeds the 3-way match in Accounting.
2.2 Putaway
Putaway determines where received stock is stored. For a simple SME warehouse this may be a single default location; for a larger operation, putaway rules can route specific products to specific zones (e.g. cold storage, bulk racking) automatically.
2.3 Internal transfers
Used to move stock between locations within or across warehouses — for example from a receiving bay to a picking shelf, or between two branch warehouses.
2.4 Picking, packing and delivery
- A delivery order is created automatically when a sales order is confirmed.
- Picking: the warehouse team collects the ordered items from their storage location.
- Packing: items are packed and, if used, assigned to packages or shipping units.
- Delivery: the shipment is validated and dispatched, which reduces on-hand stock.
2.5 Key fields to know
| Field | What it means / why it matters |
|---|---|
| Source / Destination location | Where stock is moving from and to — drives what the stock report shows at each stage. |
| Operation type | Whether this is a Receipt, Delivery, Internal Transfer or Manufacturing move — determines the default locations and sequence used. |
| Demand vs Done quantity | What was expected vs what was actually moved — a mismatch should be investigated, not silently validated. |
| Backorder | Created automatically when only part of a transfer is completed, so the remaining quantity isn’t lost from tracking. |
Routes & rules
Routes define the path stock takes through your warehouse and business — for example, whether goods go straight from receiving to stock, or pass through a quality check first. Usually configured once by the system administrator, but warehouse staff should understand how it shapes the transfers they see.
3.1 How routes work
- A route is a defined sequence of stock moves — e.g. Receipt → Quality Check → Stock, or Stock → Pack → Ship.
- Routes are built from rules, each rule saying “when stock is needed at location A, pull or push it from location B.”
- Common route strategies: one-step (receive directly into stock), two-step (receive into an input area, then a stock move), and three-step (add a quality or staging step before either).
- Routes can be set globally, per warehouse, or per product — a high-value item might use a stricter route than a bulk commodity.
3.2 What warehouse staff need to know
- Recognise which route a product follows — it explains why some receipts create one transfer and others create two or three in sequence.
- Complete each step of a multi-step route in order; skipping a step (e.g. validating a receipt without the quality-check transfer) breaks the stock trail.
- Raise it with the administrator if a product seems to be following the wrong route — don’t try to work around it manually.
Inventory valuation
Every stock movement has a cost, and Odoo can post that cost to the accounting books automatically as it happens. Configuration is owned by the system administrator or finance manager, but warehouse staff should understand how their transfers affect it.
4.1 Costing methods
| Method | What it means / why it matters |
|---|---|
| FIFO (First In, First Out) | Stock is valued and consumed in the order it was received — the oldest cost layer is used first. Common where purchase prices fluctuate and accurate margin tracking matters. |
| Average cost | A running weighted average of all received costs is used for every unit — simpler to explain, smooths out price fluctuations. |
| Standard price | A fixed cost per product, set manually and updated periodically — variances from actual purchase price are tracked separately. |
4.2 How it connects to Accounting
- With automated (perpetual) valuation, every receipt and delivery posts a journal entry immediately — stock value on the Balance Sheet updates in real time.
- Cost of Goods Sold (COGS) is recognised automatically when a delivery is validated, matching revenue and cost in the same period.
- Any variance between a PO’s expected price and the vendor bill’s actual price is reconciled through a dedicated price difference account.
Replenishment
Replenishment automates the decision of when to reorder stock, so purchasing doesn’t rely on someone noticing a shelf is empty. Set up by the purchasing officer or administrator, and reviewed periodically as demand patterns change.
5.1 Reordering rules
- Set a minimum quantity (reorder point) and a maximum quantity for a product at a given location.
- When on-hand plus incoming stock falls to or below the minimum, Odoo automatically proposes a purchase (or manufacturing) order.
- The proposed order quantity brings stock back up toward the maximum, respecting the vendor’s minimum order quantity if set.
- Review and confirm proposed orders — or let them run fully automatically once trusted.
5.2 Key fields to know
| Field | What it means / why it matters |
|---|---|
| Minimum quantity | The stock level that triggers a new order — should cover expected demand during the vendor’s lead time. |
| Maximum quantity | The target level the replenishment order restocks up to. |
| Lead time | How long the vendor takes to deliver — factored in so stock doesn’t run out while the order is in transit. |
| Trigger: Auto vs Manual | Auto creates the order automatically; Manual only proposes it for a buyer to review and confirm. |
Barcode scanning
Barcode scanning speeds up warehouse operations and removes manual entry errors from receipts, transfers, picking and stock counts. Relevant to storekeepers and anyone physically handling stock day to day.
6.1 What it’s used for
- Receiving: scan each item as it arrives to confirm quantities against the expected receipt, instead of counting and typing manually.
- Picking and packing: scan products as they’re picked to confirm the right item and quantity before it leaves the warehouse.
- Internal transfers: scan source and destination locations to reduce mis-shelving.
- Inventory counts (stocktakes): scan products in a physical count and let Odoo compare the count directly to the system quantity.
6.2 Getting started
- Confirm barcodes are set on product records — either the vendor’s own barcode or an internally generated one.
- Print and apply location and product barcodes around the warehouse if not already labelled.
- Open the Barcode app on a handheld device or phone and select the operation to perform (Receipts, Deliveries, Internal Transfers, Inventory Count).
- Scan sequentially through the operation; Odoo validates as you go and flags unexpected items or quantities immediately.
Multi-warehouse & multi-location visibility
For SMEs operating more than one warehouse, branch, or storage area, Odoo tracks stock separately by location while still giving a consolidated view across the whole business. Relevant to warehouse supervisors, purchasing, and management reviewing overall stock position.
7.1 How it’s structured
- A warehouse is a top-level physical site (e.g. “KL Warehouse”, “Penang Branch”).
- Each warehouse contains locations — stock, input, output, quality, and any custom zones defined for that site.
- Stock can be viewed per location, per warehouse, or consolidated across the whole company.
- Transfers between warehouses are tracked explicitly, so stock in transit between sites is always visible, not just “missing” from one and “appearing” in another.
7.2 What to check regularly
- Use the Inventory Overview (kanban) to see at-a-glance stock health per warehouse.
- Filter stock reports by location when investigating a specific site’s numbers, rather than relying on the company-wide total.
- Review inter-warehouse transfers in transit, especially at month-end, so stock isn’t double-counted or missed in either location’s valuation.
Quick reference
A.1 Menu paths at a glance
| Area | Menu path |
|---|---|
| Procurement | Purchase → Orders → Requests for Quotation |
| Receipts | Inventory → Operations → Receipts |
| Internal transfers | Inventory → Operations → Transfers |
| Deliveries | Inventory → Operations → Deliveries |
| Routes | Inventory → Configuration → Routes |
| Valuation settings | Inventory → Configuration → Product Categories |
| Replenishment | Inventory → Operations → Replenishment |
| Barcode app | Inventory → Barcode |
| Warehouses | Inventory → Configuration → Warehouses |
| Stock reporting | Inventory → Reporting → Stock |
A.2 Who typically trains on what
| Role | Focus areas |
|---|---|
| Purchasing officer | Procurement, replenishment (Sections 1, 5) |
| Warehouse supervisor / storekeeper | Warehouse operations, barcode scanning, multi-location visibility (Sections 2, 6, 7) |
| Logistics coordinator | Warehouse operations, routes & rules (Sections 2–3) |
| Finance manager | Inventory valuation, for its link to Accounting (Section 4) |
| System administrator | Routes, valuation configuration, warehouse setup (Sections 3–4, 7) |
For the roles who should be trained on Accounting and Manufacturing modules, see the companion training guides for those areas.
