Contact Us
← InsightsAccounting & inventory

Why Doesn’t My Odoo Inventory Valuation Match My Balance Sheet?

Your Odoo inventory valuation and balance sheet stop matching when stock moves and accounting entries fall out of step. In most cases it comes down to one of six causes: wrong opening stock, a mid-way costing change, unposted revaluations, uncleared stock interim accounts, negative stock, or manual entries posted straight to the stock account. Each one is fixable.

What does “not matching” actually mean?

You are comparing two numbers. The first is the Inventory Valuation report, which values the stock you hold today using your costing method (Standard, Average Cost or FIFO). The second is the balance of your stock valuation account in the Trial Balance or Balance Sheet.

  • Manual (periodic) valuation: stock moves do not create journal entries, so a gap between closings is expected until your accountant posts the period-end entry.
  • Automated (perpetual) valuation: stock moves create journal entries, so the two numbers should agree. A gap here means something went wrong.
  • Odoo 19: the flow changed. Perpetual valuation no longer means every receipt posts its own entry, and a closing step reconciles stock with accounting. Check which version you run before chasing the gap.

What are the most common causes?

CauseWhat you usually seeTypical fix
Opening stock loaded at zero cost, or posted twiceGap exists from go-live dayRevaluation dated at go-live; one clean opening entry
Valuation mode or costing method changed after stock existedOlder moves have no journal entries, or values shiftCorrecting entry or one-time revaluation, agreed with your accountant
Revaluation entries left in draftGap equals the revaluation amountReview and post them
Stock interim (received/delivered) accounts not clearedNon-zero interim balance at month endPost the missing bills and invoices against the right order lines
Negative stock and backdated movesOdoo estimates a cost, then recomputes laterBlock negative stock and correct the move dates
Manual journal entries or imports straight to the stock accountLedger higher than the valuation reportReverse them and use inventory adjustments instead

Small differences on Average Cost products can also come from rounding that builds up over thousands of transactions. That is normal and usually minor.

How do I find where the gap comes from?

  1. Pick one date and run the Inventory Valuation report as of that date.
  2. Run the Trial Balance for the same date, filtered to your stock valuation account(s).
  3. Note the direction. If inventory is higher than accounting, entries are missing. If accounting is higher, there are extra or duplicate entries.
  4. Check the stock interim accounts. A balance that never clears points to bills or invoices not linked to their purchase or sales order lines.
  5. Narrow it down by product category and month until you find the first month the gap appears.
  6. In that month, look for draft revaluations, stock moves with no journal entry, and manual entries on the stock account.

How do I fix it without breaking my books?

  • Fix the cause first, then correct the balance. Otherwise the gap comes back next month.
  • Never change stock quantities to force the numbers to match. That creates a second problem in the warehouse.
  • Make corrections through a revaluation or a dated journal entry, signed off by your accountant.
  • Link vendor bills to the original purchase order line. Selecting the same product on an unrelated bill does not update the receipt value.
  • Be careful with credit notes. A credit that reduces the billed quantity to zero can push valuation back to the purchase order price.
  • If the affected period is already closed or filed with tax authorities, ask your accountant how to handle the adjustment. Check current rules.

How do I stop it happening again?

  • Decide valuation mode and costing method per product category before go-live, and do not switch casually.
  • Load opening stock once, with correct unit costs, through inventory adjustments rather than journal entries.
  • Restrict who can post manual entries to stock accounts.
  • Turn off negative stock where your operations allow it.
  • Add a month-end check: interim accounts near zero and the valuation report equal to the ledger.

Get your stock and your books telling the same story

A valuation gap is rarely one bad entry. It is usually a setup or process issue that keeps repeating. Tenxora traces the gap to its source, corrects the balance with your accountant, and fixes the warehouse and billing flow so month-end closes cleanly.

Book a call →

FAQ

Is a small difference between Odoo inventory valuation and the ledger normal?

With Average Cost, small rounding differences can build up over many transactions. They are usually minor. A large or growing gap is not normal and points to a setup or process problem.

Should I use manual or automated inventory valuation in Odoo?

Automated valuation keeps the ledger in step with stock moves, which suits businesses that want live figures. Manual valuation is simpler but needs period-end entries. Decide with your accountant before go-live, because switching later is a common cause of mismatches.

Can I fix a valuation mismatch after the year is closed?

Yes, usually with a dated correcting entry or revaluation in the current period. How you present it depends on your accounting policies and any filings already made, so agree the approach with your accountant first.

Related service: Odoo Consulting

Sources: Implex wiki: Inventory valuation (Odoo 19), Braincuber: stock valuation mismatch causes, DeployMonkey: valuation mismatch fix, Odoo forum: opening balance under perpetual valuation

Have a question we haven’t answered? Book a call or explore our Odoo services.