The inventory forecasting engine predicts how many units of each item will be consumed from each warehouse over a configurable forecast period, classifies every SKU by movement type, calculates a reorder point and suggested purchase quantity, and raises a reorder alert when current stock falls below the calculated threshold. When configured, it also drafts a Purchase Order automatically — leaving the final decision with your buying team.
This article explains how the engine calculates consumption, how movement types are assigned, how the reorder and suggested quantity formulas work, and how automated Purchase Orders are created.
When an inventory forecast runs, the engine reads the Stock Ledger Entry history for the specified item and warehouse. It looks specifically at consumption rows — entries where stock quantity is negative, representing sales, transfers out, and scrap. Receipts and positive adjustments are excluded because they represent stock arriving, not stock being consumed.
The engine has two calculation paths depending on data availability.
The trend-fit path runs when there are at least ten consumption events in the recent history window. The engine fits a trend line to the consumption history and predicts consumption for the forecast period. Confidence is derived from how well the trend fits the data, scaled to a range of 50–95%.
Movement type on the trend-fit path:
Daily average above 2 → Fast Moving
Daily average above 0.5 → Slow Moving
Below 0.5 → Non Moving
The moving average path runs when fewer than ten consumption events exist. It calculates daily consumption as total consumption over the last 90 days divided by the number of days with consumption (minimum 30).
Movement type and confidence on the moving average path:
Daily above 5 or active days above 15 → Fast Moving (confidence 85%)
Daily above 1 or active days above 5 → Slow Moving (confidence 70%)
Daily above 0.1 → Non Moving (confidence 50%)
Below 0.1 → Critical (confidence 40%)
Both paths produce the same set of outputs: predicted consumption, movement type, reorder level, suggested order quantity, and a reorder alert flag.
Every inventory forecast is assigned a movement type. This classification is the fastest way for a buyer to understand the priority of each SKU and determines the safety margin and suggested order horizon applied to that item.
Items you want to exclude from forecasting — such as display models, free-sample items, or discontinued lines — should have the Enable Forecast flag set to off on the Item master. These items are silently skipped by the engine.
If anything prevents a forecast from running (no history at all, or an error during calculation), the item is marked Critical with a conservative reorder level of 10 units and an alert is raised. This ensures no item is silently ignored.
Once movement type and daily consumption are established, the engine calculates two key values.
Reorder level is the stock quantity at which a new Purchase Order should be raised to avoid a stock-out, accounting for lead time and a safety buffer:
reorder_level = daily_consumption × lead_time (days) × safety_factor
The safety factor is 1.5 for Fast Moving items and 1.2 for all others. Lead time is taken from the Item master; if not set, 7 days is used as a default.
Suggested quantity is the recommended purchase quantity for the next order, calculated to cover a forward window based on movement type:
Fast Moving → daily_consumption × 45 (1.5 months)
Slow Moving → daily_consumption × 60 (2 months)
Non Moving / Critical → daily_consumption × 30 (1 month)
A reorder alert is raised when current stock (read from the live Bin record at forecast time) falls at or below the reorder level.
When a reorder alert fires, Foresight can draft a Purchase Order automatically. This behaviour is controlled by the Auto Create PO toggle on the Inventory Forecast record. It is off by default and must be enabled deliberately.
For a draft PO to be created, three conditions must all be true:
The reorder alert is active
Auto Create PO is enabled
A preferred supplier is set on the Item master
The draft PO is created with the suggested quantity and a schedule date set to today plus the item's lead time. The supplier is selected based on price and delivery performance history where available, otherwise the most recently used supplier.
The PO is always created as a draft — it is never submitted automatically. Your buyer reviews, adjusts if needed, and submits.
A dedup guard prevents duplicate orders: if a Purchase Order for the same item was already raised in the last 7 days, the auto-PO is skipped.
New items and recently introduced SKUs will have limited history. The engine handles these gracefully:
Fewer than 10 consumption events → moving average path runs with lower confidence
No consumption history at all → item is marked Critical with a reorder level of 10 units, suggested quantity of 10 units, and a reorder alert raised
Brand-new SKUs → recommended to set Enable Forecast to off on the Item master for the first 90 days and manage reorder manually