Component production order reservations in AX 2012

The standard method for knowing whether you can start a production order in AX 2012 is the Production order > View > Requirements > Explosion, master planning inquiry:

The other day I was asked if Inquires > Explosion respected component reservations (standard WMS processing, not advanced warehousing WHS) – and I couldn’t answer the question – so let’s try to do that now.

We need a couple of products that use the same raw material or ingredient, I have two:


Let’s create a production order for my first item, my default reservation method is ‘Start’, but I’ll create and schedule the production order:

Then I’ll go to the BOM and reserve the component:

And, as you can see, I’ve reserved all of the on-hand inventory for the component.

So now I’ll create another production order, which requires the same component, and just to spice things up I’ll schedule that to start before the previous order:

Now I’ll schedule the second production order and then run Inquires > Explosion:

Because I haven’t run master planning since I created and scheduled my production order, when I open the Inquires > Explosion form, the inquiry is blank, so I click on the Update button:

And click OK:

And the system tells me that I do not have enough inventory of my component TS-RM-1 to start this production order, and that master planning has created a planned production order.

Now let’s try the update again and this time we’ll select Delete before explosion > Marking and reservation:

No change:

I’m inferring from this that the ‘Delete before explosion > Marking and reservation’ control is referring to markings and reservations of the production order item, not it’s components.

Let’s look at this another way. I’ve run master planning across all items, and I’m looking at the Net requirements for the component.

I can see that my on hand inventory is ‘pegged’ to the later production order demand:

And the earlier production order demand is pegged to the planned production order:

Even though, in this case I have put a lead time on my component which means that it’s going to be delivered after the start of my production order (which is why I have the blue arrow ‘Futures messages’ raised on the planned purchase order and production order).

And just to prove that it’s the reservation that is driving this, go back to the later production order and clear the reservation:

And re-run master planning:

Now my earlier production order can start – and it’s my later production order which is going to have to wait for the components to arrive.

So the answer is conclusive: “Yes. Master planning does respect production order reservations”.

Link inventory site to a financial dimension in AX 2012

The very first blog post I ever wrote, which was published on the 16th December 2011, was How to Add a Financial Dimension in AX 2012. (Incidentally the last screen-shot in that post is an oblique reference to SETI, and the photo is of another Tim, not me, but that’s got nothing to do with this post).

One of the odder things about Dynamics AX inventory accounting is the way that it seems to ignore warehouses. We often get asked to post inventory transaction costs with reference to the warehouse that is being received into or issued from – but unfortunately that’s not possible in standard Dynamics AX.

However it’s really simple to post inventory accounting transactions with a financial dimension that represents the inventory site (as opposed to the warehouse).

Before we walk through this process, lend me your ears for a few moments while I climb on my soap-box and say that in my opinion any inventory process which requires the user to enter or select a financial dimension is doomed to failure. Us mere mortals outside of the finance community should never be asked to fill in a financial dimensions when we create a purchase order, sales order, transfer order, production order, inventory journal, or any other inventory transaction. Everything that need to be posted into the general ledger has to default from the customer/vendor/item/resource or some other ‘real’ thing that relates to the inventory transaction. OK, I’m stepping off the soap-box now.

First we need to create a financial dimension (did I mention that I wrote a blog about that?). General ledger > Setup > Financial dimensions > Financial dimensions:

You’ll see in a few moments that part of the setup is to add the financial dimension value to be used to our inventory site setup – so you don’t have to use a one-to-one relationship between the financial dimension site and the inventory site. But I am a simple soul, not a finance consultant, so I’m going to setup my financial dimension values the same as my inventory sites. Save the new Financial dimension you’re creating and click on the ‘Financial dimension values’ button:

(stay with me, you’ll see where those values and descriptions came from in a moment).

Now add that financial dimension to our chart of accounts. General ledger > Setup > Chart of accounts > Configure account structures:

I’m editing the account structure defined by the Ledger parameter form. I’ve added the Site financial dimension selected ‘All values are allowed’ and clicked on the Filter icon and ticked ‘Allow blanks’. Then I activate the account structure. In this case I repeat the process with the Manufacturing P&L account structure, which in the demo data is a bit more complex:

Now let’s link the inventory site to the financial dimension site. Inventory management > Setup > Posting > Dimension link:

Firstly we select the Financial dimension (the Reference above). It’s a clever form – I’m only given the active financial dimensions in the drop-list:

Select your financial dimension (I’m using Site obviously) and then click on the Sites button. It takes you to Inventory management > Setup > Inventory breakdown > Sites, but notice now that the ‘Financial dimensions’ fast-tab is visible:

Obviously now I’m going to setup the link using the dimension values I created earlier (OK I confess. I got here, went back to there and then came back here):

That’s the basic setup of the link setup, obviously to activate the link we go back to the Dimension link form and click the button:

The system opens the job that updates existing open transactions (which also has its own menu option, Inventory management > Periodic > Linked dimension update):

OK gives:

Click ‘Lock link’ to prevent any updates of the financial dimension on the inventory forms, and (after the same update) you see:

Which is an interesting use of colour.

Now let’s go and see how that works in practice. I’ll create a quick purchase order and look at the purchase order line financial dimensions:

Production order:

Inventory adjustment journal line:

Couldn’t be simpler.

Just one thing to add. I felt a bit guilty when I said “inventory accounting … seems to ignore warehouses”. Of course we can define the warehouse storage dimension as relevant to financial inventory – and the system then tracks costs separately by warehouse. Product information management > Dimension groups > Storage dimension groups:

But somehow I feel that the system’s designed to track financial inventory by Site, and that flag on the Warehouse storage dimension is a hang-over from an earlier version.

Inventory journal voucher numbers in AX 2012

A while ago I got this e-mail from one of my Finance consultant colleagues (happy birthday by the way Michelle): “In AX2012 you can no longer simply drill down to the original document of an inventory journal from the GL transactions. Can you use a different voucher number sequence for each inventory journal name, please? Then at least we could look at the GL transactions and have an idea of what type of journal it is.”

Here’s the problem which Michelle found. As usual I’m logged into the Dynamics AX 2012 R3 CU9 Hyper-v demo image. I’ve posted an inventory adjustment journal. Inventory management > Journals > Transactions > Inventory adjustment:

And of course, based on the item’s posting profile I’ve posted a GL transaction, which I can see from the related inventory transaction:

Now let’s assume we’re starting from one of those accounts. General ledger > Common > Main account > Journal entries > Posted:

Now click on ‘Original document:

So all we’ve got to go on here is the voucher number. Where did that come from? Inventory management > Setup > Journals > Journal names, inventory:

The voucher number is defined by the voucher series number sequence on the journal name setup.

Now I’ve setup Inventory management without using Inventory adjustment journals at all – we simply used a number of different inventory movement journals. The difference between an adjustment journal and a movement journal is that the adjustment journal takes the offset account from the item’s posting profile whereas you can enter the offset account on a movement journal. Well, you can enter it, but more usefully you can default it in the movement journal name setup.

This is the demo data and there are a couple of things wrong here – firstly in the demo data there’s only one inventory movement journal defined. We typically setup a series of movement journals – each with a different code which gives an indication of the reason for the inventory movement, and frequently with a different offset account for each different Inventory movement journal. And oops – look closely at that setup and you’ll see that the inventory movement journal is using the same voucher series number sequence that the inventory adjustment journal.

Let’s try to do better with setup like this:

I’ve got some different journal names (reason codes) to choose from and I’ve setup a voucher series number sequence for each inventory movement journal name. Let’s post a quick journal like this. Inventory management > Journals > Transactions > Inventory adjustment:

And go and take a look at the transactions on the inventory account:

Much more obvious!

Actually getting a unique set of 3 or 4 character prefixes for all your number sequences isn’t all that simple – and also in a multi-company environment I have a personal preference for number sequences that are unique to each company (either a 1 or 2 character prefix or a suffix that gives us the company) – but well worth the effort in practice, and not just to keep Michelle happy.