What's in the template
This inventory forecasting template takes three inputs per SKU, average daily sales, supplier lead time, and a safety stock buffer, and turns them into a forecasted demand figure, a reorder point, and a suggested order quantity. The sample rows show the calculations already worked out, so you can see exactly how each output follows from its inputs before replacing them with your own numbers.
Open it in Excel, Google Sheets, or Numbers, delete the sample rows, and pull in your own SKUs, sales history, and supplier lead times. Recalculate average daily sales periodically, weekly or monthly, depending on how fast your sales mix shifts, since a stale average quietly drifts away from actual demand.
Columns explained
| SKU | Unique identifier for the item being forecasted. |
| Product_Name | Human-readable name, used for review and ordering. |
| Avg_Daily_Sales | Units sold per day, averaged over a recent trailing period (30 to 90 days is typical). The single input everything else depends on. |
| Lead_Time_Days | Days between placing a purchase order and receiving it, based on actual supplier history, not the quoted lead time. |
| Forecast_Period_Days | The number of days ahead you are forecasting demand for, commonly 30. |
| Forecasted_Demand | Avg_Daily_Sales x Forecast_Period_Days: expected units sold over the forecast window. |
| Safety_Stock | A buffer against demand spikes or a late delivery. See how to calculate safety stock for sizing this properly. |
| Current_Stock_On_Hand | What you actually have right now. The column that goes stale fastest in a manual sheet. |
| Reorder_Point | (Avg_Daily_Sales x Lead_Time_Days) + Safety_Stock: the stock level that should trigger a new order. |
| Suggested_Order_Qty | (Forecasted_Demand + Safety_Stock) minus Current_Stock_On_Hand: how much to order to cover the forecast period without falling below your buffer. |
| Last_Updated | Date this row's sales average and stock figures were last refreshed. |
| Notes | Known seasonality, promotions, or anything that would make the flat average misleading. |
A worked example
Espresso beans sell at 12 units a day on average, with a 7-day supplier lead time and a 40-unit safety stock buffer. Forecasting 30 days ahead: forecasted demand is 12 x 30 = 360 units. The reorder point is (12 x 7) + 40 = 124 units, so an order should go out the moment on-hand stock drops to 124, not when it hits zero. With 150 units currently on hand, the suggested order quantity is (360 + 40) minus 150 = 250 units to fully cover the coming 30 days plus the safety buffer.
The sample data on the download includes a note on that same row: this particular product sees roughly 20% higher demand in Q4, so the flat 12-unit average understates the reorder point right before that seasonal jump, worth a manual bump ahead of the season rather than trusting the trailing average alone.
Where a forecasting spreadsheet breaks down
A spreadsheet like this works well for a modest SKU count reviewed periodically. It starts failing once average daily sales has to be recalculated across more SKUs than you can reasonably review each week, since a stale average quietly produces a wrong reorder point without any signal that it is wrong. It also does not adjust automatically for seasonality, a promotion, or a sudden demand shift, someone has to notice and update the Notes column by hand.
That is the point to move from a template to software that recalculates from live sales history automatically. See choosing inventory forecasting software for what to check before adopting one, and inventory forecasting methods for how moving average and exponential smoothing compare in more detail than this template's flat average.
Related resources
Trusted by small businesses
What our customers say
“Super Kind! Quick replies from their support and very easy fixes, changed the dashboard a bit and customized it. Also gave me 450 items extra on the free plan just for me. Highly recommend and again great service!”
“Best customer service! Stockflow's customer support is fast and extremely helpful. They assisted me with customization of the software to improve my experience as a user.”