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.


The shipping carrier interface Dynamics in AX 2009 and AX 2012

If you’re working at the cutting edge of Dynamics AX implementations, you can stop reading now. The Shipping carrier interface appeared in AX 2009 and has flowered briefly, but its time in the sun is now past. It’s not available in Microsoft Dynamics AX 365 for Operations / AX 7. There’s a good white paper explanation available at which although refers to AX 2009 is equally applicable to AX 2012.

As usual I’m working in the demo Hyper-V image and there is a little bit of setup to get this working. First enable one or more interfaces. Inventory management > Setup > Shipping carrier > Carrier interface:

There are three built-in formats/options. I’m not entirely certain what the differences are. So in this example I’ve enabled just one, the UPS WorldShip format. But as they say on the BBC “other formats are available”. Nothing happens if you don’t have an interface enabled, so make sure you tick ‘Enabled”.

Next, a Carrier company. I’m calling my demo company ‘UPS’ but the interface works regardless of the name here, so you can use your local carrier company (or companies). Inventory management > Setup > Shipping carrier > Carrier company:

You need to enter a miscellaneous charge code and add an account code (which in real life would be your account code with your carrier).

The third bit of setup is a Carrier ID. This links your Carrier company to the Interface. Inventory management > Setup > Shipping carrier > Carrier IDs:

Four. Setup a Mode of delivery. Sales and marketing > Setup > Distribution > Modes of delivery:

You need to set the ‘Service’ to ‘Ground’ or ‘Air’ before you can enter the all important Carrier ID.

Incidentally, once the Shipping carrier interface is enabled the Mode of delivery is required on all sales orders, so you’ll want to set a default Mode of delivery on all of your customers, if you haven’t done that already.

And we’re nearly done. The last thing to do is to setup a Terms of delivery. Sales and marketing > Setup > Distribution > Terms of delivery:

The Freight charge terms define which carrier charges are added to the sales order as miscellaneous charges – a bit more on that later. And we’re done with the setup.

Create a sales order and set the Mode of delivery as above:

Notice that I’ve also filled in the Customer reference and Customer requisition fields.

Click OK to create your sales order, add a line, and post a sales order packing slip / delivery note. Take a note of your packing slip number:

Then navigate to Inventory management > Inquiries > Carrier transaction information:

And there is it. You’re looking at a table called ShipCarrierShippingRequest. Your carrier’s system can read it using your packing slip id and company, but it’s best to setup your number sequences so the packing slip id is unique by company.

Notice that the Customer reference field is populated in the Shipping carrier request table, but the Customer requisition field (which we normally use to hold the customers purchase order number) isn’t.

The other table used by the Shipping carrier interface – in this simplest of examples – is the ShipCarrierStaging table. Your carrier’s software writes back into this table, and it has to write back both the packing slip id and your sales order number. Then it can add a tracking number and charges. If you want to see that working you can add a record to ShipCarrierStaging using the table browser, or you can set your interface to ‘Test’ mode:

With that enabled, when you post the sales order packing slip a pop-up form lets you populate ShipCarrierStaging:

You can see this information on the Order tracking tab of your packing slip journal:

And on the Shipping charges and Tracking tabs of the Carrier transaction information form:

We’ve implemented the Shipping carrier interface a few times. Sometimes this is all we do. Sometimes we go to the next step, which is that, depending on the Terms of delivery, the shipping charges can be added to the sales order invoice as miscellaneous charges.

Unfortunately, you can’t see these charges before you post the invoice. At the moment my invoice is showing a total cost of $1.00:

But after posting I see the added freight charges:

And back on the Carrier tracking information I can see that the charges have been transferred to a sales order invoice:

There are more options in the Carrier tracking interface – check out the documentation referred to right at the start of this post – but this is as far as my experience goes.

Oh, and a late-breaking update, there’s a useful inquiry at Inventory management > Inquires > Carrier issues:


This inquiry shows all of the Carrier shipping requests that don’t have a matching records in the staging table (so sent, but no answer-back received).

Item requirement statistics as a vendor forecast in Dynamics AX

Apologies for not having a snappy title to this blog, but we’re not using snappy in the Dynamics AX world at the moment. “Microsoft Dynamics AX 365 for Operations” doesn’t exactly trip off the tongue does it. “MDO” anyone?

This week I was running a master planning workshop with a purchasing department, and that got me interested in taking a look at the Item requirements statistics form. I wanted to see if it has been converted into AX7, and sure enough our friends at Microsoft have done the business. Master planning > Inquires and reports > Master planning > Item requirement statistics:

There are a lot of useful display options on this form.

Firstly, we can show/hide Size, Colour, Style and Site using the good ol’ Inventory > Display dimensions options.

Next we can filter or display information by Item number or Item group; and Vendor account or vendor group. For instance, here’s the display for all items for one vendor:

“But wait, there’s more” as they say in those terrible TV adverts. The ‘Period’ selection is most useful: Total, Quarter, Month, Week, Date. Here’s what it looks like by Month:

(The ‘Period’ displayed by week is a bit cryptic, but still usable I think).

Finally, I thought that if you ticked the ‘By planned order type’ checkbox you’d get separate rows for purchase orders and planned purchase orders. But when that didn’t happen I did a bit more digging, and imagine my disappointment gentle reader when I realised that this form isn’t summarising the net requirements transactions (which would show purchase orders), it’s actually summarising planned orders. So, no purchase order information. To get that you’re going to have to use a master planning OLAP cube.

Here’s the AX 2012 version of this form:

Master planning > Inquires > Statistics > Item requirement statistics

And AX 2009:

Still, it’s really easy to setup the form to show your planned purchases by Vendor, and you can send this to the vendor by exporting to Excel.