Odoo Inventory: Stock Control From Receipt to Delivery

Odoo Inventory is the Odoo app that tracks every product you buy, store, move and ship, and keeps the value of that stock in step with your accounts. AzkaTech sets it up around the way your warehouse actually works.

Organized warehouse racks with labelled shelves, managed with Odoo Inventory

The short answer

What Odoo Inventory Does

Odoo Inventory records every stock movement as a transfer from one location to another, so a product never simply appears or disappears. A receipt moves goods from a vendor location into your stock, a delivery moves them from stock to a customer, and a count moves any difference to an adjustment location. Because every move has a source and a destination, you can always explain why a quantity changed, when, and who validated it.

Inventory, the business termThe goods a company holds to sell, or to use in making what it sells. It sits on the balance sheet as a current asset, which is why a wrong count is also a wrong financial statement.
Odoo Inventory, the appThe warehouse side of Odoo. It shares one database with Sales, Purchase, Manufacturing and Accounting, so a confirmed order reserves stock and a validated receipt updates its value.

Inventory basics

The Four Types of Inventory and How Odoo Handles Each

Most companies hold more than one kind of inventory, and each one needs slightly different treatment in the system.

TypeWhat it isHow Odoo handles it
Raw materialsInputs bought to make a product: fabric, steel, flour, electronic components.Goods with inventory tracking on, bought through Purchase and consumed by manufacturing orders through a bill of materials.
Work in progressProducts that have been started but are not finished yet.Open manufacturing orders, where components have been consumed but the finished product has not been produced.
Finished goodsProducts ready to sell.Goods sold through Sales, Point of Sale or eCommerce, reserved when the order is confirmed and delivered from stock.
MRO suppliesMaintenance, repair and operating items: spare parts, tools, cleaning supplies.Often goods with inventory tracking off, used without stock levels. Expensive spare parts are tracked like any other product.

Features

Odoo Inventory Features Your Warehouse Will Use Every Day

These are the features we configure most often for distributors, retailers and manufacturers. Most are switched on in Inventory settings; scanning needs the Barcode app.

Receipts and deliveries

Purchase orders create receipts and sales orders create deliveries on their own. Validate them, and both the quantity and its value update at once.

Locations and putaway rules

Split each warehouse into zones, racks and shelves. Putaway rules send incoming goods to the right shelf, so nobody has to decide on the loading dock.

Reordering rules

Set a minimum and a maximum per product. When forecasted stock falls below the minimum, Odoo creates or suggests the purchase or manufacturing order.

Lots, serials and expiry dates

Trace a batch back to its supplier, or a single unit to the customer who bought it. With expiry dates, Odoo picks the first lot to expire first.

Barcode scanning

Storekeepers receive, pick, move and count stock by scanning products, lots and shelves from a phone, tablet or handheld scanner.

Batch, wave and cluster picking

Group pickings so one person collects several orders in a single walk through the warehouse, then sorts them at the packing station.

Cycle counts

Count fast-moving or high-value locations every 30 days and the rest once a year. Odoo schedules the next count when you apply the last one.

Multiple warehouses

Run several sites in one database, see stock per warehouse, and let one warehouse resupply another on a route you define.

Landed costs

Add freight, insurance and customs duties to the cost of the goods they belong to, split by quantity, current cost, weight or volume.

Operations

Receipt and Delivery Flows in One, Two or Three Steps

Each warehouse chooses how many checkpoints goods pass through. More steps give you more control, but also more validations for your team.

FlowReceivingShippingBest for
One stepVendor → stockStock → customerSmall warehouses and fast-moving, low-risk products.
Two stepsVendor → input area → stockStock → output area → customerLarger warehouses that unpack and check goods before shelving, or consolidate orders before dispatch.
Three stepsInput → quality control → stockPick → pack → shipLarge sites with strict quality checks and separate picking and packing teams.

Quality checks and packages do not require the three-step flow. Both can be switched on separately, which keeps validations to a minimum.

Video by Odoo on YouTube: a receipt from purchase order to shelf.

Replenishment

Replenishment That Runs on Rules, Not Memory

Odoo replenishes stock in three main ways, and most companies use a mix of them depending on the product.

Reordering rulesA minimum and a maximum per product. Automatic rules create the order themselves; manual rules list suggestions on the replenishment report so a buyer can review and group them.
Replenish on order (MTO)A confirmed sales order triggers a purchase or manufacturing order linked to it. It suits made-to-order products and items you rarely keep in stock.
Just-in-time logicOdoo uses vendor and manufacturing lead times to order as late as it safely can, so goods arrive when they are needed instead of waiting on a shelf.

Traceability

Lots, Serial Numbers and Expiry Dates

Traceability decides how quickly you can answer a recall, a warranty claim or an auditor.

  • Lots give one number to a batch of identical items, such as a production run of yoghurt or a shipment of fabric. Use them for food, chemicals and anything with an expiry date.
  • Serial numbers give one number to each unit, such as a laptop or a generator. Use them when you service, warrant or lease each item.
  • Expiry dates store the expiration, best before, removal and alert dates on every lot.
Warehouse stock with lot numbers and expiry dates tracked in Odoo Inventory

Removal strategies decide which stock leaves first. They are set per location or per product category, and the category setting wins.

StrategyPicks firstTypical use
FIFOThe oldest stock receivedGeneral goods. It is Odoo’s default.
LIFOThe most recently received stockBulk materials where the newest layer sits on top.
FEFOThe stock closest to its removal dateFood, cosmetics and pharmaceuticals.
Closest locationStock in the first location by name orderShorter walks in large warehouses.
Least packagesThe package quantity that best matches the demandFewer opened packages.

Valuation

Inventory Valuation and Costing Methods in Odoo

The costing method decides what each unit is worth on your balance sheet and what reaches cost of goods sold when you sell it.

MethodHow unit cost worksSuits
Standard costA fixed cost you set and update yourself.Manufacturers with stable, known costs.
Average cost (AVCO)Recalculated as a weighted average after every receipt.Distributors and retailers buying often at changing prices.
FIFOEach sale is costed at the oldest remaining purchase price.Companies that need cost by purchase layer.

Example: you receive 8 units at $10 and then 4 units at $16. Under average cost, every unit is now worth $12, because (8 × 10 + 4 × 16) ÷ 12 = 12. Under a standard cost of $10, all 12 units stay at $10.

Accuracy

Stock Counts, Reports and Forecasts

An inventory system is only useful while its numbers match the shelves. These are the tools that keep them aligned.

  • Physical inventory: count by product or location and apply the difference. Odoo records it as a move to an inventory adjustment location, and plans the yearly count for 31 December by default.
  • Cycle counts: give a location a count frequency in days, and Odoo schedules its next count each time you apply one.
  • Scrap: damaged or expired goods move to a scrap location, so the loss is visible instead of hidden in an adjustment.
  • Stock report: on hand, free to use, incoming and outgoing quantities per product, with unit cost and total value.
  • Forecasted report: projected stock over time, built from confirmed receipts, deliveries and manufacturing orders.
  • Moves history: every validated move, with its date, reference, source and destination.

Inventory metrics

Inventory Metrics Worth Tracking

Both sides of these ratios already live in Odoo: cost of goods sold in Accounting, inventory value in the stock valuation report.

MetricFormulaWhat it tells you
Inventory turnoverCost of goods sold ÷ average inventory valueHow many times stock is sold and replaced in a period. Low turnover points to overstock.
Days sales of inventory(Average inventory ÷ cost of goods sold) × 365How many days of sales your current stock would cover.
Stockout rateOrder lines delayed by missing stock ÷ total order linesHow often a lack of stock costs you a sale or a deadline.
Carrying costStorage, insurance, handling and tied-up capital as a share of inventory valueWhat it costs you to keep goods on the shelf.

Why AzkaTech

How AzkaTech Sets Up Odoo Inventory

AzkaTech is the first and biggest Odoo Gold Partner in Lebanon. A warehouse goes live smoothly when the floor is mapped before anyone opens Odoo, so this is how we work.

  1. Map the warehouse
    1We walk your sites and turn racks, zones and handling steps into Odoo locations and routes.
  2. Clean the product data
    2Units of measure, barcodes, categories, costs and opening stock, checked before anything is imported.
  3. Configure the rules
    3Reordering rules, removal strategies, lots and costing methods, set per product category.
  4. Train the floor team
    4Storekeepers practise receipts, picking and counts on the scanners they will use every day.
  5. Ongoing support
    5Our team in Beirut adjusts routes and rules as your volumes and sites grow.

FAQ

Questions About Odoo Inventory

It can be. Odoo Community, the open-source edition, includes Inventory with no licence fee, although you host and maintain it yourself. On Odoo Online, the One App Free plan lets a company use a single app with unlimited users at no cost, so Inventory on its own is free. As soon as you add a second app, such as Sales or Purchase, you move to a paid plan.

For most small and mid-sized companies, yes. Odoo handles multiple warehouses, lots and serial numbers, barcode scanning, reordering rules and stock valuation in the same database as sales, purchasing and accounting, so nothing is typed twice. Very large automated warehouses that run conveyors or robots usually connect Odoo to a specialist system rather than replace it.

Odoo Enterprise is licensed per user per month, and the Standard plan includes every app, Inventory among them. The price depends on your country, the plan you choose and whether you pay yearly or monthly, so check odoo.com/pricing for the current figure. Implementation is a separate cost that depends on how many warehouses, products and integrations you have. AzkaTech can give you both numbers after a short call.

On hand is what is physically in your locations right now. Forecasted adds confirmed incoming receipts and subtracts confirmed deliveries and manufacturing needs. Reordering rules work on the forecasted quantity, which is why Odoo can reorder before the shelf is actually empty.

Yes. Each warehouse has its own locations, routes and operation types. You can see stock per warehouse or across all of them, and set one warehouse to resupply another.

Yes, through the Odoo Barcode app, which is part of Odoo Enterprise. Staff scan products, lots, serial numbers, packages and shelves to receive, pick, move and count stock from a phone, tablet or handheld scanner.

Average cost suits most distributors and retailers, because purchase prices change often. FIFO fits companies that need cost by purchase layer. Standard cost fits manufacturers with stable, known costs. The method is set in Accounting settings and can be changed per product category, so you can use more than one.

Yes. Turn on lots and serial numbers and expiration dates in Inventory settings, and Odoo stores the expiration, best before, removal and alert dates for each lot. With the FEFO removal strategy, it picks the lot that expires first.

Yes. Products, locations, lots and opening quantities are imported from spreadsheets. We clean and test the files in a copy of your database before the real import, then check the opening stock value against your accounts.