I am assuming you have perpetual inventory turned on.
Stock reconciliation is the right way to make the correction entries.
Change the BOM so that the next time around you use the correct BOM for issuing material to production and for manufacturing. But it’s too complicated to reverse all entries and redo them correctly.
A recap of your situation: Instead of 15mm cap, 20mm cap got included in the BOM and got manufactured. However, the correct item was used (as it usually happens on the shopfloor. After all the shopfloor was churning out products that your customers kept coming back for more even before you implemented ERPNext ) . Now what’s the effect of this error on your book of accounts. It’s a little complex. Let me illustrate:
Let’s day the valuation of the 15mm cap is Rs. 1. Let’s say the valuation of the 20mm cap is Rs. 2.
So when you manufactured 5,000 items where on ERPNext you used the 20mm caps, whereas the actual consumption for the 15mm caps. Let’s say you store both Caps in Stores - ABC.
Now for Stores - ABC you need to pass a Stock Reconciliation entry +5,000 20mm Caps, - 5000 15 mm caps. The net effect of that is Rs. 5,000.00 (as per our assumption of valuation) and you can park that into a Temporary Account for now (of any account for that matter). This is easy and fairly straight forward. Now your upstream Stores is all set.
But you have Rs. 5,000.00 sitting in that temporary account.
As you manufactured 5,000 items by using the 20mm cap on ERPNext (But 15mm cap in the real world), you increased the valuation of the Item that got manufactured by Rs. 1 per Item or the same Rs. 5,000.00 that’s sitting in your temporary account. So if you reduce the valuation of the manufactured item (through a stock reconciliation) by Rs. 1 per item and park the difference account in the same temporary account, it should square up all nicely, right? Well, not so fast!
If all the manufactured item is still in stock, yes, you could to that and it would all square up nicely (as long as you ensure that the valuation correction happens in each of the warehouses where the 5,000 products are sitting in).
But let’s say out of the 5,000 you made, you have sold 1,500. So these products that got sold is out of your inventory and the valuation of the sold item would have got credited to the Stock Account of the warehouse from which you made the stock transaction connected to the sale and the total valuation of the item would have moved to Cost of Goods Sold and got Debited there.
Now, your profitability got reduced by Rs. 1 per item (or Rs. 1,500.00 totally). The other 3,500 nos of the manufactured item is still in stock and could be in various warehouses.
So, if you want to really do as close to a perfect job, you should pass a Stock Reconciliation entry to reduce the valuation of the manufactured item by Rs. 1 per item (for the 3,500 you have in stock)and the difference account would be the same temporary account.
Then you pass a Journal entry to move Rs. 1,500.00 from the temporary account - Debit) and move it to COGS Credit.
If you notice, ultimately when all the 5,000 items are sold, the valuation of the item will hit COGS, ultimately. So, if you want to simplify things, you can move the Rs. 5,000.00 directly from the temporary account to COGS. Matter of fact, you can use COGS as the difference account in the stock reconciliation entry you passed to correct the quantity of the upstream warehouse (Stores - ABC).
Hope this helps.