Consistency check for a single item in Dynamics 365 for Operations (and AX 2012 and AX 2009).

Now here’s a funny thing. There was a posting on the Dynamics AX community forum the other day from someone working on AX2009 and they had the condition that the item’s stock on hand information (InventSum) was different from the sum of the inventory transactions (InventTrans). In the old days (AX 2009) we used to see that occasionally – more often on systems where someone was daft enough to try to customise something to do with inventory transactions. We saw it less on AX 2012 systems, and hopefully we won’t ever see it on Dynamics 365 for Operations (fingers crossed). I wasn’t expecting to find Consistency check in Dynamics 365 for Operations, but I searched for it, and up it popped:

Consistency check has been around for a while (like me), and on most systems takes ages to run – mostly it takes so long to run that it’s not usable – unless you use it selectively.

When you open Consistency check you see:

In this case I’m only interested in items and so I choose the ‘Inventory management’ module in the droplist and that filters the tree menu for me (and I’ve opened the Inventory management and Items options):

So now I can de-select the options I’m not interested in, giving:

Now for the trick – right-click on the ‘Item’ option and you get:

If you don’t right-click exactly on the Item option you don’t get the Dialog option – so if you’re not seeing that, just experiment a bit. Dialog gives us our familiar filter query screen:

Enter an item number (or a selection) and then click OK, and we are back on the main form:

There’s nothing here to indicate that our filter query is in effect but click OK and you’ll get something like:

(or something more interesting if anything is amiss).

You’ll have noticed that there’s a Check/Fix option:

If you can, try this in a copy of your production system before running it on the live system, (because I’ve seen it fix issues even if I set ‘Check’, and it can’t fix all of the issues it reports).

Dynamics 365 for Operations also has a ‘…’ ellipsis button, that’s another way to access the Dialog / Filter option, but again the Dialog option is only active if you’ve selected a relevant action option.

For instance:


Another tip. Because the report is an Infolog, (and because of the long run times) you can run the consistency check as a one-off batch job (out of hours). Then you have a permanent record of the Infolog, because you can go back to the Batch job history and re-access the Infolog.

In AX2012 R3 the form looks like this:

And as previously discussed, the dialog option is only active if you have a relevant option selected in the menu tree, or you can right-click:

And in AX 2009 the form looks like this:

So you can see that not a lot has changed in the user interface.

Safety stock in Dynamics 365 for Operations (and AX 2012 and AX 2009).

Just want to point to a nice post by fellow MVP Dr Scott Hamilton on the website: Master Scheduling and the Due Dates for Safety Stock Requirements in Microsoft Dynamics AX & 365 for Finance and Operations, Enterprise. It’s a really nice summary of the options for setting up safety stock and highlights the all-important ‘Fulfil minimum’ parameter. He also shows a neat little work-around using the Minimum key to set (or offset) the due date of the safety stock.

My own attempt at describing the ‘Fulfil minimum’ options are here:

Finally, if you are working in recent D365FOE environments you may want to check out the Safety stock replenishment enhancements in 7.3, see (

Master planning messages in Dynamics AX 2012

I’m going to have to do this post again, because there are changes here in AX 7 / Microsoft Dynamics 365 for Operations, but for today let’s stick with the cosy old AX 2012 version.

As usual I’m working in the Demo Hyper-V image (AX 2012 R3 CU9).

I want to demonstrate the messages raised by master planning when things don’t go to plan.

In his wonderful books on managing your supply chain in Dynamics AX, Dr Scott Hamilton talks about the three types of messages that you get from master planning: planned orders; futures messages; and action messages.

You get planned orders when your demand exceeds your supply. Here I’ve created a finished goods item, and I have a sales order (demand). There’s no stock on hand, so master planning gives me a planned production order (supply):

I’ve firmed the planned order and created a purchase order for my raw materials.

My production order starts on 13th December and ends on 20th December:

And my purchase order has a delivery date requested of the 13th:

So let’s enter a vendor confirmed delivery date that’s a few days late (15th) and run master planning:

We’ve got a Futures message on the production order, and an Action advance message on the purchase order line.

A futures message is telling you that your supply is late relative to the demand. If you don’t expedite, and if you take your full production lead times you will deliver late against the demand. You can see all the futures messages at Master planning > Inquires > Coverage > Futures messages details:

Notice that I have futures message on the raw material, but it refers to the production order, and not to the purchase order – and I have two futures messages on the finished goods item: one related to the production order and one related to the sales order.

In a real world environment, you could have hundreds of messages, so logically you’d filter down to the most important messages. For instance, you could be getting a futures message flagging that a production order was late, but the demand is sales forecast or safety stock – that’s not necessarily going to give you an issue – so let’s use the Filter tab to focus on Futures messages for sales order lines:


Now we can resolve this message in one of two ways – we can either negotiate a delayed delivery with our customer, or we can expedite the supply (negotiate an earlier delivery of a purchase order or reschedule a production order). Either way, the futures messages for sales order lines give you a good place to start.

But if we’re a buyer, the futures message on the raw material isn’t much use to us. For a more useful message we have to go to Master planning > Inquires > Coverage > Actions:

Again we’re going to want to use the Filter tab to show messages related to Purchase orders. You might be tempted to filter for ‘Advance’ messages as well, but be careful, there are multiple action messages, and so you might get combined actions like ‘Advance + Increase’. It’d also be good if this form showed the vendor – so you might want to customise this form.

Let’s go back to our earlier example of a purchase order being delivered late:

If your delay takes the purchase order outside the ‘Negative days’ time fence, then the system will raise a planned purchase order (providing that your original purchase order isn’t marked to the demand), and it may raise cancellation messages on the original purchase order – if it can’t use the original purchase order to satisfy other demands:

This never seemed to me to be a plausible scenario – how is your vendor suddenly going to be able to supply a new order before one that is already promised to you? For this reason, I prefer to set negative days equal to the coverage time fence, which means that the system will always use the existing orders as supply and never raise a planned order unless the supply is insufficient for the demand.

So back to our three types of messages that you get from master planning: planned orders; futures messages; and action messages. Let’s try to put these into a priority for action.

1. Planned orders.

You’ll action these first because they’re telling you that you don’t have enough supply – except that you’ll filter by the order start date (for a planned production order that’s the date you’ll start your production; for a planned transfer order that’s the date you’ll issue to the transfer order; and for a planned purchase order that’s the date that you will send the purchase order to the vendor to give them their full purchase order lead time for the item).

2. Sales order line futures messages.

You might not want to make a rod for your own back – but go ahead and show those nice folk in Customer Services how they can see these messages (and make your life a misery).

3. Action advance messages on purchase orders.

For the buyers.

4. Futures messages on production orders.

For the planners.

5. Other action messages.

Before you set yourself the task of processing hundreds of action messages, take a look at the coverage group setup and make sure that you have the system setup so that it only gives you useful action messages:

You probably don’t need to set Action messages out for your full coverage lead time. You won’t want messages telling you to Postpone orders by just a couple of days; and you might not even want to Increase existing orders at all – just raise new orders. Setting Action (And Futures) message takes time, and the master plan session log records the time spent. Master planning > Setup > Plans > Session log > Statistics tab:

If you’re worried about the time taken to run master planning check that the system isn’t spending time raising messages that no-one reads.

Have you noticed that I’ve not mentioned Futures messages on purchase orders yet? Well, you only get those when the requested delivery date or confirmed delivery date on your purchase order line is in the past:

You won’t ever find yourself in that position will you? But maybe these are the most important messages of all, because with overdue purchase orders in your system you aren’t going to get correct planning in the first place.