A AION Academy
← Back to the costing guide

Learn / Costing

WIP valuation — the hidden number on your F&B balance sheet

Work-in-process holds 5-15% of an F&B factory's monthly revenue at any moment. Most factories don't value it correctly because their accounting doesn't track production transactions in real time. Here's how WIP valuation actually mechanically works in AION.

9 min read · Published 2026-05-15

A factory floor has inventory that’s not raw material and not finished goods. The juice has been mixed but not bottled. The bottles have been filled but not capped. The pallets are stacked but waiting for QA release. Until each of those steps completes, the inventory is in work-in-process — WIP.

For most F&B factories above SAR 10M revenue, WIP holds between 5% and 15% of monthly revenue at any moment. On a SAR 65M annual revenue factory like Oasis Fresh, that’s SAR 270K to SAR 810K of working capital tied up in production — every day. If you’re not valuing it correctly, your balance sheet is wrong, and your CFO can’t see one of the largest leading indicators of operational health.

What goes into WIP

Four kinds of cost accumulate on a job order while it’s running:

  1. Material issued from raw inventory. When the warehouse releases concentrate, sugar, packaging to the production floor for a specific job, those costs leave raw inventory and enter WIP.
  2. Labour charged. Operators booking hours against the job add labour cost at the resource’s standard rate.
  3. Overhead absorbed. Each hour of resource usage absorbs overhead at the configured rate.
  4. Scrap and partial completion. As bottles get scrapped or partial completions move to finished goods, WIP gets relieved.

The WIP balance at any moment is:

WIP balance = materialIssued + labourCharged + overheadAbsorbed − completionsToFG − scrap

Each of these is a transaction posted to the wip_transaction table. AION runs the aggregation query (get-wip-valuation.use-case.ts) any time you want the current WIP balance — for a single job, for all jobs at a warehouse, or factory-wide.

Why this is hard without an ERP

In a spreadsheet world, WIP gets valued once a month at period close — and even then, the valuation is usually a guess. The cost accountant walks the floor with a clipboard, estimates how much is in each tank and on each pallet, multiplies by the standard cost per unit, and posts a journal entry.

This is wrong in three ways:

  1. It’s lagged. The estimate at month-end doesn’t tell you anything about Tuesday morning’s WIP.
  2. It’s inaccurate. “About half a tank” isn’t a unit. “Pallets stacked four high” depends on how many bottles per layer.
  3. It can’t be reconciled. Period to period, WIP “drifts” by amounts the auditor can’t explain. The drift is the difference between the rough estimate and reality.

An ERP that posts WIP transactions in real time gives you a balance that’s always current, always accurate to the unit, and always reconcilable to the underlying transactions.

Worked example — Oasis Fresh on a Tuesday afternoon

Open the Oasis Fresh demo as cfo.saudi. Navigate to Manufacturing → WIP Balance.

Three active job orders this afternoon:

Job JO-2026-00125 (Oasis Orange Juice 1L, 8,000 bottles):

  • Materials issued: SAR 78,400
  • Labour charged: SAR 1,500
  • Overhead absorbed: SAR 2,000
  • Completions to FG: SAR 65,000 (so far)
  • Scrap: SAR 200
  • Current WIP balance: SAR 16,700

Job JO-2026-00126 (Oasis Mango Juice 1L, 10,000 bottles):

  • Materials issued: SAR 98,500
  • Labour charged: SAR 1,750
  • Overhead absorbed: SAR 2,500
  • Completions to FG: SAR 0 (just started)
  • Scrap: SAR 0
  • Current WIP balance: SAR 102,750

Job JO-2026-00127 (Oasis Apple Juice 1L, 6,000 bottles):

  • Materials issued: SAR 53,400
  • Labour charged: SAR 1,000
  • Overhead absorbed: SAR 1,400
  • Completions to FG: SAR 55,800
  • Scrap: SAR 150
  • Current WIP balance: SAR −150 (wait, that’s negative)

The negative WIP on Job 127 is a flag. Either the completions are over-recorded (more bottles credited to FG than actually came out), or there was a backflush adjustment that wasn’t reversed, or the standard cost has moved since the job started. Worth a closer look.

The total active WIP balance: SAR 119,300. On a typical Tuesday, with a third of capacity engaged, that’s roughly in line with what Oasis Fresh’s annual revenue would predict.

Why CFOs watch WIP growth

The interesting question isn’t the absolute WIP balance. It’s the trend.

WIP growing faster than revenue means one of three things:

  1. Cycle time is lengthening. Jobs are taking longer to complete from issue to finished good. Operational slowdown.
  2. QA hold queue is growing. More batches sitting in WIP waiting for release. Quality system stress.
  3. Material is being over-issued. Operators issuing more than the recipe needs, increasing WIP without commensurate FG output.

All three are signals before they become crises. A CFO who plots monthly WIP-to-revenue ratio sees the trend before the operating director feels it.

For Oasis Fresh, a healthy ratio is 5–8% of monthly revenue in active WIP at any time. Climbing past 10% is yellow; past 15% is red.

How AION handles WIP at period close

End of month, the costing close (5 steps) revalues WIP transactions if the underlying average cost has moved during the period. Specifically:

  • Step 2 updates purchased item costs (including raw materials that may have been issued to WIP earlier in the period).
  • Step 4 recalculates period average cost.
  • Step 7 sweeps uncosted issues — these are transactions that were posted at provisional cost during the period and now need to be marked at the final period average. Many of these are WIP issues.

The end result is that WIP balance at period close reflects:

  1. Current quantities in WIP (from real transactions)
  2. Final period unit costs (after the average recalculation)
  3. Any variance posted during the close

Source: close-costing-period.use-case.ts Steps 2, 4, 7.

Common mistakes

Treating WIP as a black box. Some factories accept that WIP is “approximately right” without ever drilling in. Then the auditor finds SAR 200,000 of unexplained WIP variance at year-end and the discussion gets awkward. WIP is auditable — every transaction is posted and reconcilable. Use that.

Not separating WIP by warehouse/sub-inventory. A factory with multiple production lines should track WIP per line or per warehouse. Aggregate WIP across the whole factory hides where the inventory is concentrating. AION supports sub-inventory level tracking — use it.

Ignoring negative WIP. A negative WIP balance on a job is a data integrity flag. Investigate. Don’t just net it to zero in a journal.

Where to go next

Once WIP is valued correctly and you’re watching the trend, the natural next step is understanding what period close mechanically does to reconcile WIP and finalise the books. That’s covered in Period close in 2 days — costing close mechanics.

For the upstream view of how material gets into WIP in the first place, see True cost per litre of juice which walks through the receipt-to-issue flow.

See this in the Oasis Fresh demo

Log into the Oasis Fresh (Saudi) BG as cfo.saudi

Common questions

What is WIP exactly?

Work-in-process — inventory that's been issued from raw materials but hasn't yet been completed as finished goods. Bulk juice in tanks, pasteurised batches awaiting filling, bottles awaiting QA release, packed-but-uncased product. WIP has real value (raw materials consumed + labour charged + overhead absorbed) and must appear on the balance sheet.

How does AION compute WIP balance for a job order?

From the wip_transaction table. Formula: materials issued + labour charged + overhead absorbed − completions to FG − scrap. Each operation that affects WIP posts a transaction with the right sign. AION's get-wip-valuation use case aggregates by job and runs the balance query in real time. Source: get-wip-valuation.use-case.ts.

Why does WIP balance matter for cash-flow management?

WIP is working capital. A growing WIP balance means more raw material has been consumed than finished good has emerged — your factory is tying up cash in the production floor. WIP growing faster than revenue is a leading indicator of operational stress (longer cycle time, more QA holds, slowdown on output).