Dear community,
I have recently tested the moving average valuation method in D365FO and first tried to example from the Microsoft learning page:
Test 1
- Create a purchase order for a quantity of 2 and a unit price of 10.00 USD.
- Create a purchase receipt of the product.
- Create a sales order for a quantity of 1 and a unit price of 10.00 USD.
- Create a purchase invoice for a quantity of 2 and a unit price of 12.00 USD.
As expected, the price difference between the physical receipt and financial update is split, and an inventory adjustment for -2.00 USD is made (posted as moving average price differences). The "average" is now 12.00 USD/unit.
So far, so good. But then I tried similar examples with multiple receipt transactions, and that's where it gets confusing...
Test 2
- Create a PO for quantity of 2 and unit price of 10.00 USD and post invoice.
- Create a PO for quantity of 2 and unit price of 10.00 USD and post product receipt.
- Create sales order for quantity of 1 and post invoice. As expected, the issue is posted with a average cost of 10.00 USD.
- Post invoice the 2nd PO for quantity of 2 and a unit price of 12.00 USD.
Although this example is very similar to the first one, the result was somewhat surprising. As before, an inventory adjustment of -2.00 USD was made, leaving me with a moving average of 10.67 USD/unit. I expected the system to adjust in a way that would leave me with he correct average based on my receipts. In this case, an adjustment of only -1.00 USD should have been made, resulting in an average of 11.00 USD/unit.
Test 3
For my final test, I changed it up a bit again:
- Create a PO for quantity of 2 and unit price of 10.00 USD and post invoice.
- Create a PO for quantity of 2 and unit price of 12.00 USD and post product receipt.
- Create sales order for quantity of 1 and post invoice. As expected, the issue is posted with a average cost of 11.00 USD.
- Create purchase invoice for quantity of 2 and a unit price of 10.00 USD.
Strangely, in this case, no adjustment was made at all(!), and I now have a moving average of 9.67 USD/unit. This really shocked me, because I expect that my valuation per unit must always be between the minimum and maximum receipt price and never outside these boundaries! (I would have expected an adjustment of +1.00 USD to correct the average to 10.00 USD/unit.)
Based on my testing, I conclude that the price difference between physical and financial receipt is not correctly allocated between on-hand inventory and issues (posting to price difference), leaving me with incorrect average costs for my inventory valuation.
Can anyone explain these results? Is it a bug or a feature? (I used version 10.0.42 for this test.)