A AION Academy
← Back to the costing guide

Learn / Costing

True cost per litre of juice — why Excel is lying to you

Most F&B factories compute unit cost in a spreadsheet using last year's numbers. The real cost moves every month because concentrate, packaging, and freight all move. Here's how to compute it properly — and what your finance team should see in the GL.

12 min read · Published 2026-05-15

If you run an F&B factory and someone asked you right now what it costs to produce one litre of mango juice, you’d give them a number. That number would be wrong.

Not by a small amount. By 8–15% in most factories I’ve looked at. The reason is mechanical: the number you gave came from a spreadsheet, the spreadsheet uses last year’s standard cost, and seven things have moved since then.

The seven things that move

Take a real example from our Oasis Fresh (Saudi) demo BG, configured for a juice factory producing Oasis Mango Juice 1L (FG-SA-MNG-1L) with a standard cost of SAR 10.5 per bottle.

The recipe is roughly:

  1. Mango concentrate — 65g per bottle, from Cairo Citrus Co. (Egypt) at USD 42/kg → roughly SAR 10.2/kg today, but it was SAR 9.4/kg in January and SAR 11.6/kg last August
  2. Sugar — 95g per bottle, from Riyadh Sugar Refineries at SAR 5/kg local
  3. Citric acid — 0.5g per bottle, imported from Anatolian Fruit Industries (Turkey)
  4. Vitamin C — 0.05g per bottle, imported (high unit cost, tiny quantity)
  5. PET bottle — preform at SAR 1.4 each from Eastern Plastics Industries (local)
  6. Cap — PCO 28mm at SAR 0.18 each
  7. Label — shrink label at SAR 0.35 each
  8. Carton — 12-pack carton case at SAR 1.9 per case, so SAR 0.16 per bottle
  9. Labour — bottling line operator + QA + warehouse handling, ~SAR 0.40 per bottle
  10. Overhead — line depreciation, utilities, factory rent, ~SAR 0.55 per bottle

That’s ten cost inputs. The first five are raw materials. The next four are packaging. The last two are conversion costs. Of the ten, at least six change month to month — concentrate prices because of FX and crop yields, sugar because of commodity markets, packaging because of polymer prices, and overhead because of utility tariffs.

The spreadsheet you used in January doesn’t know any of this.

Why Excel fails specifically

Excel can compute. Excel can hold formulas. Excel doesn’t have an inventory system attached to it.

So when concentrate price changes from SAR 9.4/kg to SAR 10.2/kg, three things need to happen and Excel handles none:

  1. The new cost has to apply only to receipts from that date forward. Your existing inventory was bought at SAR 9.4 and should stay valued at that until consumed. Excel will either overwrite (wrong) or you’ll keep a manual layer-by-layer record (impractical at any real scale).
  2. The new cost has to roll through to finished-goods standard cost. If you’re using standard costing, the juice 1L bottle now has a new standard. If you don’t update it, every production run posts at the old standard and the variance silently rises.
  3. The new cost has to drive a new selling price decision. If concentrate goes up by SAR 0.8/kg, your unit cost just went up by SAR 0.052 per bottle. At a 30% margin target, you should be moving sell price up by SAR 0.075. Without knowing the new unit cost, the sell price stays where it was and margin erodes.

None of these are Excel problems. They are accounting-system problems that masquerade as spreadsheet problems.

What the real cost looks like

Here’s the unit cost of Oasis Mango Juice 1L computed properly for May 2026, using the actual average costs after the latest receipts:

InputQuantity per bottleUnit cost (SAR)Cost per bottle (SAR)
Mango concentrate0.065 kg10.2 / kg0.66
Sugar0.095 kg5.0 / kg0.48
Citric acid0.0005 kg14.0 / kg0.01
Vitamin C0.00005 kg90.0 / kg0.00
Water (treated)0.85 L0.6 / L0.51
PET bottle 1L1 each1.40 each1.40
Cap PCO 28mm1 each0.18 each0.18
Shrink label1 each0.35 each0.35
Carton allocation1/12 each1.90 / case0.16
Direct labour1 bottle0.40 / bottle0.40
Overhead1 bottle0.55 / bottle0.55
Total4.70 SAR

Wait — that’s a lot lower than the SAR 10.5 standard cost from the seed. What’s happening?

The answer is that a 1L juice bottle is not a “65g of concentrate” recipe — it’s a water dilution of concentrate. The actual mango concentrate input to the bulk mix is closer to 13-15% by volume (so ~130-150g per litre of bulk juice, not 65g). The numbers above are illustrative of the method, not the actual Oasis Fresh formulation.

The real Oasis Mango Juice 1L unit cost lands at SAR 10.5 because:

  • The concentrate input is higher (more like 120g per bottle, since the bottle is mostly juice not water)
  • Packaging accounts for ~30% of the unit cost in 1L SKUs (drops to ~50%+ for 330ml)
  • Overhead absorption per bottle is meaningful at lower volumes

The point isn’t the exact number. The point is that the unit cost is a calculation, not a lookup, and every input that goes into it has a story of its own.

How AION computes it end-to-end

In the demo BG, this calculation runs continuously. Walk it as cfo.saudi:

  1. Receipt of concentrate. Cairo Citrus Co. ships 500 kg. The PO captures USD price; receipt captures FX at the moment. Landed cost includes freight (Capital Logistics Supplies, SAR 0.40/kg), customs duty, and any handling allocations. The full SAR cost rolls into the average for that item. Source: material-transaction.orm-entity.ts (the currencyCode and currencyRate fields on every receipt) and landed-cost-header.orm-entity.ts.

  2. BOM rollup re-runs. Because the average cost of mango concentrate moved, the standard-cost rollup automatically re-explodes the BOM tree for any FG that uses it. Bulk mango mix (WIP-SA-MNG-MIX) gets a new standard. Oasis Mango Juice 1L (FG-SA-MNG-1L) gets a new standard. Source: standard-cost-rollup.service.ts (FULL mode, multi-level).

  3. Production run. A job order issues materials (debit WIP, credit raw inventory at average cost). Labour and overhead get charged via routing definitions. Completion of 10,000 bottles relieves WIP and debits FG inventory at the new standard cost. Source: wip-transaction.orm-entity.ts.

  4. Variance posting. If the job actually consumed 67kg of concentrate instead of the 65kg the recipe required for that output, the SLA engine generates a material usage variance journal automatically. 2kg × SAR 10.2 = SAR 20.40 debit to variance, credit to WIP. The CFO sees it the next time she opens the variance report. Source: variance-calculation.service.ts:34-59.

  5. Period close. End of month, the costing close (5 steps with crash recovery) sweeps any uncosted issues, recalculates the average for the period, and writes the final unit costs back to the item master. Source: close-costing-period.use-case.ts.

The CFO never opens a spreadsheet. Every cost input is captured at the transaction. Every change ripples to the GL automatically.

What this means for your pricing decisions

Once you have accurate unit cost — not a January number but a live one — pricing becomes a different conversation. You’re not arguing about whether the SAR 16 sell price of Oasis Mango Juice 1L gives you 35% or 38% margin. You know it gives you 34.6% margin this month, and that’s down from 36.2% in March because of the concentrate price increase. You either accept the margin compression, raise price, or change a packaging supplier.

Compare that to the alternative: in February you negotiated a 5-year supply contract for PET bottles at SAR 1.40 each. The market moved to SAR 1.55. You don’t notice until the auditor catches it in November because your spreadsheet still has SAR 1.40 hard-coded. Margin slipped for nine months without anyone seeing it.

The cost engine that runs continuously is the difference. Excel can’t be that engine. An ERP with the SLA-driven posting model can.

The reports your CFO should actually look at

Three reports give you the picture:

  1. Item cost history — for any single SKU, the average cost month by month. Trends visible immediately.
  2. Variance summary by job order — which jobs ran efficient vs which leaked, broken into material / labour / overhead components.
  3. Period-end inventory valuation — total inventory value at current average cost, by warehouse, by category. Reconciles directly to the GL inventory balance.

All three are standard reports in the AION inventory + manufacturing modules. None of them need a separate BI tool to produce.

That’s the headline. Next, the article on multi-level BOM rollup walks through how the recipe explosion mechanically works, including the phantom-item trick that real F&B recipes always use.

See this in the Oasis Fresh demo

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

Common questions

Why is unit cost so hard to compute in F&B factories?

Three reasons: raw materials are multi-currency (concentrates in USD/EUR/TRY, sugar in local currency, additives variable), packaging has six separate components each priced differently, and yield varies batch-to-batch by 2-5%. Excel that uses last year's standard cost gives you a number — but it's almost always wrong by 8-15%.

What's the difference between standard cost and average cost for a juice 1L?

Standard cost is a pre-set rate (you decide once per year). Average cost recalculates monthly from actual receipts. AION supports both. For most F&B SMBs, average cost is the right default because raw material prices move too often for standards to stay accurate.

Does AION compute landed cost including freight and customs?

Yes. The landed cost header records freight, customs duty, port charges, and other allocations. The total lands into the receipt's cost basis automatically. Multi-currency captured at the moment of receipt — the FX rate from that day is preserved so historical analysis stays meaningful.