How to Troubleshoot Inventory Valuation Issues in Business Central (v27)

Reading Time: 3 minutes

If you’ve been doing NAV or Business Central implementations long enough, you know exactly what the dreaded month-end phone call sounds like. The finance director is on the line, the G/L inventory account doesn’t match the subledger, and everyone is panicking. I have seen this scenario play out exactly the same way in both Greek workshops and massive UK manufacturing plants.

When the numbers don’t tie out, people start pointing fingers. But after 15 years on Business Central and NAV (and 30 in ERP overall) fixing these mismatches, I can tell you that the root cause is almost always the same few things, and you can usually find the smoking gun in a matter of hours, not days.

Stop Blaming the System and Look at the Setup

Inventory Valuation Diagnostic Tree
Inventory Valuation Diagnostic Tree

I’m not going to sit here and explain the textbook definitions of FIFO, Average, or Standard costing. You already know what they are. What I will tell you is how people break them.

The most classic mistake I see in manufacturing is consultants putting a client on Average Cost because it seems “simpler” to maintain than Standard Cost. It isn’t. Average cost smooths out fluctuations, which means it hides your production inefficiencies until month-end, and then finance has a heart attack trying to figure out why the margins are completely wrong. For manufacturing, Standard Cost is almost always the answer, but only if you actually remember to roll up your BOM and Routing costs using the Standard Cost Worksheet. If you don’t, your WIP will be a mess.

The other massive culprit? Timing. Someone in IT decided to turn off “Automatic Cost Posting” or “Automatic Cost Adjustment” because they read on a forum that it “speeds up the system during posting.” Yes, it speeds up posting, but it completely decouples your inventory value from your General Ledger.

My Battlefield Routine

When a client calls me with a valuation mismatch, I don’t guess. I follow a very strict routine.

First, I immediately run the Inventory Valuation – G/L Reconciliation report. I include WIP (this is critical for factories) and look at the three columns: Inventory Value, Inventory (G/L), and the Variance. Whatever is in that Variance column is what we are hunting.

Next, I go straight to the Value Entries. This is where the truth lives. I filter the page for Cost Posted to G/L = false. If you see a massive list of entries here, congratulations, you found the problem. You have costs that have hit your inventory but are just sitting there, waiting to be pushed to the General Ledger.

The Fix

In 80% of the cases I handle, the fix is exactly the same:

  1. Make sure all your production output and consumption for the period is actually posted. You’d be surprised how often a job is just left hanging.
  2. Run the Adjust Cost – Item Entries batch job. Do not skip this. This is the engine that calculates the actual costs and pushes them through the system.
  3. Run the Post Inventory Cost to G/L batch job to actually bridge the gap between your Value Entries and your financial statements.

Automating the Hunt

Over the years, I got incredibly tired of manually applying the same filters and checking the same setups every single month-end. So, I put together a small, open-source AL extension that does the heavy lifting.

It includes an audit routine that compares expected G/L accounts against actual postings, highlights mismatches in a list page, and adds some much-needed actions directly onto the Value Entries page.

You can grab the code or contribute to it here: github.com/GmsoftLtd/ValueEntryAudit

Inventory valuation issues are terrifying for finance teams, but from a BC architecture standpoint, they are highly logical. Don’t panic. Run your reconciliation report, check your unposted Value Entries, run your batch jobs, and you’ll find the missing money.


Discover more from Inside Business Central

Subscribe to get the latest posts sent to your email.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top