Microsoft Dynamics AX: Master Planning Unplugged, Volume 4: Safety Stock

You are here: >

Microsoft Dynamics AX: Master Planning Unplugged, Volume 4: Safety Stock

Hello and welcome to our continuing series of blogs devoted to the world of Microsoft Dynamics AX Master Planning in AX. So far, we have gone through the main setups of Master planning and ensuring that you configure AX to match your company’s business processes and scenarios. Today, we’ll go into a feature set with one goal in mind: accurately setting up safety Stock.

Since we already know how much I love analogies, I’ll going to steal from one of today’s most popular TV shows, Game of Thrones. Multiple times throughout the series, characters talk about provisions. In the latest season, the character Blackfish asks an enemy “Do you have enough provisions to last two years?”. He was basically challenging that their military simply did not have enough supplies to last for the length of a potential siege. We can apply the exact same question to your safety stock, or minimum inventory level. The golden rule you should follow is that the amount of inventory you should hold should be, at the very least, equivalent to the amount of inventory needed over an item’s lead time. This basic concept ensures that the majority of the time, you will not run out of inventory since you are holding the average usage of it in stock, and by the time you run out replenishment inventory will arrive. Now, we all know that’s not 100% true. There are many mitigating factors such as: unreliable vendors, weather delays to carriers, and unforeseen spikes in demand. Our goal as inventory managers and planners is to minimize the variance that attributable to these factors. This blog aims to demonstrate how we can properly manage and use safety stock in Dynamics AX and get the most out of our inventory by discussing:

  • Setup
  • Effects on planned orders
  • Modifiers, like Min/Max keys
  • Safety Stock calculations

First, let’s talk about what safety stock in AX actually does. In the 2nd volume of this series, we explored the four types of coverage codes: “Requirement”, “Period”, “Manual”, and “Min/Max.” All four types allow the use of a Minimum (safety stock) level, which is a value specified in the Item coverage.

Microsoft Dynamics AX Master Planning

The Minimum is purely a value on which Master Planning triggers a notice to buy, make, or request a transfer for the item. When on-hand inventory is projected to fall below that value, Master planning will ensure that there is enough incoming supply to bring the on-hand back to that value. For example, if the Minimum is 10, and there are currently 10 on-hand with one open sales order for a quantity of 2 or more, Master Planning would generate a planned order to ensure that there is supply to replace what was sold and maintain on-hand at 10 pieces. At least this would be true for “Requirement” and “Period.” “Min/Max” is the only coverage type that allows a Maximum to be specified in Item coverage, and the Maximum value must be greater than the Minimum. When on-hand inventory is estimated to fall below the Minimum, it generates planned orders to get back to and maintain the Maximum. The other difference is with “Manual,” where you could specify a Minimum, however, Master Planning would never generate planned orders so it’s only used as a reference for reporting and user review. Some companies would use the “Critical On Hand” report to review these types of items where they do not need to be planned in AX, but an alert for a reorder point that helps maintain stock.

So those are the basics, but now let’s introduce some modifiers that can change dates and quantities of planned orders that are generated for safety stock. One of these modifiers is the Minimum/Maximum key. This is a factor that is multiplied by the current Minimum or Maximum inventory level to update the value that planning will use for a given period. This is useful for seasonality, for example.

Microsoft Dynamics minimum maximum keys

Perhaps there is a base value of Minimum stock you want to maintain, but that value fluctuates on a consistent basis because of the seasonality of your industry. If that value is 10 pieces, and the Factor in the Min/Max key is 1, your Minimum would be 10 for that time period. If the Minimums is 10, and the Factor for that time period is 2, then Master planning recognizes 20 pieces as the Minimum when planning within that period. This prevents the user from having to manually change the Minimum or Maximum levels on a recurring basis by presetting factors that kick in as the calendar passes. Also, on the Item coverage form, you can view the effect this has on your Minimum as a reference point:

item coverage

Now, this only works as a buffer, it does not help with fluctuating seasonality that you’re trying to predict or forecast. So if that Factor could change, this may not be the best tool to use. It is definitely best suited for known patterns that are extremely consistent. A good example of the effects of this are below, where you can see the key in August has a factor of 3 times the Minimum. The Net requirements shows none on-hand, a minimum of 10, a Maximum of 20, and applying the factor of 3 to those values, the Minimum required is 30, but the Planned order is for 60 to try and maintain the Maximum:
item coverage

net requirements

The next modifier or field that can have an effect on your safety stock generated planned orders is the “Fulfill Minimum” field. Just like the Min/Max key, this is specified in the Item coverage form.
item coverage

 This field determines the date or the period during which the inventory level must be the quantity specified in the

Minimum field. So basically, when does the safety stock need to be refilled? In terms of demand, Master scheduling calculates net requirements in this sequence: sales orders, production orders, transfer orders, and minimum quantity.

The four options are of when to fulfill the minimum as shown in the previous screenshot are:

  • Today’s date: The specified minimum quantity is met on the date that master scheduling is run.

  • Today’s date + procurement time: The specified minimum quantity is met on the date that master scheduling is run, plus the delivery or production time. Safety margins are included in this calculation.

  • First issue: The specified minimum quantity is met on the date of the first issue that is scheduled during the period of the Coverage time fence.

  • Coverage time fence: The specified minimum quantity is met during the period that is specified in the Coverage time fence field.

There is an additional field that can be enabled: “Minimum periods.” This field should be selected if you need to fulfill the minimum inventory level for all the periods that are set up for the minimum key. Otherwise, the minimum inventory is fulfilled for the relevant period only. This may sound confusing but what it is basically saying is that without this field enabled, even if inventory is projected to fall below the Minimum next period but maintain a level above it in the current period, AX will not generate planned orders until the current date is within that period.


We have now covered the setup and what happens when different parameters are used, but you’re probably still wondering one thing: how do I know how what level of inventory to set as my Minimum? Of course, you could run reports looking at usage and base it off your own knowledge of the vendor who supplies the part or how long a part takes to manufacture. AX offers an out-of-the-box solution that’s aimed at making that calculation for you and applying it to many items at once. This is called the Safety stock calculation and it is hugely effective because it does a couple things: 1) allows you to mass update Minimums, and 2) systematically calculates what those Minimums should be based on average usage or service level.


When you create a new record in this form, you are able to use the “Create lines” button where you can define a query to create a journal including only the items and warehouses or locations for which you want to calculate or update a Minimum inventory level. It is important to note that it will not calculate the Maximum, which can only be manually defined in Item coverage. You also define the past time period in which AX will look at transaction history to calculate your minimum level of inventory
dynamics ax

The “Calculate standard deviation” button must be selected if you want to calculate a safety stock based on a service level. I recommend always leaving this checkbox selected because you can still calculate an average usage with it and it is mandatory if you use service level in the next steps of the process. When you click OK, AX will create journal lines for every item and coverage planned dimension combination that matches your query selection. So if you plan by warehouse and an item is setup or has been used in 5 warehouses, you may see that item on 5 different lines, one for each warehouse. You can always manually delete lines if there are certain storage combinations for which you don’t want to calculate safety stock. The current on-hand minimum is the current value for that item combination in the item coverage field. The calculated minimum is populated after you do the Calculate Proposal step we’ll talk about in a second, and the New Minimum field is what updates the safety stock/Minimum when the journal is posted. Once the lines are created, the “Calculate Proposal” button becomes available. This button gives you two options for creating the new Minimum level.

The first option, “Use average issues over lead time” just takes the issue transactions over the timeframe you used when creating lines (so for my example above, 8/1/15 through 1/1/16) and divides that quantity by the lead time of the item. If the item is purchased in that item and warehouse combination, it uses the purchase lead time. If it is manufactured, it uses the inventory lead time. And if it is transferred, it uses the inventory (transfer) lead time. Typically, the factor used with this setting should be 1, so that the calculation doesn’t use any modifiers. Having a value other than 1 actually multiplies that value by the calculated minimum, to come up with a Calculated minimum. That is only useful if you need to over or understate the Minimum because of a lack of history or buffer you want to put in. The line details will show you the average usage per month, the lead time, and the average issue over the lead time that computes the Calculated minimum:

 options 2

It will also show you the effect on inventory carrying cost if the change in Minimum is applied. This is the more straightforward setting and is commonly used. The “Service level” option allows the user to define a percentage of time that there should be no stock out. So if you want to ensure on-hand never runs out a certain percentage of the time, you have various options:


This is the feature that required the “Calculate standard deviation” checkbox to be enabled in the earlier step. Here’s the calculation that is used when a service level is chosen to calculate safety stock:

 Minimum inventory level = Safety factor * Std deviation per month * square root (total lead time/30 days)

The safety factor used depends on the service level chosen:

Service level Safety Factor


50 0
80 .84
90 1.28
95 1.65
98 2.05
99.86 3
99.99 4

Using this method can often lead to carrying too much stock because your aim is to prevent stock out by carrying more than the average usage. It may take some trial and error to see which way is better for your company and you can always create the lines then Calculate the minimums with both options for a comparison. The New minimum field can be updated manually or populated during the Proposal step to equal the new proposal and allow the user to accept it or not. Any items that you want to update with the New minimum can be posted in the journal and anything else can be deleted. The journal will update the item coverage minimum field for all lines that were in the journal when it posted. Lastly, from a daily activities perspective, planners can review Planned orders derived from safety stock demand that are currently delayed.

master planning

 From a basic entry into item coverage, through maintaining inventory levels, to calculating Minimum levels of inventory and providing tools to manage daily activities, safety stock is simple to implement and control in Dynamics AX. Hopefully this latest volume of Master Planning Unplugged gives you an even better understanding and feel for what the system has to offer. See you next time!


Get in Touch

Email or call us now to
discuss how Microsoft
Business Solutions can
improve your business

Upcoming Events - Register Now

Join our list

eBECS will invite you to webinars, events and keep you up to date with relevant news. You can unsubscribe at any time.

UK: +44 (0) 8455 441 441
Ireland: +353 (0)1 893 4831
USA: +1 (678) 701 5856
Saudi Arabia: +966 (11)920 007299

© 2022 eBECS Limited. All rights reserved.
Registered office: Royal Pavilion, Wellesley Road, Aldershot, Hampshire, England, GU11 1PZ