ERPNext does not store a manufactured item's cost as a fixed field on the Item form. Instead, the finished-goods cost comes from its BOM, and the item's valuation rate is set when you actually produce and receive stock. To see a current standard cost, open the item's default BOM and use "Update Cost"; to value stock, the Work Order posts the real production cost.
This trips up a lot of new ERPNext users, and it shows up as a recurring question: "where is the cost of my finished product on the item?" The short answer is that ERPNext treats a manufactured item's cost as a result of its BOM and production, not a number you type on the item. Once you understand that, the confusion disappears.
A finished-goods item does not carry a hand-entered cost in ERPNext — its cost is derived from the BOM and realised when you produce stock. Knowing where to read it, and how to refresh it, is the whole trick. I am Manoj, an ERPNext and Frappe implementation consultant at MithTech in Bengaluru, and this guide clears it up.
How do I see a manufactured item's cost in ERPNext?
You see a manufactured item's cost in ERPNext by opening its BOM, which shows the rolled-up cost of material and operations for one unit. The Item form itself does not display a fixed manufacturing cost, because ERPNext derives that cost from the BOM rather than storing it as a typed field. The BOM is the source of truth for what a finished good costs to make.
To read the current standard cost, open the item's default (active) BOM and look at its total cost, which sums raw material valuation and operation cost. To read the stock value of finished units you have already produced, look at the item's valuation rate, which the Work Order sets when goods are received. One shows the planned cost, the other the actual value of stock on hand.
Skimmable summary: Read a manufactured item's standard cost from its BOM (material plus operations for one unit); the Item form has no typed cost field. The item's valuation rate shows the actual value of produced stock, set by the Work Order.
How does ERPNext set the valuation rate for a manufactured item?
ERPNext sets a manufactured item's valuation rate when a Work Order produces the item and the finished goods are received into stock. At that point the system takes the actual production cost — consumed material plus operation cost, less any saleable scrap — and posts it as the valuation of the finished units. Raw materials, by contrast, get their valuation from their purchase price.
This is why a brand-new finished-goods item can show no valuation rate until you have actually manufactured some. The valuation is an outcome of production, not a setting. If you use a valuation method like moving average, each production run updates the average cost of that item in stock, keeping the value current as material prices change.
Skimmable summary: A manufactured item's valuation rate is set when a Work Order produces and receives it, using the real production cost (material plus operations, less scrap). It stays empty until you actually manufacture, because valuation is an outcome of production, not a typed setting.
How do I update the BOM cost in ERPNext?
You update the BOM cost in ERPNext by opening the BOM and using the "Update Cost" action, which recalculates the BOM total from current raw-material valuation rates and workstation operation rates. Material prices and operation rates change over time, so a BOM's cost can go stale — "Update Cost" refreshes it so quotes and standard costs reflect today's numbers.
For multi-level products, update the sub-assembly BOMs first, then the parent, so the roll-up carries the latest sub-assembly costs upward. ERPNext can also refresh BOM costs in bulk on a schedule. Keeping BOM costs current is what stops finished-goods costing from drifting away from reality, which I cover fully in the multi-level BOM guide.
Skimmable summary: Update a BOM's cost with the "Update Cost" action, which recalculates from current material and operation rates. For multi-level products, refresh sub-assembly BOMs first so the parent rolls up the latest costs; ERPNext can also do this in bulk.
Why does my finished-goods item show zero or wrong cost in ERPNext?
A finished-goods item shows zero or wrong cost in ERPNext usually because its BOM cost has not been rolled up, no stock has been produced yet, or the BOM's material and operation rates are missing or stale. ERPNext derives the cost from the BOM and production, so if either is incomplete, the item has no accurate cost to show.
The common fixes are direct: make sure the item has an active default BOM, that its raw materials carry valuation rates, that operations and workstation rates are set, and that you have run "Update Cost" recently. If the item has simply never been produced, its valuation rate stays empty until the first Work Order. A wrong cost almost always traces to a missing input in the BOM — the same root cause behind most finished-goods costing problems.
Skimmable summary: A zero or wrong finished-goods cost usually means no BOM roll-up, no stock produced yet, or missing/stale material and operation rates. Fix it by ensuring an active BOM with valued materials and workstation rates, then running "Update Cost".
Want your ERPNext item costs to be accurate?
I configure BOMs, valuation, and manufacturing costing in ERPNext so your finished-goods costs are accurate and current. See the ERPNext product page or the ERPNext manufacturing guide.
Frequently asked questions
Where do I enter the cost of a finished product in ERPNext?
You do not type it directly — ERPNext derives a finished product's cost from its BOM. Open the item's default BOM to see the rolled-up standard cost of material and operations, and use "Update Cost" to refresh it. The actual stock value comes from the valuation rate, which a Work Order sets when it produces and receives the finished goods.
Why is my manufactured item's valuation rate empty in ERPNext?
Because valuation is set by production, not by a manual entry. A manufactured item's valuation rate stays empty until a Work Order produces the item and receives it into stock, at which point ERPNext posts the real production cost as the valuation. Until you actually manufacture some units, there is no produced cost to value.
How do I refresh a BOM's cost after material prices change?
Open the BOM and use the "Update Cost" action, which recalculates the BOM total from current raw-material valuation rates and operation rates. For multi-level BOMs, update the sub-assembly BOMs first so the parent rolls up the latest costs. ERPNext can also refresh BOM costs in bulk on a schedule, which keeps standard costs current automatically.
Why does my finished-goods item show zero cost?
Usually because the item has no active BOM with costed materials and operations, or because no stock has been produced yet. ERPNext derives the cost from the BOM and from production, so an incomplete BOM or an item that has never been manufactured shows no accurate cost. Add a complete default BOM, run "Update Cost", and produce a Work Order to set the valuation.
Does ERPNext store standard cost separately from actual cost?
Effectively yes — the BOM gives the standard (planned) cost, while the Work Order and stock valuation give the actual cost of produced units. The BOM total is your quoting and planning cost; the item's valuation rate is the real value of stock on hand. Comparing the two is how you spot when production is costing more than planned.
About the author
Manoj is an ERPNext and Frappe implementation consultant at MithTech in Bengaluru. He configures BOMs, item valuation, and manufacturing costing in ERPNext so Indian manufacturers get accurate, current finished-goods costs.