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:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=01873047-EE96-40D2-B724-0A7CF672AB39&displaylang=en&displaylang=en

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的更多相关文章

  1. 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 ...

  2. AX 2009中Set运用

    Set运行: 例子: Set m_set = new Set(Types::String); m_set.add("AAA"); m_set.add("BBB" ...

  3. Microsoft Dynamics AX 2009 White Paper: Close Non-Financial Transfers

    http://www.microsoft.com/en-us/download/confirmation.aspx?id=12174

  4. AX 2009中现有量画面修改

    前端时间开发一个东西,需要在现有量画面增加一个字段 但是发现这个display方法写在任何数据源下面都不行,数据取的不对. 因为InventSum这个表只有所有维度都出来时才会有对应关联的invent ...

  5. Dynamics AX Hostory

    现在谈起Dynamics AX,在微软Dynamics系列产品当中,作为最受瞩目和最有前景的Dynamics套装产品线,很多人也许只知道它曾经由于资本市场的上市和并购,前后经历了三个“东家”.对于它长 ...

  6. [转]Dynamics AX and Generic collections of .Net

    转自:http://blogs.msdn.com/b/emeadaxsupport/archive/2009/04/23/dynamics-ax-and-generic-collections-of- ...

  7. 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 ...

  8. Temporary InMemory Tables [AX 2012]

    Temporary InMemory Tables [AX 2012] This topic has not yet been rated - Rate this topic Updated: Oct ...

  9. Table Properties [AX 2012]

    Table Properties [AX 2012] 1 out of 2 rated this helpful - Rate this topic Updated: July 20, 2012 Ap ...

随机推荐

  1. [Android Pro] ScrollView使用fillViewport设置高度为MatchParent

    reference to : http://blog.csdn.net/u012975705/article/details/49275001 之前遇到一问题,就是当使用ScrollView时,Scr ...

  2. 如何用C#+WinRAR 实现压缩 分类:

    前提:必须安装 WinRAR 1. 工具类 using System; using System.Diagnostics; using System.IO; using Microsoft.Win32 ...

  3. [MongoDB]Mongo基本使用:

    汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较4. [MongoDB]MongoDB ...

  4. mac 下 用 glfw3 搭建opengl开发环境

    mac 下 用 glfw3 搭建opengl开发环境 下载编译 glfw3 Build Setting 里面, Library Search Paths -> 设置好编译 glfw 库的路径 H ...

  5. Jmeter之Web端HTTP性能测试(九)

    之前有跟大家讲过通过Badboy来录制脚本,这里就不多说了,需要的可以参考 Jmeter之Badboy录制脚本及简化脚本http请求(三) 这边就不用项目的链接了,直接采用http://www.cnb ...

  6. HDU 2082 找单词 (多重背包)

    题意:假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26.那么,对于给定的字母,可以找到多少价值<=50的 ...

  7. python安装库

    首先确保安装了pip,并且pip也加入了系统path路径: pip下载:https://pypi.python.org/pypi/pip#downloads 下载Python对应的包:(http:// ...

  8. HDU 3306 Another kind of Fibonacci(快速幂矩阵)

    题目链接 构造矩阵 看的题解,剩下的就是模板了,好久没写过了,注意取余. #include <cstring> #include <cstdio> #include <s ...

  9. MySQL中INFORMATION_SCHEMA是什么?(2)

    information_schema数据库表说明: SCHEMATA:提供了当前mysql实例中所有数据库的信息.是show databases的结果取之此表. TABLES:提供了关于数据库中的表的 ...

  10. *HDU2473 并查集

    Junk-Mail Filter Time Limit: 15000/8000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...