ERPNext calculates finished-goods cost from three parts in the BOM and Work Order — raw material cost, operation cost (labour and machine time), and additional overheads — netted against any saleable scrap. The BOM gives the standard cost; the Work Order captures the actual cost of a real production run. Together they tell you what a product truly costs to make.
Costing is where most manufacturers discover their ERP was set up carelessly. If material, labour, and overhead are not modelled, ERPNext will still produce a "cost" — it will just be wrong, and pricing decisions made on it will quietly lose money. Accurate finished-goods cost is one of the strongest reasons to run manufacturing on ERP at all.
A finished-goods cost is only as good as the three inputs behind it — material, operations, and overhead. Model all three and ERPNext gives you a defensible cost; model only material and you are pricing on a guess. I am Manoj, an ERPNext and Frappe implementation consultant at MithTech in Bengaluru, and this guide explains how the costing works.
How does ERPNext calculate finished-goods cost?
ERPNext calculates finished-goods cost by summing the raw material cost from the BOM, the operation cost from the routing (workstation rate multiplied by time), and any additional overheads, then subtracting the value of saleable scrap. The BOM holds these as a standard cost per unit, and when you produce, the Work Order records the actual quantities and times consumed to give the real cost of that run.
The three inputs are:
- Material cost — the valuation rate of each raw material in the BOM, at the quantity consumed.
- Operation cost — each routing operation's time multiplied by its workstation's hourly rate (labour and machine).
- Overheads — fixed or additional operating costs added on the BOM or Work Order.
Saleable scrap is then netted off. The result is a finished-goods valuation that flows into inventory and the general ledger automatically.
Skimmable summary: ERPNext sums material (BOM valuation), operations (workstation rate × time), and overheads, less saleable scrap. The BOM gives standard cost; the Work Order records actual cost of a run, and the result posts to inventory and the ledger.
How do I add labour and machine cost to a BOM?
You add labour and machine cost in ERPNext by defining operations and workstations, setting an hourly rate on each workstation, and adding those operations to the BOM's routing with a time per operation. ERPNext then multiplies the operation time by the workstation's hourly rate to produce the operation cost, which becomes part of the finished-goods cost.
The workstation hourly rate can bundle labour and machine cost together, or you can separate them across workstations for finer accuracy. Getting these rates right is what turns a material-only cost into a true manufacturing cost. Many businesses skip this step and then wonder why their margins do not match reality — the missing operation cost is usually the reason.
Skimmable summary: Define operations and workstations, set an hourly rate per workstation, and add operations to the BOM routing with a time. ERPNext multiplies time by rate for operation cost — the step most manufacturers skip, which is why their costs look wrong.
What is the difference between standard cost and actual cost?
Standard cost in ERPNext is the planned cost from the BOM before production; actual cost is what a specific Work Order really consumed in material, time, and overhead. Standard cost is used for planning, quoting, and inventory valuation; actual cost tells you whether a real run performed as expected. The gap between them is where you find inefficiency.
| Standard cost | Actual cost | |
|---|---|---|
| Source | BOM (planned) | Work Order (as produced) |
| Used for | Quoting, planning, valuation | Performance review, variance |
| Captures | Expected material and operation cost | Real consumption and time |
| Reveals | The target | Whether you hit it |
Reviewing standard versus actual across Work Orders is the real payoff of costing in an ERP — it turns costing from a number into a management tool.
Skimmable summary: Standard cost is the BOM's planned cost for quoting and valuation; actual cost is what a Work Order really consumed. The variance between them exposes inefficiency — reviewing it is the true value of ERP costing.
Why is my ERPNext product cost wrong?
An ERPNext product cost is usually wrong because one of the three inputs is missing or misconfigured — most often the operation cost (no workstation rates or routing) or stale raw-material valuation rates. ERPNext will still calculate a cost from whatever it has, so a material-only BOM produces a confident but incomplete number that under-states true cost.
The common culprits are: no operations or workstation rates defined, so labour and machine cost is zero; outdated item valuation rates that no longer match purchase prices; overheads never added; and multi-level BOMs where a sub-assembly's cost was never rolled up. Fixing costing is usually a configuration review, not a software problem. Multi-level products in particular need correct sub-assembly costing — covered in my multi-level BOM guide.
Skimmable summary: Product cost is wrong when an input is missing — usually zero operation cost (no workstation rates), stale material valuations, unadded overheads, or un-rolled-up sub-assemblies. It is a configuration fix, not a software fault.
Want costing you can price on?
I configure BOMs, routing, and costing in ERPNext so your finished-goods cost includes material, labour, machine, and overhead — a number you can quote and price on. See the ERPNext product page or the ERPNext manufacturing guide.
Frequently asked questions
How does ERPNext calculate the cost of a manufactured item?
ERPNext sums the raw material cost from the BOM, the operation cost from the routing (workstation hourly rate multiplied by operation time), and any additional overheads, then subtracts the value of saleable scrap. The BOM holds this as a standard cost, and the Work Order records the actual cost of each production run. The finished-goods valuation posts to inventory and the ledger automatically.
How do I include labour cost in ERPNext manufacturing?
Define operations and workstations, set an hourly rate on each workstation, and add the operations to the BOM's routing with a time per operation. ERPNext multiplies the time by the rate to produce the operation cost, which includes labour and machine cost. Without workstation rates and routing, ERPNext treats operation cost as zero, which understates the true finished-goods cost.
Why does my finished-goods cost look too low in ERPNext?
The usual reason is a missing input — no operation cost because workstations and routing were not set up, overheads never added, or stale raw-material valuation rates. ERPNext calculates a cost from whatever data exists, so a material-only BOM produces a low, incomplete figure. Review the BOM's operations, workstation rates, overheads, and item valuations to correct it.
What is the difference between BOM cost and Work Order cost?
BOM cost is the standard, planned cost of producing one unit before you make it; Work Order cost is the actual cost of a specific production run, based on real material consumed and time taken. BOM cost is used for quoting and valuation; Work Order cost shows whether the run performed to plan. The variance between them highlights inefficiency.
Does ERPNext handle overheads in product costing?
Yes. ERPNext lets you add overheads as additional operating costs on the BOM or Work Order, either as a fixed amount or spread across production. This captures indirect costs — utilities, supervision, consumables — that are not tied to a specific material or operation. Adding overheads gives a fuller finished-goods cost than material and labour alone.
About the author
Manoj is an ERPNext and Frappe implementation consultant at MithTech in Bengaluru. He configures BOMs, routing, and manufacturing costing in ERPNext so Indian manufacturers get finished-goods costs that include material, labour, machine, and overhead.