DEV Community

aeron parker
aeron parker

Posted on

How to Set Reorder Points and Safety Stock in Odoo

Stockouts and overstock are two sides of the same broken process, and both usually trace back to the same root cause: nobody set proper reorder points, so the business is either reacting to empty shelves or tying up cash in inventory it doesn't need yet. Odoo actually has solid tools for solving this through its Reordering Rules system, but the tool being available and the tool being configured correctly are two very different things. Here's how to actually set this up so it reflects real demand instead of guesswork.

1. Understand What Odoo Actually Means by "Reordering Rules"

Before touching any settings, it helps to know what you're configuring. In Odoo, a reordering rule watches a product's forecasted stock at a specific location, and when that forecast falls to or below a minimum quantity, it automatically generates (or suggests) a purchase or manufacturing order to bring stock back up to a defined maximum. This is different from Make to Order, which triggers a purchase the moment a sales order is confirmed without checking current stock at all — reordering rules are the mechanism for maintaining a buffer, not just reacting order by order. Getting this distinction right matters because a lot of Odoo setups mix the two approaches inconsistently, which is usually one of the first things an experienced Odoo implementation partner like Silent Infotech addresses when reviewing a client's existing configuration — figuring out which products should be buffer-managed versus order-triggered before setting any numbers at all.

2. Locate Where Reordering Rules Actually Live

Reordering rules are managed from Inventory app → Operations → Replenishment, which shows the replenishment report — a live list of every product with a negative forecast quantity, whether or not it has a rule defined yet. You can also create and edit rules directly from a product's own form. If a product has no rule configured, Odoo effectively treats its minimum and maximum as zero, meaning it won't proactively suggest reordering it at all — it'll only show up reactively once stock actually goes negative against demand. This is a common point of confusion: a product "not showing up" on the replenishment report isn't necessarily fine, it just doesn't have a rule watching it yet.

3. Set the Minimum Quantity — Your Actual Reorder Point

The Min Quantity field is your reorder point: the forecasted stock level at which Odoo triggers a new purchase or manufacturing order. Setting this correctly requires knowing your lead time and your demand rate during that lead time, not just picking a number that feels safe. A reasonable starting formula is: minimum quantity = (average daily demand × lead time in days) + safety stock. If a product sells 10 units a day and your supplier takes 7 days to deliver, your base reorder point before any safety buffer is 70 units. Skipping this calculation and just eyeballing a round number is one of the more common setup mistakes — it tends to produce reorder points that were accurate for whatever the business looked like six months ago and increasingly wrong ever since. This is another area where a hands-on implementation partner like Silent Infotech typically adds real value, since calculating this properly requires pulling actual historical sales velocity per product rather than guessing, and doing that across a full catalog by hand isn't realistic for most internal teams.

4. Build In Safety Stock, Not Just a Lead-Time Buffer

Safety stock is the extra cushion above your base lead-time demand that protects against variability — a supplier running late, a sudden demand spike, a longer-than-usual manufacturing cycle. Odoo doesn't have a separate "safety stock" field; instead, safety stock gets folded directly into the Min Quantity you set; the minimum on the rule represents "lead-time demand plus safety buffer" as one number. A simple, practical way to size that buffer is to look at your worst realistic case over the last several months — the longest a supplier has actually taken, or the highest demand week you've actually seen — rather than an arbitrary percentage. For higher-value or slow-moving items, a smaller buffer is usually fine since the carrying cost of extra safety stock adds up fast; for cheap, high-velocity products, a more generous buffer costs little and prevents the stockouts that actually damage customer relationships.

5. Set the Maximum Quantity to Control How Much You Reorder

The Max Quantity field defines how high Odoo replenishes stock once the minimum is triggered — when the rule fires, Odoo generates an order sized to bring the forecast back up to this ceiling. This should be set based on your order cycle economics: how often you're comfortable placing orders, any minimum order quantities your supplier requires, and how much warehouse space and cash you're willing to tie up at once. A max set too close to the minimum means you're constantly generating small, inefficient orders; a max set too high defeats the purpose of a reorder point system by just recreating the overstock problem you were trying to avoid.

6. Use the Multiple Field for Realistic Order Quantities

If your supplier sells in case packs, pallets, or other fixed units rather than single pieces, the Multiple field rounds the suggested order quantity up to the nearest multiple that meets or slightly exceeds your max quantity — based on packaging configured on the product's vendor pricelist. This avoids the common frustration of Odoo suggesting an order for, say, 47 units when your vendor only sells in boxes of 50. If the rounded quantity would push meaningfully past your intended max, Odoo flags it with a warning so you're aware of the excess rather than discovering it later on an invoice.

7. Choose Manual or Automatic Triggering Deliberately

Reordering rules can be set to trigger manually or automatically. With automatic triggering, Odoo generates the purchase or manufacturing order the moment stock hits the minimum, with no human step in between. With manual triggering, the product simply appears on the replenishment report as needing attention, and a person confirms the order. For new or unproven reorder points, manual triggering is the safer starting choice — it lets you sanity-check Odoo's suggestions for a few cycles before trusting the numbers enough to remove the human checkpoint. Once you've confirmed the min/max values actually reflect real demand, switching high-volume, low-risk products to automatic frees up meaningful time without much added risk.

8. Set Rules Per Warehouse and Location, Not Just Per Product

A reordering rule applies to a specific product at a specific warehouse and location, which means multi-warehouse businesses need distinct rules for each location rather than one blanket setting per product. This is easy to overlook and causes real problems: a product that moves fast at one warehouse and slowly at another needs genuinely different min/max values, and applying one uniform number across locations either overstocks the slow location or leaves the fast one chronically short. If you're running multiple warehouses, budget real time for this — it's more setup work upfront, but it's the difference between a system that reflects reality and one that technically runs but quietly misallocates stock.

9. Check the Forecasted Date, Not Just Current Stock

Odoo calculates a forecasted date for each reordering rule — the earliest date a replenishment order could actually arrive, based on the combined lead times in your setup (vendor lead time plus any internal security lead time). This is worth reviewing periodically rather than trusting your original lead-time assumptions indefinitely, because supplier performance drifts. A vendor that used to deliver in 5 days but now regularly takes 9 will quietly make your existing minimum quantity too low, and you won't necessarily notice until you actually run short — reviewing the forecasted date against real recent delivery history is a simple way to catch that drift before it becomes a stockout.

10. Review and Adjust Regularly — This Isn't a One-Time Setup

The single biggest mistake in reorder point management, in Odoo or any system, is treating it as a configure-once task. Demand seasonality, new products, discontinued vendors, and shifting lead times all mean that min/max values calculated accurately today will drift out of alignment over months. A reasonable cadence is a quarterly review of your highest-volume SKUs at minimum, checking actual sales velocity against your configured minimums, with more frequent checks around known seasonal shifts. Businesses that set this up once and never revisit it tend to end up back where they started — either stockouts creeping back in or inventory quietly bloating — just more slowly than before.

The Bottom Line

Reorder points and safety stock in Odoo aren't complicated to configure technically — a few fields on a form — but getting the actual numbers right requires real demand and lead-time data, not guesswork, and that's where most setups go wrong. Start with an honest calculation of lead-time demand plus a realistic safety buffer, use manual triggering while you validate those numbers, and build in a habit of revisiting them as your business changes. Done properly, this turns inventory management from a reactive scramble into something that mostly runs itself — which is really the whole point of setting reorder points up in the first place.

Top comments (0)