A AION Academy
← Back to the costing guide

Learn / Costing

Overhead absorption for F&B production lines — machine-hour vs labour-hour

Overhead is the cost that's hardest to attribute — depreciation, utilities, supervision, maintenance. How you absorb it into unit cost determines whether your CFO knows which products are profitable. Here's the choice between machine-hour and labour-hour absorption, and what AION supports.

8 min read · Published 2026-05-15

The other two production costs — materials and labour — are visible. Operators can count concentrate; they can clock in. Overhead is the cost that hides.

A juice line’s overhead is its depreciation (capital cost spread over the line’s life), the utilities to keep it running (electricity, water, steam), the supervisor’s salary, the maintenance budget, the QA staff who release the batches, the warehouse handlers who move pallets, and the factory’s share of rent, insurance, and security. None of these are directly billable to a specific bottle. All of them are real.

The question is: how do you spread that overhead across the products that come off the line?

Two methods

Machine-hour absorption. Overhead is divided across the hours the machine runs. A bottling line with SAR 200,000 of monthly overhead that runs 400 hours produces an absorption rate of SAR 500/machine-hour. A job that uses 5 hours of line time absorbs SAR 2,500 of overhead, regardless of how many operators were on it.

Labour-hour absorption. Overhead is divided across the labour hours worked on the line. The same SAR 200,000 of overhead divided by 1,500 labour hours produces SAR 133/labour-hour. A job that consumes 8 labour-hours absorbs SAR 1,067.

Which fits depends on what drives overhead at your factory.

When machine-hour fits

Most F&B production lines are capital-intensive. The line cost dominates labour. Depreciation, utilities, and equipment maintenance all scale with how long the line runs, not how many people are tending it.

A bottling line, a pasteuriser, a CIP system, a filling machine — these are machine-hour candidates. Two operators or four operators doesn’t materially change the overhead the line absorbs; the line itself is the cost driver.

Best fit: bottling, pasteurisation, sealing, sterilisation, automated packing.

When labour-hour fits

Some F&B operations are still mostly manual. Case-packing where the cartons are folded and packed by hand. QA inspection at the end of a line. Manual blending for small-batch specialty products. Warehouse handling.

For these, the overhead doesn’t move with machine time (there’s no machine, or it’s incidental). It moves with how many hours of crew are on the operation. Labour-hour absorption captures the reality.

Best fit: manual packing, QA, manual blending, warehouse operations, sampling.

What AION supports

The resource definition in the manufacturing module lets you set:

  • A resource type (machine vs labour pool)
  • A standard rate per hour (cost basis for variance and absorption)
  • An overhead absorption rate (the per-hour overhead amount that flows into job cost)

A typical Oasis Fresh setup might have:

  • Bottling Line 1 — machine-hour resource, standard rate SAR 35/hour, overhead absorption SAR 500/hour. Job costs absorb both labour and overhead from this resource for each hour booked.
  • Manual Packing Crew — labour-hour resource, standard rate SAR 25/hour, overhead absorption SAR 80/hour. Same logic for the packing operation.

The standard-cost rollup (standard-cost-rollup.service.ts) walks each routing operation, multiplies the standard hours by the standard rate (labour cost) and by the overhead absorption rate (overhead cost), and adds both to the parent item’s standard cost.

How variance works

When the bottling line runs 400 hours in a month and overhead is SAR 200,000, absorption is exactly SAR 500/hour and there’s no variance.

When the line runs only 300 hours but overhead is still SAR 200,000 (most overhead is fixed), absorbed overhead is 300 × SAR 500 = SAR 150,000. The remaining SAR 50,000 is under-absorbed overhead — it posts to an overhead variance account.

The reverse is over-absorption — line ran more than budgeted, absorbed more overhead than was incurred. Less common but does happen.

Source: variance-calculation.service.ts:81+.

The reporting view

Three reports give the CFO the picture:

1. Absorption rate by resource, month over month. Shows whether the lines are utilised consistently or drifting. A bottling line that absorbed SAR 500/hour in January and SAR 480/hour in May means utilisation is up (line ran more hours, so overhead spread thinner) — good news.

2. Overhead variance summary. Total under- or over-absorbed overhead by month. Unfavourable variance trending up = utilisation dropping or overhead spending growing. Either way, action needed.

3. Overhead absorption per unit by SKU. For each finished good, the overhead component of unit cost. CFOs use this to understand which products carry the most overhead burden — usually low-volume specialty SKUs absorb more per unit than high-volume mainline.

What AION doesn’t do yet (roadmap)

Activity-based costing. Today’s absorption is resource-driven, not activity-driven. ABC would let you assign overhead by activity types — for example, allocating QA overhead based on the number of inspections rather than the number of machine hours. Useful for distinguishing between low-volume products that consume disproportionate inspection time vs high-volume products. On the roadmap, not yet a primary feature.

Fixed vs variable overhead separation. AION absorbs all overhead through the same rate. A separate breakdown — fixed overhead absorbed differently from variable overhead — isn’t a primary feature. Most F&B SMBs don’t need it; larger factories with more sophisticated costing might.

These limitations matter most for factories with diverse SKU portfolios where overhead allocation distortions are material. For the typical F&B SMB with 10–30 SKUs running on shared lines, the current resource-based absorption is accurate enough.

What to set up first

For a factory just getting onto AION’s costing:

  1. Define each major production resource — bottling line, blending line, packing crew, QA. Don’t over-define; aim for 5–10 resources, not 50.
  2. Set the standard labour rate for each. Look at last quarter’s actual payroll for the operators of that resource, divide by hours worked, that’s your starting rate.
  3. Compute the overhead absorption rate for each. Last quarter’s allocated overhead for that resource (depreciation share + utilities share + supervision share + share of indirect labour) divided by hours used. Annual review.
  4. Set the routing on each FG to reflect the standard hours per unit on each resource. Recipe-driven where possible.
  5. Watch the variance for the first month. Adjust standards based on what you see.

Within a quarter you’ll have meaningful absorption that lets you compare product profitability properly. Don’t let perfect be the enemy of good — start with rough rates and refine.

The companion variances to overhead — material and labour — are covered in Material usage variance and Labour efficiency variance. The pillar guide ties all three together: Food manufacturing costing — the complete guide.

See this in the Oasis Fresh demo

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

Common questions

What's the difference between machine-hour and labour-hour overhead absorption?

Machine-hour absorption assigns overhead to products based on how long they ran on equipment. Labour-hour absorption assigns it based on how many operator hours they consumed. Machine-hour fits capital-intensive lines (bottling, pasteurisation). Labour-hour fits manual operations (case-packing, QA, manual blending). AION supports both via routing resource definitions.

Does AION support activity-based costing (ABC)?

Not yet as a primary feature. The current overhead absorption is resource-based — overhead attaches to manufacturing resources (machines, labour pools) and absorbs to jobs based on the chosen driver. ABC, which assigns overhead by activity (setups, batches, inspections) rather than volume drivers, is on the roadmap but not yet built.

How do we deal with under-absorbed overhead?

When actual overhead exceeds absorbed overhead, the gap posts to an overhead variance account. Common causes: low utilisation (line ran fewer hours than budgeted), unexpected maintenance, utility tariff increases. The gap shows up at period close, not month-end — visible in real time as variance accumulates.