The product sold at the expected margin, on paper

The BoM said the product cost ₹1,000.

Sales priced it at ₹1,350 and believed the order carried a ₹350 contribution. Production completed the batch. Finance recorded the sale. Nobody saw a problem.

But the batch used more material than planned.
One operation ran longer. A cheaper component was unavailable, so the purchasing department bought an alternative.

Six units required rework.
The actual cost was ₹1,185 per unit.

This gap is not just an accounting issue.
It may reveal an outdated BoM, a supplier change, poor yield, an unrealistic cycle time, a training problem, incorrect routing or a quality issue.

In 2026, manufacturers are under pressure from material volatility, skilled-labour constraints and shorter customer lead times.

A standard cost that is reviewed once a year cannot explain what is happening to margin today.

BoM cost and actual cost are not the same number

A BoM cost is based on expected inputs.

It typically includes planned component quantities and costs, along with expected operation time and configured work-centre or labour rates.

Actual manufacturing cost reflects what happened.

The difference is called variance.
A variance is not automatically a failure. It may be caused by an approved substitution, a rush order, a prototype, a new operator or a temporary supplier problem. The purpose is to make the difference visible enough to manage.

The ten causes of manufacturing cost variance

1. Component price changes

The BoM may use a cost based on earlier purchases, while the current material was acquired at a higher price.
See how it appears in Odoo 19 ⬇️

Currency movement, freight, minimum order quantities and supplier changes can contribute.

2. Excess material consumption

Production may use 10.4 kg when the BoM expects 10 kg.
The difference could come from process loss, incorrect issue quantities, measurement error or an unrealistic standard.

3. Scrap

Scrap should be recorded against the manufacturing context. If it is removed through a general inventory adjustment, the stock changes but the operational cause becomes harder to see. Odoo allows you to record scrap and if this needs to be replenished, you need to merely tick the box “replenish quantities”.

4. Rework

Rework adds labour, machine time and sometimes material. If the rework happens outside the defined operations, the finished product can carry an artificially low cost.

5. Longer operation duration

Setup, waiting, breakdowns, difficult material or operator experience can increase actual time. Odoo Shop Floor can record real duration for work orders.

6. Incorrect work-centre cost

If electricity, depreciation, tooling and operating cost are poorly represented in the hourly rate, planned operation cost will be misleading.

7. Employee cost difference

Odoo 19 can use a work centre’s per-employee estimate for planned MO cost and employee-specific hourly cost for real cost. A different staffing mix can therefore create variance.

8. Subcontracting and logistics

The subcontracting fee may be known, but component transport, expedited freight, duties or rejection handling may be missed.

9. BoM or routing version error

Production may use a different component, quantity or operation from the version used for costing. Controlled engineering changes are essential when product definitions evolve.

10. By-products and yield

Residual output may have value or require disposal. Ignoring by-products, co-products or yield loss can distort the cost of the primary output.

A numerical example from expected cost to real cost

Consider a batch of 100 units.
Expected unit cost is ₹1,000.

What happened during production

  • Raw-material price variance added ₹4,000 
  • Excess consumption and process loss added ₹3,500
  • Rework added ₹4,000 of labour and machine time
  • The batch took longer, adding ₹2,500
  • Expedited subcontractor transport added ₹2,000
  • Five units failed final quality and were scrapped

The actual batch cost becomes ₹1,16,000, but only 95 saleable units remain.

Actual cost per saleable unit is approximately ₹1,221, before considering whether any scrap or by-product value is recovered.

This is why looking only at total batch spend is not enough. Yield changes the cost carried by every good unit.

How Odoo 19 calculates and compares manufacturing cost

Odoo’s manufacturing-order cost model distinguishes between MO Cost and Real Cost.

MO Cost represents the expected cost based on BoM components, their quantities, operations, work-centre costs and configured employee assumptions.

Real Cost changes as actual production information becomes available. Variance can reflect different component quantities, current component costs, different work-order duration and employee hourly cost.

The MO Overview allows users to compare expected and real amounts. Odoo’s current documentation notes that red or green differences can highlight significant gaps and help identify unusually high component prices or slow operations.

For this to work, the implementation must ensure – 

  1. Component costs are maintained correctly
  2. Work-centre rates represent relevant cost
  3. Operations have realistic expected durations
  4. Operators record time
  5. Extra consumption is recorded
  6. Scrap is recorded in the correct context
  7. Employee cost is configured where used
  8. BoM versions are governed

No costing feature can compensate for missing operational data.

Why WIP matters for longer production cycles

When manufacturing crosses an accounting period, part of the cost may be tied up in incomplete goods.

Odoo 19 supports manually posting and reversing work-in-progress accounting entries for ongoing manufacturing orders. These entries can reflect real consumed components, work-centre cost and labour incurred at the time of posting.

WIP entries are not automatically tied to MO progress. They must be posted and later reversed according to the accounting process.

WIP matters because management should not treat consumed material and labour as though they produced saleable finished goods when production is still incomplete.

For long-cycle manufacturers, define – 

  • When WIP is posted
  • Which orders qualify
  • How costs are reviewed
  • Who approves the entry
  • When it is reversed
  • How incomplete production is reconciled

What the variance review should actually ask

A useful review does not stop at “actual cost was higher.”

Ask –

1. Was the variance planned or unexpected?

2. Is it specific to one batch or recurring?

3. Did price, quantity, time or yield create the largest effect?

4. Is the BoM or routing standard outdated?

5. Did the customer request a change?

6. Was the extra cost chargeable?

7. Did procurement choose the best available option?

8. Was rework caused by design, material, machine or method?

9. Should the quotation model change?

10. Which preventive action has an owner?

Variance should connect finance to operations, not create another retrospective report that nobody acts on.

How to improve cost accuracy without slowing production

  1. Start with the major cost drivers

Do not attempt perfect allocation of every minor overhead on day one. Capture material, key operations, labour, subcontracting, scrap and rework reliably first.

  1. Make time recording simple

Use shop-floor devices and role-appropriate screens. If entry is difficult, users will postpone it and actual duration will lose credibility.

  1. Review standards regularly

Update expected duration, component quantities and work-centre rates when recurring evidence shows the standard is wrong.

  1. Control BoM changes

Use engineering change control so production, costing and quality refer to the correct version.

  1. Separate operational variance from accounting policy

Managers may need real-time operational cost views even when formal valuation follows specific accounting methods. Define both clearly.

  1. Connect the variance to commercial decisions

Use actual results to improve quotation, sourcing, minimum order quantity, lead-time promise and product mix.

Every variance is an operational message

The difference between BoM cost and actual manufacturing cost is not noise to be corrected at month-end.

It tells the business where reality moved away from its assumptions.

Some variances require a supplier decision. Some require a process improvement. Some require an updated BoM, different selling price or better quality control. Without timely, order-level visibility, the business keeps repeating the same margin mistake.

Odoo 19 can compare expected and real manufacturing cost, but the value depends on accurate production behaviour and thoughtful cost design.

Pragmatic Techsoft helps manufacturers map how material, time, scrap, rework, subcontracting and WIP should reach product and order profitability.

💬Request a manufacturing costing assessment to identify where your current margin visibility breaks.

Frequently asked questions

1. What is BoM cost?

BoM cost is the expected cost derived from planned component quantities and, where configured, the operations and work-centre resources required to manufacture the product.

2. What is the real manufacturing cost in Odoo?

Real cost reflects actual information such as component consumption, current component cost, real work-order duration and employee hourly cost.

3. Does scrap increase product cost?

Scrap can reduce yield and increase the cost carried by saleable output. Its exact accounting and valuation effect depends on configuration and policy.

4. Can Odoo track work-in-progress cost?

Yes. Odoo 19 supports manual WIP journal entries for costs incurred on ongoing manufacturing orders, with later reversal.

5. Why does the actual cost sometimes appear too low?

Common causes include unrecorded time, extra material issued outside the MO, general stock adjustments, missing rework, outdated employee rates or subcontracting charges not connected to production.

6. How often should standards be reviewed?

Review material costs and high-impact standards regularly, and investigate recurring variances. The right frequency depends on price volatility and production stability.

Leave a Reply

Your email address will not be published. Required fields are marked *