Loading…
Loading…
What one unit really costs: BOM material, scrap, machine hours, job work, overheads and packing, with a worked ₹ example and how to price a quote.
To calculate the manufacturing cost of a product, add up what it takes to make one good unit. That means material from the bill of materials (BOM) at today's rates, less what you get back for scrap. Add labour and machine time at an hourly rate, outside job work such as plating or coating, a share of factory overheads, an allowance for normal rejections, and packing. For a quotation, add freight, office and selling costs, and then your margin.
Cost per good unit = (net material + labour and machine time + outside job work + factory overheads) ÷ (1 − normal rejection rate) + packing
The arithmetic is simple. The inputs are where it goes wrong. Quotes get built on last year's rates. The plating bill, the scrap, the rejections, the power and the machine time never reach the unit cost. And when the cost moves, nobody can say which component or vendor moved it.
This guide is written for the owner or sales head who has to quote a price, not for an exam. It takes each part of the cost in turn, then puts them together in a worked example in rupees.
The Institute of Cost Accountants of India (ICMAI) issues India's Cost Accounting Standards, numbered CAS-1, CAS-2 and so on. CAS-1 defines cost of production as materials consumed, direct employee cost, direct expenses, production overheads, quality control, packing, research and development, and administration that relates to production. What you recover by selling scrap comes off. For a small plant, that comes down to these lines:
| Cost line | What goes in | Often missed |
|---|---|---|
| Material | Every BOM item at input weight, at today's landed rate | Last year's rate; finished weight instead of input weight |
| Scrap and process loss | A credit for scrap you sell; no credit for material that is simply lost | No credit at all, or an old scrap rate |
| Labour and machine time | Minutes per piece × an hourly rate that includes power, tooling and maintenance; setup time spread over the batch | Power, tooling and setups |
| Outside job work | Plating, coating, heat treatment, plus freight both ways | The whole line |
| Factory overheads | Supervisors, quality, stores, maintenance staff, the factory office | Left out, or added as a guessed percentage |
| Normal rejections | An allowance for pieces scrapped in-house or at the vendor | Ignored |
| Packing | Bags, boxes, cartons | Forgotten on small parts |
These seven lines give the cost of one good, packed unit at the factory. Freight to the customer, office and selling costs, credit terms and margin come on top when you price a quote.
On packing, cost accountants put packing that holds the product, such as the bag, into the cost of production, and outer packing used to store and transport it into distribution cost (CAS-9). For a quote, both count.
Start from the BOM: every raw material, bought-out part and sub-assembly, with its quantity per unit. If you make sub-assemblies in-house, cost the lowest level first and carry each sub-assembly's cost up into the product that uses it. Our guide to multi-level BOMs in ERPNext shows how that tree is built.
Then follow four rules:
Material that does not end up in the product goes one of two ways. Scrap you can sell, such as offcuts and turnings, earns a credit at the rate you actually get for it. Process loss, such as fines, burn-off or material carried away in coolant, is simply gone and earns nothing.
So the material line is input material at the landed rate, less scrap weight × scrap rate. If 100 g of rod goes in, 60 g ends up in the part and you sell 37 g of turnings, the other 3 g is process loss.
Rejections are the third leak. If 3 in every 100 pieces are scrapped in-house or at the plater, the 97 good pieces have to carry the cost of all 100. A simple way to allow for that is to divide the cost per piece by 0.97.
Keep normal and abnormal losses apart. CAS-6 puts the material cost of normal scrap and rejects into the cost of the good units. Abnormal scrap, less what it fetches, is treated as a loss, not as part of material cost. In plain terms: allow for the rejections you expect every month, but do not load one bad batch into every future quote. If the "one bad batch" happens every month, it is normal, and your allowance is too low.
Cost accountants call everything except direct material "conversion cost" (CAS-1). In a machine shop, the biggest part of it is usually labour and machine time, and the clearest way to cost machine time is a machine hour rate: the yearly cost of running a machine divided by the hours it normally runs in a year. ICMAI's overheads standard (CAS-3) uses the same idea, with a machine shop's overheads divided by its machine hours as the example.
Here is an illustrative CNC lathe. The figures are made up to show the method.
| Yearly cost of running the machine | ₹ per year |
|---|---|
| Depreciation (₹25 lakh machine, simple straight line over 10 years) | 2,50,000 |
| Power (about 6 kW average × ₹9 per kWh × 4,000 hours) | 2,16,000 |
| Tooling and inserts | 4,00,000 |
| Maintenance and spares | 1,20,000 |
| Share of floor space | 1,00,000 |
| Coolant, oil and compressed air | 1,14,000 |
| Total | 12,00,000 |
Two 8-hour shifts for about 300 days is 4,800 hours. Allow for maintenance, breakdowns and hours without work, and say 4,000 normal hours a year. The machine hour rate is ₹12,00,000 ÷ 4,000 = ₹300 an hour.
Now add the operator. At ₹30,000 a month all-in (wages plus PF, ESI, bonus and leave) and about 200 productive hours, that is ₹150 an hour. If one operator runs two machines, split it between them. Machine plus operator: ₹450 an hour.
Each operation then costs minutes per piece × hourly rate ÷ 60. Setup time is a cost per batch, so divide it by the number of pieces in the batch.
Two cautions:
When parts go out for plating, powder coating, heat treatment or galvanising, the vendor's rate is only part of the cost. Add:
ICMAI's standards treat job work charges as a direct cost of the product, not as a general overhead (CAS-6 and CAS-10). Put them on the product's cost sheet, line by line. If you use two platers at different rates, cost on the one you will actually use for this order.
Factory overheads are the costs of running the plant that you cannot trace to one part: supervisors, quality staff, stores, maintenance staff, the factory office, security and lighting. Anything already inside your machine hour rate, such as the machine's share of floor space, stays out of this pool, so you do not count it twice.
To spread them, divide a normal month's factory overheads by the normal machine hours (or labour hours) in a month, then charge each part by the hours it uses. With ₹2,40,000 a month and 2,000 normal machine hours, that is ₹120 per machine hour. A part that takes 1.5 machine minutes carries ₹3.00.
Use normal volume here too. In a slow month with 1,200 machine hours, the same overheads would work out at ₹200 an hour, and the same part would suddenly carry ₹5.00 of overheads.
Head office salaries, the sales team and marketing are not factory overheads. They are real costs, but they belong in the price, which comes later.
The product is a nickel-plated brass hose connector with one O-ring. It is turned on a CNC lathe from brass rod and sent out for plating, in a batch of 1,000 pieces. All rates and times below are made up to show the method. Use your own.
| Cost line | Working | ₹ per piece |
|---|---|---|
| Brass rod | 100 g input × ₹600 a kg (landed, without GST) | 60.00 |
| O-ring | 1 × ₹2.00 | 2.00 |
| Less turnings sold as scrap | 37 g × ₹400 a kg | −14.80 |
| Net material | 47.20 | |
| CNC turning | 1.5 min × ₹450 an hour | 11.25 |
| Setup | 40 min × ₹450 an hour = ₹300 a batch, ÷ 1,000 pieces | 0.30 |
| Deburring and inspection | 0.5 min × ₹120 an hour | 1.00 |
| Labour and machine time | 12.55 | |
| Nickel plating | Vendor's rate per piece | 6.00 |
| Freight to and from the plater | Per piece | 0.50 |
| Outside job work | 6.50 | |
| Factory overheads | 1.5 machine min × ₹120 an hour | 3.00 |
| Subtotal | 69.25 | |
| Normal rejections, 3% | 69.25 ÷ 0.97, less 69.25 | 2.14 |
| Packing | Poly bag and share of a carton | 1.00 |
| Cost per good piece, packed | 72.39 |
What the example shows:
Standard cost is what a unit should cost, worked out in advance from the BOM, standard times and current rates. CAS-1 defines it as a predetermined cost based on technical specifications and efficient operating conditions. The worked example above is a standard cost.
Actual cost is what it did cost: the material actually issued, the time actually logged, the scrap and rejections you actually had, and the plater's actual bill.
Quote from standard cost, because a quote is about the future. Then compare standard with actual every month, product by product. The difference usually comes from two places:
If actual keeps running above standard, either fix the process or correct the standard. A standard cost nobody believes is worse than none.
No rule sets this. A practical rhythm for a small plant:
| What | When to update |
|---|---|
| Material purchase rates | With every purchase; check today's rate before any large quote |
| Scrap sale rates | Each time you sell scrap |
| Job work rates | When a vendor revises its rate, and at least once a year |
| Machine hour and labour rates | Once a year, and whenever the power tariff, wages or the machine changes |
| Factory overhead rate | Once a year from last year's accounts, with a check halfway through |
| Cycle and setup times | When the process, tooling or machine changes; compare with logged times every month |
| Rejection allowance | Every quarter, from your rejection records |
The point of an ERP here is that purchase rates update themselves as purchases are recorded, and product costs can be refreshed from them, instead of someone retyping rates into a spreadsheet.
Start from the packed cost per good piece at today's rates, for this order's batch size. Then:
Continuing the example (illustrative figures):
| Step | Working | ₹ per piece |
|---|---|---|
| Cost per good piece, packed | From the example | 72.39 |
| Office and selling costs | 8% of 72.39 | 5.79 |
| Freight to the customer | Delivered price | 1.50 |
| Total cost | 79.68 | |
| Price for a 20% margin | 79.68 ÷ 0.80 | 99.60 |
| Quoted price | Rounded, plus GST | 100.00 |
The most common one. Material is often the largest part of the cost, and a rate that is a year old can be well off today's.
You pay for the rod, sheet or casting that goes in, not the part that comes out. Cost the input, then credit the scrap.
Plating, coating and heat treatment get billed separately and paid by someone else, so they never reach the product cost. Add the freight and the vendor's rejections too.
Without one, power, tooling, maintenance and setup time quietly disappear from the cost. They show up later as a margin you did not get.
Fixed costs divided by low output make every part look dearer. Use normal volume.
An abnormal loss is a loss for that period, not a cost of every future unit. Fix the cause instead of pricing it in.
Adding 20% to cost does not give you a 20% margin. Divide by 0.80.
If one person's Excel holds every product's cost, rates go stale the day that person is busy, and nobody can say why a cost moved.
ERPNext, the open-source ERP we implement, has most of this built in. Here is what standard ERPNext 16 does, checked against its source code, and where we add to it.
Each BOM works out a raw material cost, an operating cost and the value of its scrap. Its total cost is materials plus operations minus scrap. You choose where material rates come from with Rate Of Materials Based On:
| Option | Where the rate comes from | Useful for |
|---|---|---|
| Valuation Rate (the default) | The average value of the stock you hold, including landed costs | Matching your books |
| Last Purchase Rate | The rate on your latest purchase order, receipt or invoice | Quoting on recent buying |
| Price List | A buying price list you maintain, for example with agreed supplier rates | Quoting on rates you have negotiated |
By default, a sub-assembly is costed from its own BOM, so a change at the bottom of the tree can flow up to the finished product.
A BOM does not reprice itself when rates change. There are three ways to refresh it:
A workstation's Net Hour Rate is the sum of its operating cost components. ERPNext sets up four by default: Electricity, Consumables, Rent and Wages. With operations switched on, each BOM operation costs hour rate × time, and a batch size spreads that over the pieces. On a work order, ERPNext shows the planned operating cost from the BOM's times next to the actual operating cost from the time logged on job cards.
In ERPNext 16, the BOM's old Scrap Items table is called Secondary Items. Scrap is a row of type Scrap, valued at its valuation rate, a percentage of component cost or a manual figure, and its value comes off the BOM cost.
A % Process Loss on the BOM means fewer finished units go into stock when you manufacture, so the same material is spread over fewer good pieces. The BOM's own cost figure does not add that loss on top, so allow for it when you quote. The Process Loss Report shows lost quantity and value by work order. The BOM Variance Report compares the material a work order should have used with what it actually used.
A Landed Cost Voucher adds freight, loading and clearing charges to a purchase receipt, purchase invoice, stock entry or subcontracting receipt. It splits them by quantity, by amount or by hand, and updates the valuation rate of those items. If your BOMs use valuation rate, inward freight then reaches the product cost.
For job work, a Subcontracting Receipt values the returned item at the material you sent, plus the job worker's charge and any additional costs. Our guide to ERPNext for manufacturing covers the subcontracting flow.
ERPNext 16 values stock at actual cost, using FIFO, moving average or LIFO. In practice, the BOM cost works as your standard, and each manufacture entry records the actual: the material consumed, plus operating and other added costs, less scrap, spread over the good units made.
On a quotation, each line shows the item's valuation rate and gross profit. A setting in Selling Settings can stop anyone quoting below the valuation rate or last purchase rate. For a manufactured item, that valuation rate comes from past production, so check it against the current BOM cost before a big quote.
Standard ERPNext shows what a product's BOM costs today. It has no ready-made report of how that cost has moved since a past date, and why.
For a manufacturer we work with, we built a cost dashboard as a custom Frappe app alongside ERPNext. It shows each product's unit cost now against a past date, which components and vendors moved it, where the same part is bought from several vendors at different rates, and which parts depend on a single vendor. We also made the outside coating charge flow into the product's cost. The owner can see why a product costs more this month without anyone building a spreadsheet.
We set up ERPNext for manufacturers across India with costing built in from the start: BOMs at input weights with their scrap, workstations with hour rates your accountant agrees with, job work and landed costs. The cost of each product then comes from the system, not from a spreadsheet. Where you need more, such as a cost dashboard for the owner, we build it as a custom Frappe app and leave ERPNext's own code untouched. See how we work on our ERPNext page, or talk to us about how you cost your products today.
Cost per good unit = (net material + labour and machine time + outside job work + factory overheads) ÷ (1 − normal rejection rate) + packing. Net material is input material at current landed rates, less what you get for the scrap. For a selling price, add freight, office and selling costs, and your margin.
If you can claim the GST on a purchase as input tax credit, leave it out, because you get it back. If you cannot claim it, it is a real cost and belongs in the rate. ICMAI's material cost standard (CAS-6) values materials net of taxes that are refunded or credited to you.
Use one row per BOM line: item, quantity per unit at input weight, rate, the date of that rate, and amount. Below that, add rows for the scrap credit, each operation (minutes × hourly rate ÷ 60), job work, overheads, the rejection allowance and packing. Keep rates on a separate sheet with a date beside each, so old rates stand out. Excel works for a handful of products. With many products sharing components, keeping every sheet's rates current is where it breaks down.
Batch costing works out the cost of a group of identical pieces made together, then divides it by the good pieces in the batch. ICMAI's CAS-1 defines batch cost as the cost of a group of similar articles that keep their identity through production. It matters most for costs that arise once per batch, such as setup, first-piece inspection or a vendor's minimum lot charge.
Markup is a percentage added to cost. Margin is the share of the selling price that is profit. On a cost of ₹80, a 20% markup gives ₹96, but a 20% margin needs a price of ₹100 (₹80 ÷ 0.80).
ICMAI's CAS-1 defines conversion cost as production cost excluding the cost of direct materials. In a small plant, that is mainly labour, machine time and factory overheads.
Book a walkthrough and we will look at how you cost your products today.
In a free 30-minute call we map your process and tell you plainly what would change, whether that is Tanush LIMS, ERPNext or something built for you. We reply within 24 hours.