Standard Costing


I would like to use standard costing in ERPNext and also use the full variance analysis including reporting and posting labour variance, material variance, overhead variance, Rather then extract data into Excel, I would prefer to have ERPNext take care of everything including posting journals and reporting via the report builder.

Does anyone use this costing method and whats steps did you take?

I have an idea of possibly using new doctypes and creating a “calculated report” but thought I would see if someone has already tackled this before spending hours simulating and experimenting!


Hi Abbas,
Different people mean different things by “standard costing” which is a bit ironic.
I am a big advocate for the Landed Cost Voucher workflow. This might mean that you need to check “allow zero valuation” in your stock entries more often, but I think it gets you a pretty good number for whatever a reasonable costing period is. If you are turning your inputs every day/week/month (food industry or something with ~perishable inputs) the costing number gets to be very good pretty quickly. If you have inputs in inventory for a long time (drying lumber… antique car parts… ) it will take long to be correct and you should manually pick your starting point for cost rather than use zero valuation.
Hope that helps. If you are considering improvements to this kind of work flow, take a look at LCV first and see if it would meet your needs.
@umair I’d be happy to put together a presentation on this for 1) the conference or 2) a random webinar. PM to discuss if you think that’s a gap we can try to fill.


Thank you for the reply.

All the organisations I have worked for (all in the UK) have used standard costing and I am a big fan.

Annual standard setting forces all the different areas, such as purchasing, operations, demand planning etc to get to together and accurately forecast and plan for the coming year. Naturally, if the actuals are widely out from the standards, then the managers would have to explain why. For example, the purchasing manager would have to explain PPV is so high and why he was unable to find a cheaper supplier to maintain the standard he had set.

I addition, you have a little more control on overhead absorption including when to release to P&L.

Obviously, this all only works if the standards are set correctly, accurately and with good planning.

I am going to setup an Excel model showing all the double entries on all the different scenarios. This will make it a but more easier when testing ERPNext.

One thing I also will try and include is the impact of changing standards part-way through the year. For example, a standard for a raw material has an extra zero which shows significant PPV variance. I would want to update the standard cost of the raw material and all BOMs which contains that raw material and then post the correction jnl into the relevant buckets. These are the things which you end of having to take “off-system” and then post a manual jnl.

In my last job, I have to build a database to revalue the standards due to the RM going to FG going into another FG going into another FG.

I will post my template on this post when its done…


1 Like

Trying to revive this post to get clear specs on the Standard Costing feature. Here is what we understood from one of the partners. Will be great if the community could validate so that we think of adding it in the internal roadmap.

  • On the Item master, there is a field called Standard Costing being tracked.
  • Based on the stock ledger and item’s valuation, you get a valuation of the item in the report.
  • A report compares both items’ valuation rates Vs Standard Cost so that analysts can validate were over or under-spending happened.
Item Code Valuation Rate Standard Costing
ABC 5.67 6.00
XYZ 11 10

If that’s all Standard Costing expects, you can easily make this report from Stock Balance report itself, with simple custom field addition in an item, and adding that field in the Stock Balance report.

Could someone please validate if this is it to Standard Costing, or something else?

1 Like

@umair I assume you mean ‘item master’ and this is just a typo. Feel free to edit this bit out if you change your original post.

The approach you have outlined aligns with my understanding of ‘standard costing’, which is some napkin-math-hand-waving to placate auditors with a placebo of reason in the absence of data.

I want to leave this comment here so that frustrated people looking for a standard costing feature comprehend this. ‘Standing costing’ is in nearly every way less good than what ERPNext provides by default (moving average or FIFO) and an order of magnitude less good than a workflow that uses the Landed Cost Voucher. If this is the way you have to work, I’m sorry, you deserve better.

1 Like

I am not disagreeing with @tmatteson but maybe my user story from many years ago would help. (not trying to muddy the issue)

We used Standard Costing in a Budgeting process at a manufacturing company. In Q4, we not only had to set up a budget for what our expenses were going to be, but we also had to forecast Units Sold (by product) and Selling Price.

Then at a monthly managers meeting, we could say things like:

  • Profits are 12 percentage points higher than expected.
  • 7 points came from selling more units
  • 2 points came from net selling price higher than budgeted
  • 3 points came from lower costs

I was in Marketing at the time and there was pressure to be accountable for a Budget line in something like Promotions. “Hey, you guys said you were going to spend $10,000 and increase Sales! Well, Unit Sales ARE up, but you did it with discounts on top of the promotional expense. Not cool”.

@MichaelPinkowski This is a good example and diverges from what I had in mind. You’re using “standard costing” as a pro-forma value, not a forensic one; it answers “what did we say the cost of this should be (for this time period)” rather than “what was the actual (historic) cost”. I guess both meet the definition of “standard costing” but I suspect that the budget/ projection/ pro-forma context is more commonly used than what I was describing.

I don’t your use case changes the answer that Umair is looking for. The proposed field could be used for either forensic or pro-forma analysis.

An area where I could see this feature requiring more development it would be in surfacing the changes to the standard costing of an item over time. Having a docfield that can represent data with temporality would an interesting challenge and would not be isolated to this use case but should be discussed in a separate thread.

1 Like

In my previous ERP career, there was a very different definition of Standard Costing.

Standard Costing meant this:

  1. Each Item had a defined, per-unit Cost Price of $N, between Start Date and End Date.

  2. Whenever stock was modified (receipt, transfer, issue), Inventory was always debited or credited by the Standard Cost Price. No exceptions.

    • As a consequence, formulas like COGS were simple: COGS = Standard Cost for that date-time. No exceptions.
  3. Once stock was posted to the ledger, that Cost Price was immutable.

  4. If you edited the Standard Cost price for an Item, that only applied to future transactions. No retroactive adjustments were allowed.

  5. All the other “components” typically associated with cost, were recorded in non-inventory ledger accounts:

  • Purchase Price Variance
  • Freight
  • etc.

Clients who chose to use Standard Cost were usually manufacturers.

The concept of Standard Cost was limited to the above. Reporting, budgeting, discounts, forecasting? All outside the scope of Standard Cost.

Now, I don’t think this is at all what @umair had in mind for ERPNext. Which is fine.

I just wanted to share my interpretation of the terminology, that I’ve seen during my ERP adventures here in the US.

1 Like

@brian_pond This is really interesting. I’m not going to disagree with your definition and experience of standard costing - it’s something I’ve seen used in QuickBooks-and-Excel budgeting systems and sometime for cost analysis but never for formal accounting. So your point 2 is kind of shocking to me. Maybe it’s because I’ve always worked in systems that rejected this approach in favor in lower-of-cost-or-market (LCM).

I don’t want say that you are advocating for this, you are just providing your definition. I want to understand why a business would choose this approach today, when there is better information already available by default in ERPNext. I would argue that moving average and FIFO are both more accurate than Standard Costing and the detail available with serialized inventory or batched inventory. As an aside, @saifi0102 and I developed a batch-wise costing that is available to be contributed but I don’t know where it stands.

1 Like

Agreed, not advocating or recommending this method. Just sharing. I personally prefer some variation of Average or FIFO costing. Then Batch + Serial if you want to see actual.

For the Standard Cost method I mentioned, the companies that typically used this were discrete manufacturers. Especially ones who manufactured the same items, every day.

For example, manufacturing a Basketball. There are standard sizes and specifications. So you’d have an assembly line consuming the same raw materials, every day. You might create a few variations. But mostly you’re doing the same thing, thousands and thousands of times.

Because you’re always making the same product, and that product has a long shelf-life, you can:

  1. Purchase in bulk.
  2. Write blanket orders and longer-term agreements with suppliers.

In this kind of environment, some companies don’t want the hassle of dealing with Average or FIFO costs. For the next 6-12 months, they know the cost of their the cost of their raw materials, labor, and other overhead. They do the math, and decide that $9.50 is the Standard Cost for making a basketball.

Their ERP now uses $9.50 all the time. They don’t have to worry about fluctuation that might happen due to transferring between Warehouses, reversing receipts, reversing sales, Journal adjustments, or the myriad of other ways that Average and FIFO cost can be “broken”.

When they do have to cut a special Purchase Order, or pay for overnight freight, that fluctuation is recorded 1) On the Purchase Orders, and 2) In the General Ledger, as Purchase Price Variance. It’s available for analysis and reporting. But it doesn’t change the $9.50.

At some point (6 months, 12 months, etc), the company decides that $9.50 is no longer sufficiently accurate. Perhaps rubber prices have gone up, compared to last year. So they submit a new Standard Cost of $9.80, effective January 1st, 2023.

The fixed cost makes life a bit easier on accounting and sales people. You don’t have today’s basketballs at 25% margin, but tomorrow basketballs at 24.5% margin, because some orange dye had to be expedited last weekend.

This cost method is definitely not for everyone. But when you make the same Finished Goods every day, all day? Sometimes tracking Weighted or FIFO costs is more hassle than it’s worth. Noise. You’re only concerned about long-term shifts or changes in supply.

@brian_pond Is there some kind of forensic (GL) adjustment for the new standard cost when the switch is made. An approach like this in ERPNext that leveraged standard costing and then made the adjustment with LCV would seem to be a good compromise, especially in those thousands-of-units scenarios.

Exactly. In our world, there would exist some parent DocType + child DocType, to store an Item’s Standard Costs over time:

Item         From Date      To Date      Cost Price
----         ----           ----         -----
ABC         1/1/2022        6/30/2022     $9.50
ABC         7/1/2022        12/31/2022    $9.80

After adding another entry, you’d click “Submit.” First, this would validate your data (e.g. check for overlapping date ranges, ensure this Item is configured for Standard Cost). Then create + post some kind of LCV and/or GL journal. Making the required adjustments to 'Stock Ledger Entry', inventory balance in 'Bin', COGS, variance accounts, etc.

I don’t have any clients that require this yet. But if/when that happens, this is the approach I’d probably take.

1 Like