Inventory Costing in AX 2009
I wanted to explore some scenarios that illustrate a few important concepts related to inventory costing-- look at differences between physical and financial inventory, and how this affects inventory values. Please reply to the post if you have questions or comments, or if you are interested in additional posts on this topic. This is not intended to be a comprehensive look at AX inventory costing, but just a few concepts that I view as important to understanding the big picture of AX costing logic.
For my test, I created a new item, using a FIFO costing model. The Inventory model group has three settings I want to point out and illustrate:
- Physical negative inventory
- Financial negative inventory
- Include physical value
Note that the test item has physical and financial negative inventory unmarked, and 'include physical value' is marked:

To start, I create a purchase order line for the item and post the packing slip for a quantity of 10 at $1 each. The PO packing slip is considered a 'physical' inventory update. You'll see the inventory transaction and the item's on hand reflect the physical cost amount:

This is an important concept as you'll see the separation of physical and financial inventory throughout AX. Understanding the impact is important when defining your setup and processes. Below is a list of the transactions that result in physical inventory value and those that result in financial inventory value.
|
Transactions that affect physical value |
|
Purchase order Packing Slip |
|
Sales order Packing Slip |
|
Production order Report as Finished |
|
Production picking list journal |
|
Transactions that affect financial value |
|
Purchase order Invoice |
|
Sales order Invoice |
|
Production order End (This will move the RAF and the Picking List transactions into a financial status) |
|
Inventory Journal (All inventory journals affect financial value only) |
Next, I entered a sales order line for the item, quantity 10, and attempt to post the invoice. Although I have physically received 10 units of this item into stock, my sales invoice posting fails with an error message: "Item consumption for 10.00 cannot be updated because the cost price is known only for 0.00 in stock."
The error is thrown because of the model group setting 'negative financial inventory', which is unmarked for our item, meaning that we don't allow negative Financial inventory. If the sales order was for a quantity of 15, I would receive an error message: "15.00 cannot be picked because only 10.00 is/are available from the inventory"
This error message is driven by the 'Physical negative inventory' checkbox, which does a validation against the current 'total available' on hand inventory for the item. In order to post this invoice, we need to have sufficient financial inventory in stock. To satisfy this requirement, you would have to financially update an outstanding order, or create and post a new order. For our test, I created a separate purchase order for quantity of 10, unit cost $2, and post the Invoice for this purchase order (financially updated). Note that this is a different unit cost, than was used on the previous purchase order($1).
Reviewing the inventory transaction for this new purchase order, you see that a financial cost amount was updated. Additionally, the on-hand for the item now reflects the $10 from the packing slip updated purchase order, as well as the $20 from the invoiced purchase order.

Now that I have sufficient financial inventory, I posted my sales order invoice. There are two important concepts to point out on the sales order inventory transaction after I post the invoice. First, you'll see that the cost of the quantities sold is an average of the two receipts that have been posted: (10@ $1 + 10@ $2) / 20 = $1.50 per unit. Take a look at the previous screenshot and you'll see that in the On Hand form, the 'Cost price' field holds the calculated average cost. Although we defined this item as a FIFO item, the value of the outbound quantities are valued at the current running average for the item. You'll see this approach used for all issue transactions, except for items using a standard cost valuation model.
*Note - Marking may also impact these outcomes.
The second thing is that our model group setting for 'include physical value' has made an impact on the outcome. Since we have it marked for this item, the physically updated purchase order was used in the calculation of the running average. The setting simply tells AX whether or not to use physically updated receipts when calculating the running average for the item. If we had this setting unmarked, only the financially updated receipt would have been used in the calculated value of the issued quantities. We now know that this will have a significant impact on the valuation of outbound quantities at the time of posting.

Since this is a FIFO item, we know that the $15 used to value our sold quantities is incorrect. AX requires that a periodic 'inventory close' be processed in order to align the cost of goods sold with the items' assigned valuation models. After running the close, notice that the sales order transaction now reflects a cost amount $10 with the adjustment of $5. Another thing to point out is that no 'settlement' occurs. Typically, the inventory close process will settle receipts against issues. However, since this sales transaction aligns with a physically updated receipt, no settlement occurs. Once the purchase order is invoiced, the close process will settle the transactions against each other.

Recap:
- AX tracks inventory value in two separate buckets: Physical and Financial
- All issue transactions are valued at the current running average cost price for the item
- You can select whether physically updated receipts are included in the running average calculation
- A periodic inventory close must be run to align the COGS with the item's valuation model
More about the 'include physical value' setting:
This should only be used for certain scenarios. Weighted average models should not use the setting due to the following scenario:
1. Receive 10 @ $100 each (Financial/Invoice posted)
2. Receive 10 @ $200 each (Physical/packing slip post)
3. Issue 15 @ $150 each (Financial/invoice post). $150 each is due to the fact that 'include physical' is marked for the item. Also, this transaction requires that negative financial inventory is allowed for the item.
4. Run inventory close
Results:
10 of the 15 issue quantities are settled against the $100 receipt and the other 5 remain unsettled at the $150 cost price. This leaves us with 5 on hand, valued at $250 each (which is higher than any single receipt cost we have)
Other resources:
https://mbs.microsoft.com/customersource/training/trainingmaterials/student/course50191.htm
http://dynamics.microsoftelearning.com/eLearning/courseDetail.aspx?courseid=94369
http://www.axapta.cn/?/question/32
Inventory Costing in AX 2009的更多相关文章
- How to Debug Enterprise Portal Code in Dynamics AX 2009
转载 To set up debugging for pages1. Log into the server that is running the AOS.2. Open the Microsoft ...
- AX 2009中Set运用
Set运行: 例子: Set m_set = new Set(Types::String); m_set.add("AAA"); m_set.add("BBB" ...
- Microsoft Dynamics AX 2009 White Paper: Close Non-Financial Transfers
http://www.microsoft.com/en-us/download/confirmation.aspx?id=12174
- AX 2009中现有量画面修改
前端时间开发一个东西,需要在现有量画面增加一个字段 但是发现这个display方法写在任何数据源下面都不行,数据取的不对. 因为InventSum这个表只有所有维度都出来时才会有对应关联的invent ...
- Dynamics AX Hostory
现在谈起Dynamics AX,在微软Dynamics系列产品当中,作为最受瞩目和最有前景的Dynamics套装产品线,很多人也许只知道它曾经由于资本市场的上市和并购,前后经历了三个“东家”.对于它长 ...
- [转]Dynamics AX and Generic collections of .Net
转自:http://blogs.msdn.com/b/emeadaxsupport/archive/2009/04/23/dynamics-ax-and-generic-collections-of- ...
- Temporary Tables and the TableType Property [AX 2012]
Temporary Tables and the TableType Property [AX 2012] 1 out of 1 rated this helpful - Rate this topi ...
- Temporary InMemory Tables [AX 2012]
Temporary InMemory Tables [AX 2012] This topic has not yet been rated - Rate this topic Updated: Oct ...
- Table Properties [AX 2012]
Table Properties [AX 2012] 1 out of 2 rated this helpful - Rate this topic Updated: July 20, 2012 Ap ...
随机推荐
- Power BI for Office 365(五)Power View第二部分
继续上一篇Power View 报表的创建, Anna觉得为每一个大类创建一张单独的报表似乎很不现实,所以她决定按照另外一种方式来设计报表,从而满足最终用户想要查看不同大类下的数据的要求. 于是Ann ...
- [译]:Orchard入门——使用WebMatrix管理Orchard网站
原文链接:Working with Orchard in WebMatrix WebMatrix--微软一站式Web开发工具,包括网站的创建.编辑以及发布--不过现在微软更推荐VS code .Web ...
- HDU 1536 S-Nim SG博弈
S-Nim Problem Description Arthur and his sister Caroll have been playing a game called Nim for som ...
- 简单的后台json,前台解析 操作
后台: List<PageData> KeyWords=plantDefDetailCSAService.findKeyWords(pd); JSONArray array = new J ...
- backbonejs使用
backbone是一个非常好的前端MVC框架,将数据与逻辑分离出来,在稍大一点项目中,backbone都有用武之地. 个人感觉backbone最好的地方就是通过事件来管理数据改变导致的视图改变,bac ...
- Git Merge Commit忘了选分支?数据丢失? 刚刚做的都丢失了?别急!
1.打开终端,进入到对应的git 目录,也就是你的项目目录. 2.然后输入 git reflog,找到自己commit的版本 3.根据对应的编码输入指令,如:git checkout e53fa44( ...
- Leetcode jump Game
Given an array of non-negative integers, you are initially positioned at the first index of the arra ...
- PHP mysql基础操作
mysql连接操作 //建立连接$con = mysql_connect('localhost', 'root', '123456');//判断是否连接成功if($con){ die('连接失败!'. ...
- xp系统重绘边框线不显示(首次加载没有触发paint事件)
同样是,重绘边框事件,win7系统显示正常,而xp系统却不显示,这是什么原因造成的呢? 于是,小编开始百度,不停的查找原因,通过一番查找,小编也意外的收获了一些内容: 例如:窗口的拖动,放大,缩小,等 ...
- poco json 中文字符,抛异常JSON Exception -->iconv 转换 备忘录。
起因 最近linux服务器通信需要用到json. jsoncpp比较出名,但poco 1.5版本以后已经带有json库,所以决定使用poco::json(linux 上已经用到了poco这一套框架). ...