A calculator, coins, banknotes and a notebook of calculations
Inventory and Cost Accounting · Pillar

AI for Inventory
and Cost Accounting

A cost report gives you one unfavourable number. The purchase orders, work orders and movements that made it are the part that takes two days to find.

Key takeaways
  • A cost report totals the variance. The job is naming the purchase orders, work orders and material movements that created it, and that is retrieval rather than judgement.
  • Inventory is the hardest reconciliation in the close because volume is an order of magnitude above the rest of the ledger and every individual error is small enough to look reasonable.
  • Quantity and value have to be read on the same row. A value difference with no quantity behind it is a costing problem. A quantity difference with no value is usually a unit of measure problem.
  • In a worked purchase price variance of 268,000, only 141,000 was a purchasing outcome. The rest was a stale standard, late landed cost and one wrong unit of measure, and all three have different owners.
  • ChatFin decomposes the variance, attaches the movements behind each component, and posts nothing. A cost accountant decides what is a cost problem and what is a standard that needs resetting.

AI for inventory and cost accounting means an agent that takes a reported variance and splits it into components that add back to the total, with the purchase orders, material documents and work orders behind each component attached. It reconciles the inventory subledger to the general ledger at movement level, and it proposes accruals for goods received and not invoiced. It does not set standards, it does not choose reserve policy, and it posts nothing.

Inventory is where this matters most because the volume defeats manual work. A plant running a few thousand material movements a day produces a reconciling difference that is real, is made of hundreds of small items, and gets signed on judgement every month because finding the cause takes longer than the close allows. ChatFin reads the movements, groups them by cause, and hands a cost accountant a work list instead of a total.

Inventory accountingCost accountingPurchase price varianceStandard costingLanded costExcess and obsoleteCycle countingManufacturing varianceAI agents for finance
01

What an inventory and cost accounting agent does

It explains variances that a cost report only totals. Standard costing produces a set of differences every period, and the report tells you the size of each one. It does not tell you which purchase orders, which work orders and which movements created them, and that is the entire job.

Decompose the variance. Split purchase price, material usage, labour and absorption into components that add back to the reported total.
Name the documents. Attach the purchase orders, the material documents and the work orders behind each component, so a cost accountant opens evidence rather than searching for it.
Reconcile the subledger. Tie inventory movements to the general ledger and list the differences with the movement type that caused each one.
Propose the accruals. Goods received and not invoiced, priced from the purchase order and the receipt, ready for a person to release.
In ChatFin

ChatFin drafts the variance explanation with the movements attached and posts nothing. A cost accountant decides what is a real cost problem and what is a standard that needs resetting.

02

Why inventory is the hardest reconciliation in the close

Because the transaction volume is an order of magnitude above the rest of the ledger and the errors are individually small. A plant running a few thousand material movements a day produces a subledger to general ledger difference that is real, is made of hundreds of items, and cannot be worked by hand inside a close window.

DifferenceTypical causeWhy it survives a review
Subledger does not tie to the GLA movement type posting to an account nobody expectedThe total is small relative to the balance
Cycle count adjustments cluster in one partA unit of measure conversion applied inconsistentlyEach adjustment looks individually reasonable
Standard cost is staleThe standard was set at last year's rates and never resetThe variance is stable, so it reads as normal
Landed cost sits in the wrong periodFreight and duty invoiced weeks after the receiptIt nets out over a quarter, so nobody chases it
Work order not closedProduction finished, the order left open with residual costIt is only visible from an open order report nobody runs

The pattern is the same in every case. The cause is knowable, the evidence exists, and it takes longer to find than the close allows. ChatFin was pointed at this because it is retrieval rather than judgement.

A subledger to general ledger difference of 40,000 on a 12,000,000 inventory balance gets signed on judgement most months. It is 0.3 percent, and finding it means opening several hundred material documents. That is the exact shape of work an agent should be doing.
03

Where the numbers come from, by system

Inventory lives in a subledger with its own document type in every major ERP. The read has to be at movement level, because that is where the cause is.

SystemRead pathWhat cost accounting pulls
SAP ECC and S/4HANARFC enabled BAPIs and the material tablesMKPF and MSEG material documents, movement types such as 101 for a goods receipt against a purchase order and 261 for a goods issue to an order, plus the material ledger through CKM3
NetSuiteSuiteQL and SuiteTalk RESTItem receipt, item fulfilment and inventory adjustment transactions, joined across the transaction and transactionline records with the item dimension
Oracle FusionREST, with FBDI for file based loadsCost Management distributions and the receiving transactions behind them
Sage IntacctThe Web Services APIInventory transactions by warehouse and item, with the dimensions attached
JD Edwards EnterpriseOneApplication Interface Services and OrchestratorItem ledger movements tied to F0911 account ledger postings. Confirm the item ledger table set for your own release

Two things make the read usable. Every figure carries the movement type or transaction type that produced it, and quantity and value are read together. A value difference with no quantity behind it is a costing problem. A quantity difference with no value is usually a unit of measure problem.

In ChatFin

ChatFin reads quantity and value on the same row for exactly this reason. Separating them is how an inventory reconciliation ends up chasing the wrong cause for two days.

04

A worked purchase price variance, 268,000 unfavourable

Purchase price variance for the quarter is 268,000 unfavourable against a standard set at the start of the year. The cost report says that and stops. Here is the decomposition, built from the receipts and the purchase orders behind them.

ComponentAmountEvidence a cost accountant can open
Genuine market movement on two raw materials141,000Receipts at the new contract price, both suppliers, dated
Freight and duty capitalised late62,000Landed cost invoices posted after the receipt, so priced at standard
Standard never reset after last year's renegotiation48,000The contract price and the standard differ on every receipt in the period
Wrong unit of measure on one item22,000Purchase order in cases, receipt in each, one item, 31 receipts
Residual across everything elsenegative 5,000Aggregated, 480 receipts, none above 400
Total268,000Adds back to the reported variance

Only the first component is a purchasing outcome. The other three are a costing maintenance problem, a timing problem and a master data error, and each has a different owner. A single unfavourable number sends all of it to the wrong conversation.

The unit of measure line is the one worth finding. Twenty two thousand across 31 receipts on one item, and it will keep producing variance every period until somebody corrects the purchase order unit. That is a five minute fix that nobody makes, because nobody knows which item it is.
05

The patterns that break an inventory reconciliation

Four, and every cost accountant has spent a day on each of them.

The unit of measure conversion. Purchased in cases, stocked in each, consumed in kilos. Every conversion is a place a factor can be wrong, and the error is proportional so it grows quietly with volume.
The movement type posting somewhere unexpected. A configuration change routes one movement type to a different account. The subledger is right, the general ledger is right, and they do not agree.
Landed cost arriving after the period. Freight, duty and tariff are invoiced weeks after the goods. Booked in the later period they distort both months and neither one is wrong on its own terms.
The negative inventory that resolved itself. A goods issue posted before the receipt, valued at whatever the system had, then corrected when the receipt arrived. The quantity is right at period end and the value is not.
A person typing on a laptop beside cash and a calculator
Every one of these is found by reading movements, which is why an account level reconciliation never surfaces them.
In ChatFin

ChatFin groups reconciling items by cause rather than by amount, because the owner of a unit of measure problem and the owner of a landed cost timing problem are different people.

06

Excess and obsolete, where policy meets evidence

The reserve calculation is arithmetic. Deciding the policy behind it is not, and an agent should be doing only the first part.

1

Build the ageing on movement, not on receipt date

An item last consumed 14 months ago is a different risk from one received 14 months ago and consumed steadily. Receipt date ageing overstates the first and misses the second.

2

Apply the documented policy consistently

Whatever the bands are, apply them the same way every period and report which items moved between bands and why.

3

Separate the items with a demand signal

An open sales order, a firm forecast or a service obligation against an aged item changes the answer. That evidence sits outside the inventory subledger.

4

Report the movement in the reserve, not just the balance

Additions, releases and write offs, each with the items behind them. A reserve that only ever moves in one direction is a policy problem.

The number that tells you whether the reserve is being managed is the value released back to the profit and loss account when aged stock is finally sold or consumed. If that figure is always near zero, the bands are too aggressive or the ageing is being measured on the wrong date.
In ChatFin

ChatFin calculates the reserve under the policy you document and shows the items that moved band. It does not choose the bands and it does not decide what is obsolete.

07

Manufacturing variance, work order by work order

A plant variance report is an average, and averages hide the thing you need. The useful view is the distribution across work orders, because a plant running at plan with four bad orders looks identical to a plant running badly across the board.

VarianceWhat it comparesThe question it should raise
Material usageQuantity issued against the bill of materialIs this scrap, a substitution, or a bill that no longer matches the process
Material price on issueIssue value against standardUsually inherited from purchasing, so it should not be judged at the plant
Labour efficiencyHours booked against routingIs the routing current, or has the process changed and the routing has not
Overhead absorptionApplied against actual spend and volumeAlmost always a volume question rather than a spending one
Scrap and reworkRecorded scrap against allowanceWhich operation, which shift, which part number
Order not closedResidual cost on a finished orderA reporting hygiene issue that distorts the next period as well

ChatFin builds the distribution rather than the average, and lists the work orders in the tail with the movements behind them. In most plants a small number of orders carries the majority of the unfavourable variance, and identifying them is the whole of the analysis.

1

Rank orders by absolute variance, not percentage

A 40 percent variance on a small order is noise. The tail that matters is the one carrying real money.

2

Split each order into its variance components

So an order that looks bad on usage and fine on labour is separated from one that is the reverse. They go to different people.

3

Check the routing and bill of material dates against the order date

A large share of usage variance is a bill that changed after the order was released, which is a maintenance question rather than a production one.

In ChatFin

ChatFin reports the variance distribution and names the orders in the tail. Whether the answer is a process change, a bill correction or a standard reset is a plant conversation and it stays with the plant.

08

Landed cost and tariffs, which live in inventory

Freight, duty and tariff are inventory costs, not period costs, and treating them as a line on the profit and loss account is where the number stops being explainable.

The timing gap is the whole problem. Goods arrive and are received. The freight invoice arrives two weeks later, the duty entry later still. The receipt was valued without them, so the difference lands as variance in a later period.
Allocation basis decides who looks expensive. Freight allocated by value, by weight or by unit gives three different product margins from the same shipment. The basis should be documented and stable rather than chosen per shipment.
Tariff changes do not announce themselves in the ledger. A rate change shows up as a gradually worsening purchase price variance on affected items, months before anyone connects it to the policy change.
Sold stock cannot be recosted. Landed cost arriving after the goods have shipped hits cost of sales rather than inventory, so the margin on that sale is wrong and stays wrong.
The test worth running is simple. Take the landed cost invoices posted in the period, and report how many relate to receipts in a prior period and what share of the affected stock has already been sold. That single figure tells you how much of your reported margin is an artefact of timing.
In ChatFin

ChatFin ties landed cost invoices back to the receipts they belong to, reports the share already consumed or sold, and proposes the accrual for shipments received and not yet invoiced.

09

Where an inventory agent underperforms

Three cases, all data quality rather than model quality.

Unit of measure conversions are not maintained centrally. If conversion factors live in several places and disagree, an agent will reconcile to the wrong one confidently. That has to be fixed before automation is worth anything.
Standards are reset irregularly. Where the standard cost is years old, every variance is dominated by the stale standard and the useful signal is buried underneath it.
Physical counts are infrequent. An agent reconciles the records. It cannot tell you the records are wrong because the stock is not there. Cycle counting is still the control that anchors everything else.
In ChatFin

ChatFin reconciles what the systems hold and reports where they disagree. Where the difference is between the system and the physical stock, the honest answer is that this needs a count, and ChatFin says so.

How the inventory and cost accounting cluster is organised

Two hubs sit under this page and both are in build. They are shown here rather than linked, because a link to a page that does not exist yet is worse than no link. This page is linked into the wider function tree in the meantime.

In build, inventory reconciliation
Inventory variance analysis · Inventory reconciliation · Inventory related accruals

In build, inventory and manufacturing variance
Manufacturing financial variance analysis · Purchase, receipt and invoice reconciliation

Questions cost accountants ask first

How does an AI agent explain a purchase price variance?

By rebuilding it from the receipts rather than reporting the total. The agent reads every receipt in the period, compares the actual price to the standard on each one, and groups the differences by cause. In practice they cluster into genuine market movement, landed cost capitalised after the receipt, a standard that was never reset, and unit of measure errors on specific items. ChatFin attaches the purchase orders and receipts to each group so a cost accountant can check the split adds back to the reported variance.

Can an agent close an inventory subledger to general ledger difference?

It can find it and explain it. It should not clear it. The agent reads material movements with the movement type attached, ties them to the account postings, and lists the items that do not agree with the cause for each. Configuration changes that route a movement type to an unexpected account are the most common single cause and the hardest to see from account level. ChatFin prepares the correcting journal and a named person releases it.

What does an agent not do in cost accounting?

It does not set standard costs, choose reserve bands, decide what is obsolete or tell you the physical stock is missing. It reconciles what the systems hold. Where the difference is between the records and the shelf, the honest answer is that a count is needed, and ChatFin says that rather than producing an adjustment. Cycle counting stays the control that anchors everything else.

How ChatFin works in cost accounting

One unfavourable number becomes five causes with five owners.

ChatFin reads material movements at document level, splits a reported variance into components that reconcile to the total, and attaches the purchase orders, receipts and work orders behind each one.

It reconciles the inventory subledger to the general ledger with the movement type that caused each difference, groups reconciling items by cause rather than by amount, and posts nothing without a named approval.

Bring one period of purchase price variance and the subledger difference you signed on judgement. The comparison takes an hour.

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: a calculator, coins, banknotes and a notebook of calculations, sourced from Pexels and used under the Pexels licence.
Section photograph: a person typing on a laptop beside cash and a calculator, 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 the difference you signed on judgement.

We will read the same movements through ChatFin, group the reconciling items by cause, and show you the documents behind every line.

✓Quantity and value read on the same row
✓Every figure carrying the movement type that produced it
✓Reconciling items grouped by owner, not by amount
Request a demo
Confidential & private