an illustration of a figure standing on a rising bar chart
Inventory and Cost Accounting · WIP and COGS · Hub

AI Agents for WIP and
Cost of Sales Analysis

Most of a work in progress balance is production that finished, shipped and was invoiced, on an order nobody closed.

Key takeaways
  • An order that finished and was never flagged complete keeps its cost in work in progress, so cost of sales is understated and inventory overstated, quietly and cumulatively.
  • Ageing work in progress against each order's own expected completion separates late production from an administrative failure. A generic bucket cannot.
  • Under absorption in a low volume month is arithmetic, not performance, and over absorption is not good news because it inflates inventory until it unwinds.
  • Absorption variance decomposes into a volume effect and a rate effect. Only one of those is a statement about the plant.
  • A cost of sales difference found in month one is a configuration question. The same difference found at year end is a year of restatement.

AI agents for work in progress start from the order rather than the balance. ChatFin ages each open order against its own expected completion date, which separates production that is genuinely late from an order that finished months ago and was never closed, and the second category is usually the larger one.

For cost of sales it builds the theoretical figure from units shipped times the standard in force at shipment, adds each variance traceably, separates write downs and provisions from true cost of sales, and runs the whole reconciliation monthly rather than at year end.

Work in progressCost of salesAbsorption varianceManufacturing financeProduction ordersCost accountingMargin analysisAI agents for finance
01

Work in progress is mostly orders that finished and never closed

The work in progress balance is read as production that is genuinely underway. On most estates a large share of it is production that finished, shipped and was invoiced, on an order nobody technically closed.

What is in WIPWhy it sits thereWhat it does to the accounts
Genuinely in productionCorrectNothing
Complete, not flagged completeNobody set the statusCost never moves to COGS
Complete with a small residualRounding or a late issueA permanent small balance
Cancelled but not closedThe order was abandonedCost sits forever
Rework opened against itA second order on one jobDouble counted until settled

Rows two to five all mean cost of sales is understated and inventory overstated, quietly and cumulatively. ChatFin ages work in progress by order against the order's own expected completion rather than against a generic bucket, which is what separates late production from an administrative failure.

In ChatFin

ChatFin ages work in progress against each order's own expected completion date, which separates genuinely late production from an order nobody closed.

02

Absorption variance is a volume statement dressed as a performance one

Overhead is absorbed at a rate set on an expected volume. When actual volume differs the difference is an absorption variance, and it gets reviewed as though somebody did something wrong.

Under absorption in a low volume month is arithmetic. The rate assumed volume that did not happen. That is a planning outcome, not a plant outcome.
Over absorption is not good news. It means the rate was set too high against actual volume, and it inflates inventory value until it unwinds.
The rate itself is rarely revisited. Set annually with the standards, and then twelve months of volume happens to it.
It is allocated after the fact. Where absorption variance is spread across production at period end, the unit cost that results is not the unit cost anyone planned.
It hides real efficiency change. A genuine improvement and a volume shortfall can offset, and the reported variance looks flat while both are moving.

ChatFin decomposes absorption variance into the volume effect and the rate effect and reports them separately, because those are two different conversations and only one of them is about the plant.

an illustration of a figure standing on a rising bar chart
Under absorption in a low volume month is arithmetic, not performance.
In ChatFin

ChatFin splits absorption variance into volume effect and rate effect, because only one of the two is a statement about the plant.

03

Cost of sales has to tie to the ledger, and the tie out is usually annual

Cost of sales is built from shipments, standard costs, variances and adjustments, and it appears in the ledger as a set of postings from several sources. Reconciling the two is a real exercise and it is typically done once a year under pressure.

1

Start from shipments, not from the ledger

Units shipped times the standard in force at shipment is the theoretical cost of sales. Every difference from that has a name.

2

Add the variances deliberately

Purchase price, usage, labour, absorption. Each should be traceable to a posting, and anything that cannot be traced is the finding.

3

Separate the adjustments

Write downs, obsolescence provisions and physical count differences are not cost of sales in the same sense and reporting them together makes margin unreadable.

4

Do it monthly

A difference found in month one is a configuration question. The same difference found in month twelve is a year of restatement.

ChatFin runs that reconciliation every period rather than annually, and compares the difference across periods so a structural cause is separated from a one off. That is the same principle applied to subledgers on AI for the general ledger.

Ask when cost of sales was last reconciled to shipments times standard. If the answer is at year end, the monthly margin has not been verified at all.
04

Where this underperforms

Three.

Order status is a production system fact. ChatFin can show that an order has had no activity for ninety days and is still open. Closing it is a production decision with a settlement attached.
Expected completion has to exist. Ageing against an order's own expected date needs that date to be populated. Where it is not, the analysis falls back to a generic bucket and says so.
It does not set overhead rates. The rate is a costing decision. ChatFin shows what the current one is doing to reported margin and what a different one would have done.
Start with work in progress aged against expected completion and a single month's cost of sales tie out. The first usually finds cost that should have moved months ago and the second usually finds a structural difference.

Deeper in cost accounting

Where the rest of the inventory and cost work sits.

Questions cost accountants ask

Why is our work in progress balance so high?

Usually because a large part of it is not work in progress. Orders that finished and were never flagged complete, orders cancelled and never closed, small residuals from rounding or a late issue, and rework opened as a second order against one job. All four keep cost in inventory that should be in cost of sales.

What does absorption variance actually tell you?

Two different things at once, which is why it is misread. Part is a volume effect, meaning actual volume differed from the volume the rate assumed, and that is a planning outcome. Part is a rate effect. ChatFin reports them separately because only one is about the plant.

Is over absorption good?

No. It means the overhead rate was set too high relative to actual volume, so cost has been capitalised into inventory that will unwind later. It is reported as a favourable variance and it is a timing effect, not a gain.

How often should cost of sales be reconciled?

Monthly. Built from shipments times the standard in force at shipment, with each variance traceable to a posting and write downs separated out. A structural difference found in month one is a configuration question, and the same difference found at year end is a restatement.

How ChatFin works on WIP and COGS

Age the order, split the absorption, tie out monthly.

ChatFin ages each open production order against its own expected completion date, which is what separates late production from cost that should have moved months ago.

Absorption variance is split into volume and rate effects, and cost of sales is reconciled from shipments every period rather than once a year.

Bring your open production orders and one month of cost of sales.

Book a demo
AM
Ashok Manthena
CEO and co founder, ChatFin

Ashok Manthena is the CEO and co founder of ChatFin, an AI agent platform for enterprise finance that runs across NetSuite, Acumatica, JD Edwards, SAP and Dynamics 365. He works with CFOs and controllers on governed automation of the close, payables, receivables and reporting. Connect on LinkedIn.

Image credits. Header photograph: an illustration of a figure standing on a rising bar chart, sourced from Pexels and used under the Pexels licence.
All images are served from the Pexels content network. No third party product screenshots, vendor logos or licensed media are used on this page.
Get started

Bring your open production orders.

We will age them through ChatFin against their own expected completion dates and show you how much of your work in progress finished a long time ago.

✓Orders aged against their own expected completion
✓Absorption split into volume and rate effect
✓COGS built from shipments times standard at shipment
✓Write downs and provisions separated from true COGS
Request a demo
Confidential & private