It was back in 2011 when I first noticed that Dynamics AX must have some functionality to do a parallel valuation (e.g. FIFO & LIFO) of a company’s inventory.
My assumption was based on a feature that I saw in the item model group setup window and that allowed selecting a second inventory model group. (Please see the next screenshot that was taken from an AX2012 demo system).
I started to google about this “dual warehouse” feature but could not find much and thus decided to test it with some basic item transactions. The outcome looked very promising but at that time, the functionality was embedded into the Eastern European AX2009 layer and I lacked the knowledge to make this feature generally available.
Earlier this year a friend came up with a question how to do a standard cost and weighted average inventory valuation for an item in parallel. I remembered that functionality and came across the following blog post.
Equipped with an AX2012 demo system and enthusiastic about the possibilities that this feature could offer especially for finance users, I initially tried activating the Russian dual warehouse configuration key, hoping that this key would make the dual warehouse feature generally available in my system.
Yet, after synchronizing my database nothing happened and my item model group window still looked the same as before including only one single inventory model.
This was a bit work but I thought if it does the job it was certainly worth the effort. Yet, unfortunately only some functionalities were available and I permanently got error messages once I tried posting a purchase order, inventory adjustment journal and so on. As I did not want to abandon the field, I continued adjusting all other tables, forms, classes, etc. that were incorporated in the “RU_” shared projects without doing a detailed analysis of the code that I made available for users in my demo country “Germany”.
As no dual warehouse inventory value report is available, such a report still needs development based on the available data to show users the inventory value according to the second inventory model.
Summary & evaluation
The possibility to do a parallel inventory evaluation is very interesting especially in cases where tax authorities require a different inventory model.
Even if no immediate need for a second inventory model exists, the data generated by the dual warehouse feature can be very useful as they offer the possibility tracking inventory values in a different currency that allows e.g. identifying the efficiency of foreign currency hedging instruments.
Despite those advantages, the use of the dual warehouse feature goes along with the following issues:
- Users can only make use of one single additional inventory model,
- No dual warehouse inventory value report exists,
- If the reporting currency differs from the accounting currency a parallel inventory valuation is not possible as currency effects will always distort the outcome,
- The major issue in my opinion is, however, the “development footprint” that the provision of the dual warehouse feature leaves in your system. The next screen-print shows you some (!) of the tables and classes that are affected by the dual warehouse functionality.
As you can grasp from this excerpt, your whole AX system is basically affected by the dual warehouse functionality, which considerably affects your system’s upgradeability.
What is more, if you are not doing a detailed code analysis before making the dual warehouse feature available, you will end up with additional setup windows, form buttons and functionalities that you probably cannot setup without further investigation.
The last constraints lead me to the conclusion that the risks and potential problems of the currently available dual warehouse feature do by far outweigh its potential advantages especially for those of you that are only interested in a second inventory value figure based on a different inventory model. For the last requirement it seems much easier developing another inventory value report based on mathematical-statistical procedures that calculates the second, third … inventory value for you.