The ‘standard costing’ method of accounting only works well if your raw materials costs do not fluctuate more than a small percentage over time. This is not always the case in todays economy.
I have one manufacturer that develops, manufactures, and supplies specific chemicals to the commercial trucking and aircraft industries. They are not afraid to work with exotic substances in order to create great products. The downside is that the cost of the raw material chemicals can fluctuate as much a s 30% month to month. These things are affected by more than just market conditions, but changing tariffs, labor disputes, changing world wide regulation of different chemical classes, plus regular old supply and demand. In one case when only two companies in the country dared to make a raw material and one of them had a factory fire the halted production for almost a year, the cost of a key ingredient to one product jumped from $145/kg to $398/kg over the course of one week.
If the production costs do not fluctuate with the production run based on the current cost of materials, then this customer would have to close down production. The reality is the industries they service are aware of the supply side issues and accept the price increases.
Standard Costing would not work very well here because everything would be an exception.
This is also one of the reasons I have limited my manufacturing clients to the 3 I already have and will not take on any further clients that need the manufacturing module. The biggest reason is of course scrap management, but that a whole different topic.
What you are explaining for me is a normal situation for many manufacturers.
First- after another purchase reciept with a much higher price the Cost of Material will not be updated inside the BOM until you do this by Function “update Costs” inside the BOM (or you create a new version what will be only practicabily for testing purposes). Even if you will do this the Costs for the FG will be adjusted properly.
Also the Stock movement from the next Work Order (which is based on the latest BOM with properly updated Costs) will be valued with the right new Costs.
But everything will only work right, when the “Default Valuation Method” in Stock setup and so within the Item data is “Moving Average”. If it is blank (in Item table and/or FIFO in Stock setup) it won’t work.
In managerial accounting, by using standard costing, finance manager can measure the efficiency of production plants. The difference between standard cost and actual cost will be booked into difference account. By this way, as the end of the month, finance manager will look into this difference account and perform drill down analyzing why the balance of this account is too large or too small (even negative). You can expect many reasons like material actual consumption and BOM are not reconcile, the qty produced is too low, overhead cost and direct labor cost is over budget. Fluctuated valuation rate of raw material is also a expected reason and will be presented in this difference account.
The accounting problems here is that how will accountant choose to handle this difference account at the end of accounting period.
At my workplace, accountant choose to distribute the difference over Inventory and COGS (they will have to calculate how many produced product have been sold and how many remain in inventory at the end of accounting period), and then distribute the difference. This process is similar to Landed Cost Voucher in ERPNext but currently LCV can’t be used in Manufacturing workflow.
A more simple approach is booking all these difference into COGS. I have try to achieve this through the using of custom script, but if erpnext can take this approach by default then it would be nice.
The reason to apply standard costing is that this method fit the structure of ERPNext. When selling a product, ERPNext make accounting entry of COGS by using Delivery Note doctype so COGS has to be booked instantly, there isn’t any method in erpnext to allow the postponing of COGS value to the end of accounting period. Even if you try to achieve this, it will require a completed revamp of Stock Modules Workflow which I think we should try to avoid. Manufactured Item’s valuation rate have many components: Raw Material, Direct Labor, Overhead Cost, .v.v… But things like direct labor and overhead cost is usually unknown and can only be determined at the end of the month, then how can you got the valuation rate that will be used in COGS entry for sold products in that month?
But I think it depends on the specific Costing philosophy of the appropiate Company. I also want to know who will be responsible for Costing deviations. Purchasing, Manufactoring or Sales ? For this standard Costing and standard pricing is required. But even if there are no Consting structures - Sales has to be responsible for alle deviations ;-)))
It really depend on how your company do budgeting. In the end, the reason many company choose standard costing is the it make planning and budgeting easier (which is the purpose of a Enterprise Resources Planning system). A decent manufacturing company will have management accountants/financial analysts who will responsible for budgeting, they are the one in charge of all of these things so the right way is asking them directly.
Have you tried doing this where the production of scrap is involved?
I find out that where you add scrap to the mix ERPNext does not allow the production to be completed, it asks for valuation rate for the finished goods.
In this situation there is a Bug in the Stock-Movement transaction. I’ll get the same error
Valuation rate not found for the Item MAN_EP02, which is required to do accounting entries for Stock Entry 6b85c379d1. If the item is transacting as a zero valuation rate item in the Stock Entry, please mention that in the Stock Entry Item table. Otherwise, please create an incoming stock transaction for the item or mention valuation rate in the Item record, and then try submitting/canceling this entry
I’ll get this on both ways - first try from inside work order with button “finish”, second way direct stock transaction manufactoring.