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 (

More on item safety stock in AX 2012

Regular readers of this blog (hello you two) will know that I’ve got a bit of a bee in my bonnet about Dynamics AX Master planning, and safety stock / re-order point in particular. You’ll also know that these blog posts come out of my day-to-day work, and currently I’m working with a small manufacturing company here in New Zealand that have been running Dynamics AX 2009 for about five years, but up to now haven’t run master planning – so we’re working through the setup with them.

Obviously the old chestnut of item coverage minimum stock soon became a topic of conversation.

The classic interpretation of safety stock goes something like “it’s the buffer stock that you use to cover your supply lead time” – forgive the over simplification I want to get to classic picture of your inventory over time following this classic ‘saw-tooth’ pattern:

Many New Zealand manufacturers import raw materials, and we obviously have to cope with long lead times. Let’s assume a 60 day lead time and an average demand of about 800 per month. We could setup master planning to give us this classic pattern by using min/max planning, and a minimum stock of 1,600 (to give us enough stock for 2 months). Our net requirements would look like this:

But we can do better than this because Dynamics AX master planning uses the item coverage minimum stock on all three of its planning methods (min/max; requirement (a.k.a. ‘make-to-order’), and period). And it uses the item coverage minimum stock even if you are forecasting your demand. It doesn’t actually matter whether the forecast is entered on the specific item you’re planning (like a finished goods item) – to represent independent demand – or whether the item you are planning inherits that forecast demand because it’s a component or a raw material which has dependant demand. The point is that we have both an item coverage minimum stock and a forecast. Like this:

For the first couple of months everything is hunky-dory, and then the planning goes wild and we end up holding far more stock than our safety stock – because master planning reacts to each demand forecast by recommending a planned purchase order – and that’s the other thing that we typically see in New Zealand manufacturers who are importing raw materials: a regular supply pattern. A purchase order is going to arrive every couple of weeks or so, on a cycle that isn’t directly related to the long, overall purchase lead time. So a more realistic example would be that we’d already have a couple of open purchase order lines (based on the planning we did in the previous months) and now we see:

Even worse.

Obviously my mistake was to set the item coverage minimum quantity based on the simplistic re-order point logic assuming a replenishment period equal to the full purchase order lead time. When you’ve supplies arriving more frequently than your full replenishment lead time, you only need enough stock to cover you until the next supply arrives. Also, when you’re forecasting demand, the safety stock is used to cover un-forecasted demand. Or to put it another way, the safety stock represents your confidence in the accuracy of your forecast. If your forecast was 100% accurate, you wouldn’t need any safety stock. Maybe I’ve been looking in the wrong place – but I haven’t seen anywhere near as much discussion about setting safety stocks like this – but the discussions I have seen relate to buffer stocks and Kanban sizes. In the toy-town example I’m presenting we can reduce the buffer stock dramatically and still plan never to go below 2 weeks stock:

And this screen shows another Dynamics AX master planning subtlety: the implicit safety stock that is hiding in my supply order minimum quantity.

Easy to over egg this particular pudding.

Item safety stock in AX 2012

We came across the safety stock setting again the other day. Safety stock is one of those terms that is bandied about in master planning – I’ve often said in workshops that whole books are written about calculating safety stock – what I’ve never said is: “but I’ve never read any of them”.

Incidentally while I was thinking about writing this I came across this post: Safety Stocks: Beware of Formulas – and it wasn’t just the title that I liked.

So anyway, at first sight it looks like safety stock maps to the Item coverage minimum stock level.

Product information management > Common > Released products > Plan > Coverage > Item coverage:

If you have Product dimensions (Like Configuration, Size Colour and Style) your item coverage is planned for each dimension and has to be setup for each combination. We’re normally planning by warehouse, but that’s optional, and is defined by the Storage dimension group:

So how does master planning react to the Item coverage minimum? Simplest to look at the net requirements from the Release products form:

Safety stock is treated as a demand. This item has no stock on hand in this warehouse so the system proposing a planned purchase order, pegged to the safety stock demand.

Incidentally if you open the Filter in grid option on the transactions overview you’ll see that the form is filtering out the Safety stock demand transaction:

But you can make it visible:

And as soon as you do, you’ll be wondering where the system got that ‘Requirement date’ from.

The answer’s on the General tab of the Item coverage record:

This is an important parameter and it’s a shame that it’s tucked away on the General tab.

Generally I only use the first two options: “Today’s date” and “Today’s date + procurement time”. The default is “Today’s date” which to my mind makes the Minimum stock setting act as a safety stock – as soon as the system predicts that your on-hand stock will fall below the minimum you need to replenish it immediately. However the “Today’s date + procurement time” setting makes the minimum stock setting act like a re-order point; when the stock falls below this setting you’ll place a new order, and your existing stock on hand will cover you for expected demand until that supply arrives. So simplistically I’ve come to think that for purchased items you’re better off with the “Today’s date + procurement time” fulfil minimum setting, and for production items “Today’s date” seems to be a better bet.

There’s another reason for not using a fulfil minimum of “Today’s date” on purchased items. Let’s set our example item up with a four week lead time:

Incidentally I’ve also set an order multiple – IMHO all purchased items should have a Purchase order multiple (the vendor’s pack size). OK, so not all, but all that aren’t purchased as “one-off’s”.

Now the planned purchase order’s got a Futures date message. By definition it’s immediately overdue. You’ve specified the fulfil minimum for today, but you have a purchase lead time. To my mind that’s just generating noise in the system.

With the fulfil minimum equal to “Today’s date + procurement time” you get:

The planned purchase order has got an order date of today – but at least the system’s not telling you that you are already late.

If you’ve got this far through the post you must be interested in setting re-order point and or safety stock, and you’ll no doubt have (or soon will ) come across the Dynamics AX master planning ‘safety stock’ journal. Again, my personal view, but I think the calculations in the safety stock journal are too simplistic and I’d like to play the ‘Beware of formulas’ card.