Product Costing and Variance Analysis
How much does it cost to make one unit? The answer drives pricing, inventory valuation, make-or-buy decisions, and reported profit.
The cost structure
Direct materials from the BOM × material prices
+ Direct labour from the routing × labour rates
+ Machine cost from the routing × machine rates
+ Variable overhead usually % of labour or per machine hour
+ Fixed overhead allocated at normal capacity
────────────────────────────────────────────────────────
= Cost of goods manufactured (COGM)
+ Subcontracting external operations
+ Freight in / landed cost
= Full manufacturing cost
+ Administrative overhead ← NOT in inventory under IFRS
+ Sales overhead ← NOT in inventory
= Full cost (for pricing decisions only)
Only manufacturing cost goes into inventory. Administration and selling costs are period expenses. Companies that capitalise admin overhead into inventory are overstating both assets and profit — a real audit finding.
Cost component split
Standard cost is never one number. It’s split so you can analyse it:
Product FG-1000, standard cost 350.90
Component Fixed Variable Total
Raw materials — 120.90 120.90
Purchased parts — 27.60 27.60
Direct labour 18.00 74.00 92.00
Machine cost 42.00 18.40 60.40
Production overhead 38.00 12.00 50.00
────────────────────────────────────────────────
Total 98.00 252.90 350.90
Why the fixed/variable split matters:
- Make-or-buy: only variable cost is avoidable if you stop making it in-house
- Incremental order pricing: an extra order only needs to cover variable cost plus a contribution
- Capacity decisions: fixed cost per unit falls with volume
- Inventory valuation: fixed overhead absorption depends on normal capacity
The cost estimate (standard cost roll-up)
1. Determine the BOM and routing (via production version, valid on the costing date)
2. Explode the BOM multi-level, in low-level-code order
3. For each purchased component: take the price from the valuation strategy
(standard price → moving average → last PO price → planned price → info record)
4. For each manufactured component: recursively cost it first
5. For each operation: quantity × time × activity rate from the work centre's cost centre
6. Apply overhead per the costing sheet
7. Roll up to the parent
8. Store as the cost estimate, with the full component split
9. Mark and release → becomes the standard price on the material master
Costing lot size
Setup 30 min, run 5 min/unit, labour rate 8.00/min
Costing lot size 1: (30 + 5) × 8 = 280.00/unit
Costing lot size 100: (30 + 500)/100 × 8 = 42.40/unit
Costing lot size 1000: (30 + 5000)/1000 × 8 = 40.24/unit
The costing lot size must reflect realistic production batches. Costing at lot size 1 makes everything look catastrophically expensive and leads to disastrous make-or-buy decisions.
Valuation strategy for purchased parts
A priority sequence, because not every material has every price:
1. Planned price 1 (manually maintained for the coming year)
2. Standard price
3. Moving average price
4. Purchasing info record (last price from the vendor)
5. Contract price
Configurable, and a genuine business decision — using last-PO-price makes standards volatile; using planned prices requires annual maintenance.
Mark and release
Cost estimate calculated → MARK (as future standard) → RELEASE (becomes current standard)
Release effect:
- Standard price on the material master updates
- ALL inventory of that material is revalued
- The revaluation posts to P&L
Revaluation: 4,000 units on hand, standard 350.90 → 362.40
Inventory Dr 46,000
Inventory revaluation Cr 46,000 ← a one-off P&L gain
This is why standard cost releases happen once a year (or quarterly at most), on a controlled date, with finance approval. It is not a master data edit. A mid-period release surprises the CFO with a large unexplained P&L movement.
Variance categories
The point of standard costing. When actual ≠ standard, why?
Input-side variances
| Variance | Formula | Owner |
|---|---|---|
| Material price | (actual price − std price) × actual qty | Purchasing |
| Material quantity/usage | (actual qty − std qty for output) × std price | Production |
| Material mix | Multi-input processes: wrong proportion of inputs | Production |
| Labour rate | (actual rate − std rate) × actual hours | HR / scheduling (overtime) |
| Labour efficiency | (actual hrs − std hrs) × std rate | Production |
| Resource/machine | Actual machine time vs standard | Maintenance / production |
Output-side variances
| Variance | Meaning |
|---|---|
| Yield | Output less than the standard for the inputs consumed |
| Scrap | Unplanned scrap above the planned rate |
| Lot size | Actual order quantity differs from the costing lot size, so setup is spread differently |
| Rework | Extra operations not in the standard |
Overhead variances
| Variance | Formula |
|---|---|
| Spending | Actual overhead − budgeted overhead at actual activity |
| Volume/idle capacity | Budgeted − applied overhead. Under-utilisation |
| Efficiency | (actual hours − std hours) × overhead rate |
Remaining/input variance
Everything the system cannot categorise — costs on the order with no standard equivalent, or a missing cost component. A large “remaining variance” means your costing configuration is incomplete, not that production went wrong. Investigate the config, not the shop floor.
Worked example
Order 4711: make 1,000 units of FG-1000, standard 350.90
STANDARD (for 1,000 units) ACTUAL
Materials 120,900 128,400
Labour 92,000 86,500
Machine 60,400 64,200
Overhead 50,000 50,000
────────────── ───────────
Total 323,300 329,100
Goods receipt 980 units × 350.90 = 343,882
Total debits 329,100
Variance (14,782) favourable? No—
Wait: 980 delivered of 1,000 planned.
Target cost for 980 units = 980 × 350.90 = 343,882
Actual cost = 329,100
Variance = 14,782 FAVOURABLE
Breakdown:
Material price +4,200 U (bought fabric above standard)
Material quantity +3,300 U (higher waste than planned)
Labour efficiency −5,500 F (ran faster than standard)
Machine +3,800 U
Scrap (20 units) +7,018 U (20 × 350.90 lost)
Lot size / other −27,600 F
The lesson: a favourable total variance can hide several unfavourable components. Always analyse by category, never by the total.
Actual costing / material ledger
Instead of leaving variances in P&L, actual costing pushes them back onto the goods that carried them:
Period end:
1. Calculate the actual price per material: (opening value + receipts) / (opening qty + receipts)
2. Distribute variances proportionally between:
- goods consumed (→ COGS)
- goods still in stock (→ inventory revaluation)
3. Do this multi-level, bottom-up: a raw material's actual price
changes the semi-finished actual price, which changes the finished good's
Benefits: inventory at true actual cost, accurate margins, required in some jurisdictions. Cost: a heavy period-end job, multi-level settlement, and a much longer close.
Many companies run standard costing for operational reporting and actual costing (the material ledger) for statutory valuation. Both, simultaneously.
Costing sheet — overhead application
Base Rate Credit to
Direct materials 8% Material overhead cost centre
Direct labour 150% Production overhead cost centre
Machine hours 42.00/h Machine overhead cost centre
Cost of goods mfd 5% Admin overhead (if capitalised — usually not)
The credit side matters: applying overhead to an order must relieve the cost centre that incurred it. Otherwise the cost is counted twice — once on the cost centre and once on the order.
Under/over absorption
Cost centre PROD-01
Actual costs incurred 1,180,000
Overhead absorbed by orders 1,095,000
────────────────────────────────────────
Under-absorbed 85,000 → to P&L or reallocated
Under-absorption usually means you produced less than the planned volume the rate was based on. Under IFRS, unabsorbed fixed overhead from abnormally low production must be expensed, not capitalised into inventory. This is the rule that stops companies hiding the cost of idle factories in their stock value.
Cost analysis reports
- Cost estimate comparison — this year’s standard vs last year’s, by cost component. Shows why the standard moved
- Order cost analysis — plan / target / actual per order, with variance breakdown
- Variance trend by category and by product
- Product margin — price vs full cost vs variable cost
- Make-or-buy comparison — variable in-house cost vs purchase price plus logistics
- Costed multi-level BOM — where the cost actually sits in the structure
- Cost centre absorption — planned vs actual vs absorbed
Developer rules
- Store the cost component split, not just a total. A single number can’t be analysed.
- Cost estimates are versioned and dated. Never overwrite; history is needed to explain past valuations.
- Standard release revalues inventory — a controlled, approved event with a P&L impact.
- Roll-up processes low-level codes bottom-up, exactly like MRP.
- Variance settlement is a period job — idempotent, restartable, test mode.
- A large uncategorised variance is a configuration bug. Chase it.
- Never let a product go live with a zero standard cost. It makes every subsequent number meaningless and is nearly impossible to unwind later.