Odoo does not include a statistical forecasting engine. Instead, it maintains a running "forecasted quantity" - a real-time calculation of what stock will be available on any future date given all current commitments and expected receipts.
The Forecasted Quantity Calculation#
Forecasted Qty = On-Hand Qty
+ Incoming Qty (PO lines, MO outputs, receipts in transit)
- Outgoing Qty (SO lines, MO components, deliveries in transit)Odoo applies each scheduled stock move in chronological order to produce a timeline of future stock levels.
Where to see it:
- Product form → Forecasted button - Forecasted Inventory report
- Inventory → Reporting → Forecasted Inventory - products below minimum stock
Replenishment Rules: Min/Max#
Reorder point rules (stock.warehouse.orderpoint) watch the forecasted quantity. When it drops to or below the Minimum Quantity, Odoo generates a replenishment:
- Buy route → draft Request for Quotation
- Manufacture route → draft Manufacturing Order
| Field | Description |
|---|---|
| Minimum Qty | Trigger threshold |
| Maximum Qty | Target stock level after replenishment |
| Quantity Multiple | Round up to multiples (e.g., packs of 12) |
Lead Times#
Purchase Lead Time - on the vendor pricelist line: days from PO creation to receipt.
Security Lead Time for Purchase - Inventory → Configuration → Settings. Adds a buffer to all PO lead times to account for late deliveries.
Days to Purchase - days the purchasing team needs to create and send a PO after draft generation.
Manufacturing Lead Time - on the product form: days to manufacture.
The scheduler fires these calculations on the daily cron, or manually via Inventory → Operations → Replenishment → Run Scheduler.
Make-to-Order (MTO) Route#
MTO products do not use reorder points. A confirmed sale order line that would drive forecasted stock below zero automatically creates a PO or MO for the exact quantity needed. MTO works well for customised or high-value products but fails where customers expect immediate availability.
Common Mistakes#
- Forecasted quantity ignoring draft orders - only confirmed SOs and validated stock moves affect the forecast; draft quotations do not pull stock down
- Reorder rules without a vendor set - the Buy replenishment creates an unassigned draft PO that appears to do nothing; configure a vendor on the product's Purchases tab
- Lead time set to zero - always set realistic lead times; a zero vendor lead time causes the system to expect immediate receipt
- Security lead time too large - a large security buffer causes over-ordering; calibrate based on actual late-delivery frequency

