How are all inventory models in D365 (or AX) calculated?

How are all inventory models in D365 (or AX) calculated?

Inventory valuation, a very important topic to understand! In almost every organization inventory is used and this inventory has a value. For reporting purposes the inventory value needs to be available. But inventory valuation can be calculated in different ways and therefore you also have different options to use this in D365FO (or AX).

In this article I will explain the basic calculation behind each Inventory (valuation) model, which can be found in the Item model groups:

Understanding these calculations is a must to understand inventory valuation in D365FO. With understanding of this basic calculation it is also much easier to understand all the variants which can be used here, like using the 'Include physical value' or using dimensions with financial values (If you want to understand more of these variants, at the end of this article I share other articles I wrote about inventory valuation and these variants). But it is important to understand the basic concepts first and that's where this article is about.

The calculations are all related to calculate the correct COGS (cost of goods sold) for inventory issues. It is related to determine what value should be taken out of inventory valuation if you issue inventory (like sales orders). Therefore this calculation also impacts the inventory value of the remaining goods available.

To be able to explain the inventory valuation models and the different calculations, in D365FO I have created an item model group for each different inventory model (kind of calculation):

In these item model groups only 'Stocked product' and the Ledger integrations are enabled (no 'Include physical value' or 'Fixed receipt price'). For each of these Item model groups I have created a new released product:

For all these items, I have posted the same transactions with the following physical and financial dates:

  • January 1: Purchase 1 piece for USD 10,-
  • January 3: Purchase 1 piece for USD 12,50
  • January 6: Purchase 1 piece for USD 9,-
  • January 9: Selling of 1 piece
  • January 11: Purchase 1 piece for USD 11,-
  • January 15: Selling of 1 piece
  • January 20: Purchase 1 piece for USD 13,-

How is the inventory valuation calculated during the month in each inventory model? What happens during the month and what is the impact of the inventory closing?


FIFO

FIFO is related to First in, First out. This means that the value of the oldest purchase needs to be used as COGS (cost of goods sold, the outgoing inventory value) of the first sales.

However (and this is very important to understand): during the month in D365FO the running average cost price is used. This means that the FIFO principle is not used directly during the month. In the transactions of my FIFO item you can see this: during the month the first sales order (000885) has a cost amount of USD 10,50, which is the average of the first three purchases (USD 10,- + USD 12,50 + USD 9,- = USD 31,50) / 3 = USD 10,50:

This average price is called the 'Running average cost price' in D365FO. If you don't know about this running average cost price, I strongly advice you to first read this article about this fundamental principle for inventory valuation.

After running the inventory closing, the running average cost price is changed into the definitive cost values. The cost amounts are as following now because now the FIFO principle is taken:

What you can see is that now the 'First in, First out' principle is followed for the cost amounts of the inventory issues, which means that the first purchase value is used as cost price of the first sales order (sales transactions are made red, related transactions have the same back ground color in the column 'Cost price'):

LIFO

LIFO is the opposite of FIFO: Last in, First out. This means that the last purchase values will be used first as COGS. Just as FIFO, during the month the running average cost price is used:

This means that during the period the same cost amounts are used as FIFO, also for the cost price of the inventory issues. But after running the inventory closing you can see that the cost amounts of the sales orders are different now:

In this case the purchase value of the last purchase is used as cost price value of the first sales order:

(Maybe it depends per region, but in projects where I work this valuation method isn't used a lot.)


LIFO DATE

LIFO date is a variant on LIFO. In this case the LIFO principle (Last in, First out) is followed, but the 'Last in' is based on the last purchase value before the sales posting was made. Just as FIFO and LIFO during the month the running average cost price is used, so the same figures here before the inventory closing:

After the inventory closing you see different values. Also you can see here that the sales order cost amount is based on the last purchase before that sales order:

So in this case based on the 'Last in, First out' principle, the last purchase value is used for the first sales order, but in this 'LIFO date' variant it is the last purchase order posted before the sales order posting:


Weighted average

Weighted average is based on a monthly calculated average price. During the month the running average cost price is used (just as already described by FIFO, LIFO and LIFO date):

However, after running the inventory closing the average valuation price of the total month is weighted and used for all inventory issues during that month. This is always the valuation of the available inventory at the beginning of the month plus the value of all the new purchases during this month. This calculated weighted average cost price is used for all inventory issues during that month:

What you see in the print screen is that for calculation of the weighted average extra item transactions are created during the inventory closing. These are made to calculate the average price.

Explanation of the inventory issue cost price:


Weighted average date

Weighted average date is a variant on weighted average. During the month the running average cost price is used, so now differences in relation to FIFO, LIFO (date) and weighted average:

During the inventory closing the weighted average cost price is calculated for each date where an inventory issue has taken place. This means there is not one weighted average cost price for the total period (like weighted average method), but multiple weighted averages calculated for the month:

And in that case for each inventory issue date a different average price is calculated, based on the existing available inventory value at the moment of inventory issue:


Standard costing

Like the name says, in standard costing method you use a 'standard' cost price. This is a fixed valuation price that you enter on the item. In my case I enter a valuation price of USD 11,- on my item.

No matter what I pay for this item during purchases, it will always be valuated for USD 11,-. When I pay more or less for the item, the difference between my purchase price and standard cost price is posted as purchase price difference. Therefore also each inventory issue will have a cost price of USD 11,-. In this case the inventory closing isn't used, so during the month already the definitive cost amount is posted for each transaction:

Explanation:

The conclusion is that with standard costing you always calculate your inventory value with a determined cost price. Any difference between this determined cost price and the real costs (purchase price, production costs) needs to be posted as a profit or loss. This is also the reason why in the Inventory posting profile a specific tab is available for 'Standard cost variance', where you can enter the main accounts that needs to be used for the posting of these variances (differences between determined standard cost price and the actual costs):


Moving average

Just like standard costing, for moving average no inventory closing is used. After each transaction immediately an average cost price is calculated (therefore a moving average in stead of a weighted average). For each inventory issue, the available moving average cost price is given as cost price of the inventory issue:

Explanation of these values:


Non-valuated

It can be that in the list you also will find the inventory model 'Non-valuated':

This inventory model is related to the feature 'Warehouse management only mode':

So the 'Non-valuated' inventory model will only be visible if this feature is enabled. Warehouse management only mode lets you set up a legal entity in Microsoft Dynamics 365 Supply Chain Management that's dedicated to warehouse management processes. This legal entity can then provide warehousing services to other legal entities in D365FO, other ERP systems or order management systems. For these transactions no inventory value will be calculated (because this will be done in the legal entities where the warehousing services are provided for). If you want to learn more about this new feature:

Warehouse management only mode overview (preview) - Supply Chain Management | Dynamics 365 | Microsoft Learn


I hope these examples and calculations helps to understand the way how inventory valuation works in D365FO. Do you want to know more about the variants being used here? I have made a list of other articles I wrote about these variants:

Nghi Le Tiet

IT & ERP Expert

5 个月

with my over 15yrs working with it, from my opinion that weighted avg. date is strongly recommended for best reconciliation and easy to validate again system auto calculation if it was not w.avg.date the cost accountant is working in nightmare.

Ismael Quteifan

Combining ERP and Process Improvement in Supply Chain Manufacturing and Asset Management

5 个月

This is the best article on the subject

Anders Dahlin

Solution Advisor Dynamics 365 AI-ERP - Enables digital transformation with the Microsoft cloud and Dynamics 365

9 个月

Thanks for sharing ??

Kadriye Otte

Former Consultant D365 F+O, happy retiree

9 个月

Many thanks for this elaboration. Every D365FO consultant should have this knowledge because it is the basis of everything. Unfortunately, this is not the case. But you can read it here and build up examples in your own system. This is the only way to learn how it works.

Semir Teskered?i?

Docentric AX for Microsoft Dynamics 365 F&O Functional Consultant

9 个月

This is a great piece about concepts that are not that easy to grasp. Also very clear explanation and spot on examples help a lot.

要查看或添加评论,请登录

Hylke Britstra的更多文章

社区洞察

其他会员也浏览了