Wednesday, January 15, 2025

D365 SCM Moving average: High-level overview

 Moving average is a costing method that works on average principle, meaning it calculates the average cost of inventory in stock. 

Average cost of each inventory item in stock is re-calculated after receiving inventory via purchase orders or any other inbound documents. So formula is the following:

The moving average cost = the total cost of items purchased / the number of items in stock.

Let's look at the example below:


With these transactions, the moving average cost at the 9/16/2024 was 100$, but at the 9/18/2024 was 120$.
Calculation for the 9/18/2024 = (10000+18000)/(100+150) = 112
If we sell the product, the cost of goods sold would be 112$.

In the scenarios above, the sales order was posted before posting of the invoice for purchase orders
So what will happen when invoice is posted for the purchase order and invoice price has been changed. 

What happens in D365 in this scenarios.
Purchase order transaction:
Let's charge 105.00 per unit for the item, not 100.00 as it was originally in the product receipt.


When we post invoice and invoice price is different, the following voucher will be created:
If the invoiced quantity is still on hand, the full difference between the invoiced amount and the receipt is recognized as an inventory cost.
If only part of the quantity is still on hand, the system performs a proportional calculation at the time of invoicing.

In our scenario, part of the quantity was sold already. The additional cost of 5.00 per unit cannot be related to the sales order, because the sales order is already costed when you receive the invoice for the purchased items. Therefore, the system performs a proportional calculation, and the expense of 400.00 ([105.00 - 100.00] × 80 units) is expensed on the Price difference for moving average account. So 400$ expensed and the remaining 100$ will be recognized as inventory cost and Financial cost that will be posted on transaction is 10100$ instead of 10500.

Moving average cost recalculation:
As soon as we post invoice, Cost is recalculated and now, it is not 112$, but 112.59$.
The calculation is the following: (10100+18000-8960) / (100+150-80) = 112.5882 

Sales order transaction
It does not update/recalculate issue transaction, it does not post adjustment transaction. 

Inventory close does not affect products that have moving average as the inventory model group, and it does not generate any settlements between the transactions. So it means that posted sales orders will stay unchanged. 

Moving average is typically a good fit for the following scenarios: 
- All units of the same product family carry the same cost
- There is no need to recalculate the inventory transactions to adjust the costs on outbound transactions. 
- There is no need in inventory closing
- Data entry on purchase orders is accurate and in timely manner and no significant difference between purchase price and invoice price. 


No comments:

Post a Comment