Skip to content

Three Inventory Valuation Methods in Odoo Explained

Learn how Standard, FIFO, and Average Cost methods assign inventory values in Odoo, their implications for your P&L, and when to use each approach.

Three Inventory Valuation Methods in Odoo Explained
Image (CC CC0 1.0)
Ravi Shanker Singh8 min read

Understanding the Three Inventory Valuation Methods in Odoo

Every Odoo implementation eventually runs into this decision, usually around week three of the project, when someone in finance asks: "So what happens when we buy the same part at three different prices?" That question determines which of three costing methods you'll live with for years: Standard, FIFO, or Average Cost (AVCO).

Odoo documents these under Accounting and Invoicing, not under Inventory, which tells you something important on its own — this is a finance decision wearing a warehouse costume. The official reference sits in the Get Started section of the accounting docs (odoo.com/documentation/master/applications/finance/accounting/get_started/inventory_valuation.html), and it's worth reading before you touch the product category settings, because this setting is not the kind you change casually after go-live. Changing costing method mid-year means reconciling historical valuation layers by hand, and I've done that reconciliation. It's not an afternoon job.

The method is set at the product category level in Odoo, not per product, and not per warehouse. That single fact surprises a lot of first-time implementers who assumed they could run FIFO on their cold-chain SKUs and Standard on everything else within one category. You can, but only if those SKUs live in different categories — which usually means restructuring your product categorization earlier than you planned.

Each method answers the same underlying question differently: what cost do we assign to a unit when it leaves the warehoue? Standard says "whatever we told the system it costs." FIFO says "whatever the oldest unit in stock cost us." Average Cost says "whatever the blended cost of everything on hand happens to be right now." Same transaction, three different numbers on your P&L. That's the whole ballgame.

Standard Cost: When to Use Fixed Pricing

Standard costing sets a fixed cost per unit that you define manually and update on your own schedule — monthly, quarterly, whenever your finance team decides it's time. Every stock move uses that fixed figure regardless of what you actually paid the supplier that week. The variance between what you paid and what you set as standard gets posted separately, usually to a price difference account, so it's visible rather than buried inside your inventory valuation.

This is the method I push manufacturers toward when they have stable, negotiated input costs and a finance team that wants predictable margins on management reports. A furniture manufacturer buying the same grade of plywood under a twelve-month supply contract doesn't need their COGS jumping around because one delivery landed two dollars higher due to a fuel surcharge. Standard costing smooths that out and lets you budget against a number that doesn't move under you.

The cost — and there is one — is that Standard costing can quietly hide reality if nobody's watching the variance account. I've seen a business run six months with a standard cost that was 15% below actual purchase cost because a raw material price hike never made it into the product category setting. Every sale looked profitable on the dashboard. It wasn't. The variance account was accumulating a loss nobody was reading. If you choose Standard, someone needs to own the review cadence for updating those costs, and it can't be "whenever we remember."

Standard costing also plays badly with businesses whose purchase prices genuinely fluctuate week to week — commodity buyers, importers exposed to currency swings, anyone reselling electronics components. You'll spend more time explaining variance than the method saves you in simplicity.

FIFO Method: First-In-First-Out for Perishables and Fresh Inventory

FIFO assumes the oldest stock moves out first and costs each outgoing unit at whatever that specific batch actually cost. Odoo tracks this through valuation layers — essentially a ledger of every incoming lot with its cost, consumed in chronological order as stock leaves. It's the most literal representation of what actually happened in your warehouse, which is exactly why food, pharma, and cosmetics businesses gravitate toward it: the costing method mirrors the physical stock rotation they're already required to follow for shelf-life reasons.

A produce distributor pushing crates through in strict rotation order gets financial reporting that matches physical reality. If a shipment of imported almonds cost $4.10/kg in March and $4.60/kg in June, the June sale of March stock gets costed at $4.10, full stop. No smoothing, no averaging, no guessing. When your margins are thin and your commodity is volatile — coffee, cocoa, seafood — that precision matters, because a half-percent costing error on a low-margin product can be the difference between a profitable order and a loss you don't notice until quarter-end.

The catch is operational, not conceptual. FIFO in Odoo tracks cost layers correctly when your physical stock movement actually follows FIFO logic. If your warehouse team is picking from whatever bin is closest rather than the oldest lot, your accounting FIFO and your physical FIFO diverge, and the valuation report starts telling a story your floor doesn't match. This isn't Odoo's failure — it's true of any FIFO-costed ERP — but I've watched clients blame the software for a discrepancy that traced back to a picker grabbing the nearest pallet instead of the oldest one. If you're going to run FIFO, you need bin organization and picking discipline to actually support it, or the costing precision is theater.

FIFO also gets noticeably heavier at scale. Businesses with high SKU counts and frequent receiving — thousands of lines a day — accumulate a lot of valuation layers, and reporting queries against that history take longer than a simple average calculation. Not a dealbreaker, but worth knowing before you commit a 4,000-SKU catalog with daily inbound shipments to it.

Average Cost Method: Simplifying Costing for Mixed Batches

Average Cost recalculates a single blended unit cost every time new stock comes in, weighted by quantity and purchase price. Buy 100 units at $10 and then 50 more at $12, and your new average cost becomes $10.67 across the full 150 units on hand. Every unit that leaves from that point costs $10.67, regardless of which physical batch it technically came from.

This is the method most businesses should probably start with. It requires no lot-level cost tracking discipline from the warehouse team, it smooths out short-term price noise without hiding it the way Standard costing can, and the reporting overhead is lighter than FIFO's layer-by-layer history. A hardware distributor buying the same bolts from two suppliers at slightly different prices doesn't need to know which batch a customer's order came from — they need a cost figure that's reasonably accurate and doesn't require a warehouse audit to explain.

Where Average Cost gets uncomfortable is with businesses that have genuinely wide price swings on the same item — a distributor who bought steel at $600/ton in January and $950/ton in September will find their average cost lagging reality in both directions, overstating margin during the price spike's first sales and understating it as the average catches up. It also weakens any business case built on knowing the exact cost of a specific batch — recall situations, warranty cost tracing, or anything requiring you to say "this unit specifically cost us X." If a customer dispute or regulatory recall ever requires you to trace an exact batch's landed cost, Average Cost has already blended that information away.

Key Differences: Standard vs FIFO vs Average Cost Comparison

Put side by side, the trade-offs come down to three questions: how much price volatility do you actually have, how much operational discipline can your warehouse sustain, and how much precision does your finance team need for margin analysis?

Standard costing wins on predictability and reporting simplicity, loses on accuracy when purchase prices move and nobody updates the standard. Regulatory alignment and accuracy for perishables are FIFO's strong suit, but that only holds if your warehouse actually practices physical FIFO — the complexity is real and constant. Average Cost wins on ease of operation and smoother reporting, loses on precision during volatile pricing periods and can't support batch-level cost tracing.

There's also a maintenance cost difference nobody mentions in the sales pitch. Standard costing needs a human review cycle. FIFO needs warehouse process discipline. Average Cost mostly runs itself once configured, which is why it's the quiet default for a lot of mid-sized distribution and light manufacturing businesses that don't have a dedicated cost accountant on staff.

None of the three is "more accurate" in the abstract — each is accurate for a different kind of business reality. A method that's right for a bakery with 48-hour shelf life is wrong for an electronics importer negotiating annual supply contracts, and vice versa.

Selecting the Right Method Before Your Odoo Go-Live

Make this decision before go-live, not after, because Odoo ties the costing method to the product category and changes involve reconciling historical valuation layers rather than flipping a setting. I've been called in to fix exactly this situation twice: a client went live on Average Cost because it was the default nobody questioned, discovered eighteen months later that their finance team actually needed FIFO for a food safety audit trail, and the migration meant manually rebuilding cost history for products that had already been sold, scrapped, and reordered a dozen times over.

Start the conversation with your finance lead, not your warehouse manager, even though the warehouse manager will feel the operational consequences. Ask what your auditors expect, what your margin volatility actually looks like over the last two years of purchase invoices, and whether anyone downstream — a customer, a regulator, an insurance claim — will ever need you to prove the exact cost of a specific batch. The answer to that last question alone eliminates one of the three methods for most businesses.

If you're still unsure after that conversation, run the numbers both ways on a spreadsheet using last year's actual purchase history before you configure anything in Odoo. It's an hour of work that can save you a very bad Tuesday morning eighteen months into production.

Sources

  • odoo
  • inventory valuation
  • costing methods
  • fifo
  • standard cost

From our own engineering team

Shopify Odoo Connector

True two-way Shopify ⇄ Odoo sync — products, inventory, orders, customers and refunds, in real time.

$230.98 one-time

View details
Ready?

Let's find out whether Odoo actually fits your business.

A short call, an honest answer. If it isn't the right system for you, we'll say so.

LINE myprofitbook · WhatsApp · Bangkok · New York · Delhi NCR
Three Inventory Valuation Methods in Odoo Explained