How average costing actually works

With average costing, NetSuite recalculates an item's unit cost every time inventory comes in. Each receipt blends the new cost with the value already on hand, and every outbound transaction — a sale, a work order consuming components, an adjustment — is valued at the average at that moment. When you track inventory by location, that average is kept separately for each location.

Two details catch most teams out:

  • Transactions are costed in date order, not entry order. Enter a receipt dated last month and NetSuite has to re-cost everything after it. Your numbers can change after you thought a period was done.
  • An outbound transaction can only use the cost that exists at that point in time. If the stock wasn't there yet, NetSuite has to estimate — and correct later.

Average costing isn't fragile, but it is honest: it faithfully reflects the order and quality of your transactions. When the cost looks wrong, the cause is almost always upstream.

The six usual suspects

1. Negative inventory

The single biggest cause. When a sales order ships or a work order consumes components before the receipt is recorded, on-hand goes negative. NetSuite values that outflow using the best cost it has, then adjusts once the real receipt posts. The result: COGS and inventory value that jump around, and adjustments landing in periods where nobody expects them.

2. Backdated and out-of-sequence transactions

Receipts entered days late, bills dated to the original PO date, adjustments posted "as of" last month. Each one triggers recalculation of everything after it — often across a closed period.

3. Bills of materials that don't match reality

Wrong component quantities, the wrong unit of measure, or scrap that isn't modelled. If the work order consumes the wrong amount, the assembly's cost is wrong from the moment it's built.

4. Labor and overhead that never reach the product

In Advanced Manufacturing, labor and machine costs flow through the routing and its cost templates. If routings are missing cost templates, or completions don't record run and setup time, finished goods are costed as materials only — and the gap shows up as margin that looks too good to be true.

5. Work orders left open

Costs sit in WIP until a work order is closed and its variances post. Dozens of stale, partially-built work orders mean WIP that never clears and variances that arrive in a lump months later.

6. Freight and duty that never land on the item

If landed costs aren't applied to receipts, the average only reflects the vendor price. Your true cost is higher, and it's hiding in an expense account.

A practical way to diagnose it

Don't try to fix the whole item master at once. Pick the one item that worries you most and trace it:

  1. Pull the item's full transaction history in date order, with quantity on hand and value after each line. A saved search on inventory transactions works well.
  2. Find the first point where things went wrong — on-hand dipping below zero, or a sudden jump in unit cost.
  3. Look at what happened just before it. A late receipt? A backdated bill? An adjustment with an odd unit cost? A work order consuming 10× the normal quantity?
  4. Check the assembly's BOM and routing against what the shop floor actually does.
  5. Repeat for two or three more items. By the third, you'll usually see the pattern — and it's almost always a process, not a bug.
TipBuild one saved search that lists every item whose on-hand went negative in the last 90 days. It's the fastest early-warning system you can have.

Fixing it for good

SymptomLikely causeFix
COGS swings week to weekNegative inventoryReceive before you ship or consume; review whether your account should allow negative inventory at all
Closed-period numbers changeBackdated transactionsLock periods on schedule; enforce receipt and bill cutoffs
Assembly cost too lowNo labor/overhead in routingsAssign cost templates to routing steps; record run and setup time on completions
Assembly cost erraticBOM quantities or units of measure wrongAudit BOMs against actual consumption; fix units of measure
Large, late variancesWork orders left openClose completed work orders weekly and review variances as they post
Margins look too goodLanded cost not appliedApply freight and duty to receipts as landed cost

Once the process is fixed, correct the historical value — for average-cost items, an inventory worksheet or adjustment at the right value is usually the cleanest route. Agree the approach with your controller first, because it posts to the GL.

When to bring in help

If costing problems span many items, cross closed periods, or involve Advanced Manufacturing routings and WIP, it's worth a second pair of eyes. Average costing issues compound quietly: every month they're left alone, the clean-up gets bigger.

We've helped manufacturers course-correct average costing and Advanced Manufacturing setups after go-live — usually by fixing a handful of processes rather than rebuilding anything.

Want a second opinion on your system?

Book a free 30-minute ERP health check. A senior consultant will look at your setup and give you three practical next steps.

Book a consultation