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.

Dynamic safety stock

“Deck the halls with boughs of holly”.

The Holly Export Co-operative of New Zealand (motto “What the HEC”) have a common supply chain issue: a predictable seasonal up-surge in demand. The supply chain planners are given a monthly forecast, and sales normally fluctuate around a base forecast of 1,000 units per month, except for December when they expect to sell 10,000 units. They’re prepared to hold a safety stock buffer in their UK warehouse (to cater for the sales slightly above forecast), so the forecast, and safety stock profile for this item is:

Month

September

October

November

December

January

February

Forecast

1,000

1,000

1,000

10,000

1,000

1,000

Safety stock

100

100

1,000

1,000

100

100

The transport lead time from New Zealand is 7 weeks (air-freight is not an option) and the shipping contract is a shipment every two weeks.

So let’s set this up in master planning. Entering the sales forecast is simple enough. Released product > Plan > Demand forecast:


We can also setup the safety stock as a Minimum on the item coverage record, and we can setup a minimum key on the item coverage, so our safety stock flexes up and down, Released product > Plan > Item coverage:


Let’s assume it’s the middle of September. We have some stock and some open purchase order lines. Net requirements shows:


So we have a nice fat planned purchase order for delivery at the beginning of December, but unfortunately it’s not fat enough. The system’s still planning based on the current safety stock and simply isn’t taking our planned increase in safety stock into account. Also there’s no attempt to build stock in November – again because the system’s planning for the current safety stock level and not the stock level that we’re going to need in the future.

So let’s try something completely different. I’m adding an additional sales forecast to represent my safety stock buffer stock:


Additionally I’m taking advantage of the ‘Include customer forecast in the demand forecast’ check box setting on the Coverage group. Master planning > Setup > Coverage groups:


With this setting de-selected, my customer specific ‘dummy’ forecast is added to the normal (all customers) forecast. (If this parameter is selected the system effectively ignores the customer specific forecast, and only plans to the normal ‘all customers’ forecast). Naturally now I don’t have a minimum stock in my item coverage. Net requirements shows me:


That’s better – I’m being prompted to build stock a little in November and my December planned order is covering my worst case scenario, but haven’t I gone a little bit too far? I’m now assuming that I’m going to consume all of my safety stock buffer every month – obviously that’s un-realistic, so what I need to do is insert into my demand forecast the incremental increase in my safety stock. So my demand forecast is:


I can’t enter the negative forecast that represents the planned reduction in the safety stock, but just for a minute I’m going to ignore that problem. Now, with my minimum stock re-instated my planning looks like this:


That’s pretty close.

But there’s an alternative method of representing demand (and supply) in master planning. We can take advantage of an un-posted inventory movement journal. We can even create a movement journal without an off-set account so that it can’t be posted (or use security user group settings to prevent normal users accessing the journal). What we need to do now is get a clever developer to write us a journal line representing demand when the safety stock’s going to increase, and a journal line representing supply when the safety stock’s decreasing. It’s not the world’s simplest customisation – but it’s easy to test.

So my conclusion is that Item coverage safety stock and Minimum keys are not sufficient to plan in a relative long lead time planning environment. A more detailed analysis of the sales forecast and inventory plan is required. The sales forecast is represented in Dynamics AX as a demand forecast, and an inventory journal is used to represent the additional demand (and supply) created by dynamic safety stock buffers.

You also probably noticed that I haven’t attempted to reconcile the difference between the 2-week supply cycle and a monthly forecast. That’s the subject for another day (or you could simple lookup ‘Period keys’).