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?
| Cause | What you usually see | Typical fix |
|---|---|---|
| Opening stock loaded at zero cost, or posted twice | Gap exists from go-live day | Revaluation dated at go-live; one clean opening entry |
| Valuation mode or costing method changed after stock existed | Older moves have no journal entries, or values shift | Correcting entry or one-time revaluation, agreed with your accountant |
| Revaluation entries left in draft | Gap equals the revaluation amount | Review and post them |
| Stock interim (received/delivered) accounts not cleared | Non-zero interim balance at month end | Post the missing bills and invoices against the right order lines |
| Negative stock and backdated moves | Odoo estimates a cost, then recomputes later | Block negative stock and correct the move dates |
| Manual journal entries or imports straight to the stock account | Ledger higher than the valuation report | Reverse 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?
- Pick one date and run the Inventory Valuation report as of that date.
- Run the Trial Balance for the same date, filtered to your stock valuation account(s).
- Note the direction. If inventory is higher than accounting, entries are missing. If accounting is higher, there are extra or duplicate entries.
- Check the stock interim accounts. A balance that never clears points to bills or invoices not linked to their purchase or sales order lines.
- Narrow it down by product category and month until you find the first month the gap appears.
- 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.
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

