Hi,
I am trying to find a way to avoid opening stock price differences from being posted to the consumption of current period by manufactured sales order stock in Sales order costing scenario. Eg :-
Initial Stock
Raw Material : ABC
Standard price : 20
Opening Stock Qty : 1
Opening Stock Actual Price : 30
Opening Stock Price Difference : 30 - 20 = 10
Finished Product : ZZZ
Standard price : 17
New Purchases
Purchase order price : 25
Purchase order qty : 1
Goods receipt qty from purchase order into inventory : 1
Goods receipt price difference = 25 - 20 = 5
Consumption In Production
Production order P001 for FG ZZZ linked to sales order S1
Goods issue of ABC for 1 qty to production order valuated at standard price of 20
Goods Receipt From Production
GR of ZZZ for 1 unit valuated at 17
Manufacturing variance 20 - 17 = 3
After Material Ledger Execution
Actual price for Raw material : ABC is computed as follows :-
Op. stock price diff 10 + GR price difference 5 = 15
The total price difference of 15 will be divided between consumption of 1 unit and closing stock of 1 unit at 7.5 each (15 / 2), bringing the actual price of ABC to 20 + 7.5 = 27.5
So the sales order stock ZZZ manufactured by production order above will be revaluated to 17 + 7.5 + 3 = 27.5
In this example above, the current period raw material price difference is added up to the opening stock price difference and then posted to the manufactured product.
However is there a way to avoid this averaging of price difference and post only the current period price difference to the manufactured product? The requirement is like this :-
Instead of summing up Op. stock price diff 10 + GR price difference 5 = 15, the system should separate and allocate only the current period price difference to the consumption of production order and the opening stock price difference should go to the ending inventory like this :-
5 goes to production order
10 goes to ending inventory
So the final value of production order will be :- 17 + 5 + 3 = 25 instead of 27.5
I know the standard system cannot do this, is there an alternative work around to achieve the above?