Home > Configuration, Manufacturing, OpenERP v6.0, Sales management, Ubuntu, Uncategorized > Safety Stock and reorder points in OpenERP

Safety Stock and reorder points in OpenERP

Curves of the cycle service level & fill rate ...

Image via Wikipedia

Safety Stock is the level of stock maintained to mitigate the risk of stockouts. Do you have safety stock in OpenERP? It depends. If you are running a manufacturing operation, and you manufacture to stock or build to order while keeping raw material inventory on-hand, you are actually using safety stocks. Chances are, if you don’t have safety stock you will run risks of stockouts and customer service deterioration.

Do you have a module or something like that in OpenERP? Actually no. And there might be a reason for that. But we will not go into that, we will show how to manage safety stocks and reorder points in OpenERP.

What you do have in OpenERP is the possibility of defining Minimum Stock Rules in your products. You need to do so if you are planning on using the MRP module. Actually it is mandatory to have minimum stock rules for all the raw material that you need in order to manufacture products. And you need to have minimum stock rules for your work-in-progress components in place when you build to stock work-in-progress components, or products.

The Minimum Stock Rules form allows you to define two quantities for your product. First the minimum quantity. This is a number that when it is reached by the virtual inventory, OpenERP creates a procurement in order to increase the stock of the product up to the Maximum Quantity amount (which is the second quantity in the Minimum Stock Rule).

And if you think about it, since all you need is to calculate your minimum and maximum quantities for your product, you don’t need to calculate your safety stock since it is already taken care of by the minimum quantity.

Now, how do you calculate your minimum quantity? You can do it with the following formula in LibreOffice:

Minimum Quantity = NORMINV(Service Level, Average Demand During Lead Time, Standard Deviation of Demand During Lead Time)

It’s a simple formula that can be used in LibreOffice or PostgreSQL (you need to install pgnumerics though, not a big deal)

Service level is the % of orders that you are planning to fulfill. If you are planning on satisfying average demand, you need to set it to 50%. If you are planning on satisfying 95% of your orders, you need to set it at 95%.

Average and Standard Deviation of Demand during lead time are quite straight-forward parameters. In order to calculate them you need to take all your orders you took during a period of time, and then calculate its average and standard deviation.

The minimum quantity  is composed of two components, the safety inventory piece and the lead-time demand piece. Lead-time demand can be calculated as the average demand you have for that product, and the safety stock can  be calculated as

Safety Stock = Minimum Quantity – Lead Time Demand

At this moment we are developing a module that calculates Minimum Quantity, Safety Stock and Lead Time Demand. We will keep you posted on this.


  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: