Odoo inventory guide

Safety stock in Odoo: formula, service level, and setup

Safety stock is the buffer that keeps you in stock when demand spikes or a supplier slips. This guide covers both ways to calculate it, the service-level table, and how Odoo and a forecast-driven planner each handle it.

Updated June 30, 2026 · by Niyu Labs · about 6 min

What safety stock is, and is not

Safety stock is the cushion you hold on top of expected demand during the lead time. It exists to absorb the variation an average hides: the week demand doubles, the shipment that lands late.

It is not a target stock level, and it is not the same for every product. A steady, predictable item needs very little. A volatile one with a long, unreliable lead time needs much more to hit the same availability. Sizing it well is the difference between cash tied up on shelves and sales lost to empty ones.

The service-level formula

The standard way to size safety stock to a target availability and real demand variability.

Formula

Safety stock = Z x daily demand std dev x sqrt(lead time)

At 95% service (Z = 1.65), std dev 12, lead time 14: 1.65 x 12 x sqrt(14) = 74 units

  • Z: the safety factor from your service level (table below)
  • Daily demand std dev: how much daily demand swings around its average
  • Lead time: the wait in days, under the square root to scale the buffer

Service level to Z

A higher service level means fewer stockouts and more stock held. Pick the level that matches the product's margin and importance.

Service level
Z
When to use
90%
1.28
Lean. Accepts more stockouts to hold less stock.
95%
1.65
A common default for important products.
97%
1.88
Tighter cover for fast or high-margin movers.
98%
2.05
High availability, more stock held.
99%
2.33
Near-always in stock, highest carrying cost.

The simpler safety-days method

When you cannot estimate variability, hold a fixed number of days of cover.

Formula

Safety stock = average daily demand x safety days

40 units/day x 7 safety days = 280 units

Simple, but blunt

The safety-days method is easy and transparent, but it gives a steady product and a volatile one the same cover if their demand is similar. The service-level method is sharper because it reacts to how much demand actually varies.

How safety stock works in Odoo

Native reordering rules do not size safety stock statistically.

In Odoo, the safety stock is effectively the minimum quantity you set on a reordering rule. There is no field that sizes it from demand variability, lead-time variability, or a service level. You can absolutely calculate it with the formulas above and enter the result as your Min, but you then own the job of recalculating it as demand and lead times change.

Sizing it from a forecast

Let the buffer track real volatility, by product and warehouse.

Niyu Smart Stock sizes safety stock from a service level you choose plus safety-stock days, set in a Planning Rule that can apply by product, category, vendor, or warehouse. Because it is recomputed from a forecast, the buffer adjusts as a product gets more or less volatile, and it flows straight into the reorder point. You set the policy once and let it scale.

Safety stock calculator

Switch between the service-level and safety-days methods, then carry the result into the reorder point.

Safety stock

74units

1.65 x 12 x sqrt(14) = 74

Estimates for planning. Demand, lead time, and variability change over time, which is exactly what a forecast keeps up with.

No spam. One email with your numbers and the checklist.

Niyu Smart Stock computes the reorder point, safety stock, and the buy or transfer for every product and warehouse in Odoo, recomputed daily from a demand forecast. This calculator does one line at a time.

See it on the free tier

Frequently asked questions

What is the safety stock formula?+

The service-level method is Z multiplied by the standard deviation of daily demand multiplied by the square root of the lead time. Z comes from your target service level, for example 1.65 for 95%. A simpler method is average daily demand multiplied by a chosen number of safety days.

Which safety stock method should I use?+

Use the service-level method when you can estimate how much demand varies, because it sizes the buffer to real volatility and your availability target. Use the safety-days method when you want something quick and simple, accepting that it treats steady and volatile products the same.

What service level should I target?+

It depends on the margin you earn and the cost of a stockout. High-margin or strategic products justify 97% to 99%; low-margin or easily substituted ones may sit at 90% to 95%. The stockout cost calculator helps you weigh the trade-off.

Does Odoo calculate safety stock?+

Not statistically. In native reordering rules, the safety stock is effectively the minimum quantity you enter, a manual number. Odoo does not size it from demand variability, lead-time variability, or a service level.

How does Niyu Smart Stock size safety stock?+

From a service level you choose plus safety-stock days, scoped by product, category, vendor, or warehouse in a Planning Rule. The buffer reflects how variable demand actually is rather than one flat number for everything, and it feeds the reorder point automatically.

See it plan your Odoo stock, on the free tier

Install the module, run it on your own data, and compare the recommendations before you commit. No card required.

See everything Niyu Smart Stock does