Guide · Production
How to calculate cost of production with a bill of materials
Most small factories price from a rough guess at what a product costs to make. A bill of materials turns that guess into arithmetic you can check.
Updated · 9 min read
In short
Cost of production per unit is the material cost of a batch, including scrap, plus labour and overhead, divided by the units it makes. In SimpleERP, a bill of materials rolls this up live from each component's average cost.
What is cost of production?
Cost of production is what it costs you to turn raw materials into one finished unit: the materials used, the material lost as scrap, and the labour and overhead spent on the batch. It is the number every selling price, discount and margin report depends on.
Without a written recipe, the number lives in the owner's head and drifts as prices change. A bill of materials (BOM) writes the recipe down once, so anyone can recalculate the cost in a minute when steel or paint gets dearer.
What goes into a bill of materials?
A bill of materials lists what one batch of a finished product consumes and how many finished units that batch makes. Four terms do all the work:
- Output quantity: how many finished units one batch of the BOM produces, for example 10 chairs.
- Component quantity: how much of each raw material the batch needs if nothing is wasted, for example 40 metres of tube.
- Scrap percent: the extra share of a component lost in cutting, bending, spraying or rejects. It is set per line, because tube offcuts and paint overspray are not the same.
- Additional cost: labour, power and other overhead for the batch, entered as one amount per batch rather than per unit.
What is the formula for cost of production per unit?
Cost of production per unit is total batch cost divided by output quantity, where total batch cost is material cost with scrap plus additional cost. It takes three steps:
The average cost is the weighted average cost of each component in stock today. If you have not read how that average moves with every purchase, weighted average cost explained walks through it.
How do you cost a steel chair from its BOM?
Here is the BOM for the steel visitor chair at Lakshmi Steel Furnitures, the fictional Coimbatore business used across this site. One batch makes 10 chairs. Tube and paint carry scrap; the bought-in parts do not.
| Component | Qty per batch | Scrap | Planned qty | Average cost | Line cost |
|---|---|---|---|---|---|
| MS square tube 25 mm | 40 m | 5% | 42 m | ₹62 per m | ₹2,604 |
| Plywood seat 12 mm | 10 pcs | 0% | 10 pcs | ₹145 per pc | ₹1,450 |
| Foam cushion | 10 pcs | 0% | 10 pcs | ₹90 per pc | ₹900 |
| Powder coat paint | 2 kg | 10% | 2.2 kg | ₹380 per kg | ₹836 |
| Nut and bolt set | 10 sets | 0% | 10 sets | ₹18 per set | ₹180 |
| Material cost | ₹5,970 | ||||
| Additional cost (labour, power, overhead) | ₹1,500 | ||||
| Total batch cost | ₹7,470 | ||||
| Standard cost per chair (÷ 10) | ₹747 |
Check two lines by hand. Tube: 40 × 1.05 = 42 metres, and 42 × ₹62 = ₹2,604. Paint: 2 × 1.10 = 2.2 kg, and 2.2 × ₹380 = ₹836. Leave scrap out and the material cost falls to ₹5,770, so every chair looks ₹20 cheaper than it really is.
₹747 is the standard cost: what a chair should cost at today's average prices if the batch runs as planned. It is the figure to price from and to compare against what actually happened.
Illustration of a bill of materials with cost roll-up and a work order moving from planned to in progress to completed.
Why does actual cost differ from standard cost?
Actual cost differs from standard cost because components are valued at their average cost on the day the work order is completed, and that average moves with every purchase in between. The recipe stays the same; the prices do not.
Say Lakshmi Steel opens a work order for 10 chairs. Before the work order is completed, a new bill for tube comes in at a higher price and the tube average rises to ₹66 per metre. A cheaper paint purchase pulls the paint average down to ₹370 per kg.
| Line | Planned qty | Standard | Actual at completion | Difference |
|---|---|---|---|---|
| MS square tube 25 mm | 42 m | ₹2,604 | ₹2,772 | +₹168 |
| Plywood seat 12 mm | 10 pcs | ₹1,450 | ₹1,450 | ₹0 |
| Foam cushion | 10 pcs | ₹900 | ₹900 | ₹0 |
| Powder coat paint | 2.2 kg | ₹836 | ₹814 | −₹22 |
| Nut and bolt set | 10 sets | ₹180 | ₹180 | ₹0 |
| Additional cost | ₹1,500 | ₹1,500 | ₹0 | |
| Batch total | ₹7,470 | ₹7,616 | +₹146 | |
| Per chair | ₹747 | ₹761.60 | +₹14.60 |
The finished chairs enter stock at the actual figure, ₹761.60 each, not at the standard. That is what makes the stock value and cost of goods sold honest. The ₹14.60 gap is a signal, not an error: tube costs more now, and your price list may need to follow.
Other common reasons for a gap are scrap running higher than the BOM assumes, or labour and power for the batch costing more than the additional cost on the BOM. When the same gap shows up batch after batch, fix the BOM rather than living with it.
How do you set a selling price from cost of production?
Set a price from cost by choosing either a markup on cost or a margin on price, and never mixing the two. A 25% markup and a 25% margin are not the same price.
- Markup is profit as a share of cost: price = cost × (1 + markup%).
- Margin is profit as a share of the selling price: price = cost ÷ (1 − margin%).
| Pricing rule on ₹747 cost | Price before GST | Profit per chair | Markup on cost | Margin on price |
|---|---|---|---|---|
| 25% markup | ₹933.75 | ₹186.75 | 25% | 20% |
| 25% margin | ₹996 | ₹249 | 33.3% | 25% |
| 40% markup | ₹1,045.80 | ₹298.80 | 40% | 28.6% |
Price from the standard cost, then watch the actual cost on each completed work order. If actual cost keeps running above standard, your real margin is thinner than the table says.
How do you keep cost of production accurate?
A BOM is only as accurate as the quantities, scrap and prices behind it. Run through this list whenever you add a product or change a supplier:
- Measure component quantities from a real batch, not from a drawing
- Set scrap per line from what the bin actually collects over a few batches
- Enter every purchase with its real cost, so the average cost behind the BOM is current
- Include labour, power and job-work charges in the additional cost for the batch
- Compare actual cost with standard cost on every completed work order
- Raise a new BOM version when the recipe changes, instead of editing history
- Review selling prices when the standard cost moves by more than you can absorb
As of October 2026, the accounting standards on inventories (AS 2, and Ind AS 2 for companies that follow it) value finished goods at cost including materials and conversion costs such as labour and production overhead; your accountant decides which overheads belong in stock value.
How does SimpleERP calculate cost of production?
SimpleERP keeps a bill of materials per finished product, with versions, an output quantity, scrap percent per line and an additional cost per batch. The cost roll-up is live: it uses the formula above with each component's current weighted average cost, so the standard cost per unit updates as purchases post.
- A work order snapshots the BOM, so later edits do not change a job already planned.
- Completing the work order takes the materials out of stock at their average cost and posts the entries in one step.
- Each work order has one completion, and the finished goods enter stock at actual cost.
- A completed work order cannot be edited or cancelled; a correction goes through a stock adjustment with a reason.
For how a work order moves from plan to finished goods, read work orders for small factories. For the module itself, see manufacturing, and for the wider stock picture, the inventory management guide.
FAQ
Questions, answered
How do you calculate cost of production per unit?
Add the cost of every material a batch uses, including scrap, then add labour and overhead for the batch, and divide by the number of units the batch makes. For a batch of 10 steel chairs costing ₹7,470 in all, the cost per chair is ₹747.
How do you include scrap in a bill of materials?
Raise the planned quantity of each component by its scrap percent: planned quantity = quantity × (1 + scrap% ÷ 100). With 5% scrap, 40 metres of tube becomes 42 metres. Set scrap per line, since different materials waste at different rates.
What is the difference between standard cost and actual cost?
Standard cost is what a unit should cost at today's average prices if the batch runs as planned. Actual cost is what the completed batch really cost, using the average cost on the day the work order was completed. The gap shows price movements and extra waste.
Should labour and overhead be part of cost of production?
Yes. Materials alone understate the cost and lead to prices that look profitable but are not. Add labour, power and other batch overhead as an additional cost. Your accountant decides which overheads belong in stock value for your statutory accounts.
Is markup the same as margin?
No. Markup is profit as a share of cost; margin is profit as a share of the selling price. On a ₹747 cost, a 25% markup gives a price of ₹933.75, while a 25% margin needs a price of ₹996.
Related
Keep reading
Inventory management guide
The whole picture of stock for a small Indian business: what to track, the movement ledger, average cost, reorder levels, counts, transfers and the month-end check.
Read moreWeighted average cost
How weighted average cost values stock and cost of goods sold, with the formula, a worked example and how it compares with FIFO.
Read moreWork orders
What a work order is in a small factory, its lifecycle, how materials and scrap are issued, and how finished goods enter stock at actual cost.
Read moreManufacturing
Bills of materials with scrap and cost roll-up, and work orders from plan to complete.
Read more
Run your whole business from one simple place.
Seven days free. No card. Your first GST invoice in minutes.