# Weekly reorder plan that tells you what to buy before you stock out

> Every Monday, get a supplier by supplier buying plan based on how fast each product sells, what is already inbound, and supplier lead times.

- Workflow type: agent
- Services: ShipBob, Google Sheets, Slack Bot
- Categories: Operations
- Published: 2026-08-09

## What it does

- Works out how fast each product is actually selling using your last 60 days of orders, instead of relying on a fixed low stock number.
- Counts what you have on hand plus anything already on its way in, so you never reorder units that are about to land.
- Flags the products that will run out before your supplier can restock them, and rounds every suggested quantity up to that supplier's minimum order.
- Saves the plan to a spreadsheet and posts it to Slack grouped by supplier, so each section is ready to become one purchase order.

## What you'll need

- A ShipBob account holding your orders, inventory, and inbound shipments.
- A Google Sheets spreadsheet with a settings tab listing each product's supplier, lead time in days, minimum order quantity, and how many weeks of safety stock you want.
- A Slack workspace and a channel where your ops team wants the plan to land.

## Prompt

Every Monday at 8am, build me a supplier replenishment plan that tells me exactly what to reorder before I stock out.

Start by reading my reorder settings tab in Google Sheets with Get Values. It holds one row per SKU with these columns: SKU, Supplier Name, Lead Time Days, Minimum Order Quantity, and Safety Stock Weeks. Treat that tab as the source of truth for which SKUs to plan for and what each supplier's constraints are.

Then pull the last 60 days of ShipBob orders with Get Orders and work out each SKU's average daily sales velocity across that window. Get current stock with Get All Inventory Levels, using total sellable quantity, which is fulfillable quantity minus exception quantity, rather than raw on hand. Get everything already on the way with Get Multiple Warehouse Receiving Orders and count the units on receiving orders that have not landed yet, so we never reorder units that are already inbound.

For each SKU, calculate days of cover as on hand sellable plus inbound divided by average daily velocity. Flag a SKU when days of cover falls below its supplier lead time plus the safety stock buffer, where the buffer is Safety Stock Weeks multiplied by seven days. For each flagged SKU, suggest an order quantity that covers the projected gap through the lead time plus buffer, then round it up to that supplier's minimum order quantity.

Skip SKUs that sold only a couple of units across the whole 60 day window, so slow movers and discontinued items do not clutter the plan. Separately, in its own section at the top, call out any SKU that is already at zero sellable stock with nothing inbound, since those are already losing sales rather than merely at risk.

Append the finished plan to a Reorder Plan tab in Google Sheets with Append Values, one row per flagged SKU, including the run date, SKU, supplier, average daily velocity, on hand sellable, inbound units, days of cover, and suggested order quantity.

Finally, post a Slack Bot message to my ops channel with Send a Message. Lead with the SKUs projected to stock out soonest, then group the rest by supplier so one section equals one purchase order conversation. Keep it scannable enough that I can act on it without opening the spreadsheet, and note anywhere the numbers look unreliable, such as a SKU whose velocity is driven by a single unusually large order.

## How to customize

- Change the day and time it runs, for example Friday morning so purchase orders go out before the weekend.
- Adjust the sales window, which is 60 days by default, and shorten it for fast moving or seasonal products.
- Raise or lower the cutoff that hides slow movers, and tune lead time and safety stock weeks per supplier right in the settings tab.

## FAQ

### Will it tell me to reorder stock that is already on its way?

No. Before flagging anything it counts the units sitting on inbound shipments that have not been received yet, and adds those to what you have on hand. A product with a big shipment arriving next week will not show up as urgent just because the shelf looks empty today.

### Do I need to understand reorder points or safety stock math?

No. You fill in four plain columns per product: the supplier, how many days that supplier takes to deliver, their minimum order quantity, and how many weeks of buffer you want. The plan does the velocity and timing math for you and simply tells you what to buy.

### What happens to products that barely sell?

Anything that sold only a couple of units across the whole window is left out, so discontinued items and slow movers do not bury the products that actually need attention. You can raise or lower that cutoff.

### What if something is already completely out of stock?

Products sitting at zero sellable stock with nothing inbound get called out separately at the top of the message, because those are already costing you sales rather than merely at risk.

### Why group the message by supplier?

Because a purchase order goes to one supplier. Grouping the list that way means each section of the Slack post maps to a single conversation you need to have, so you can copy one block and send it without re-sorting anything.

Use this prompt in General Input: https://www.generalinput.com/prompts/weekly-reorder-plan-that-tells-you-what-to-buy-before-you-stock-out