# Weekly Square restock brief, one message per supplier

> Every Monday at 7am, see which Square products will run out first based on real sales speed, with a ready to send order list for each supplier.

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

## What it does

- Works out how fast every product in your Square catalog is really selling over the last 30 days, then how many days of stock you have left.
- Ranks your buying list by what runs out soonest rather than by a fixed low stock number, so a fast seller with 20 left outranks a slow one with 3.
- Posts one Slack message per supplier, each reading like a ready to send purchase order, and ignores anything that has not sold in 60 days.
- Logs every recommended order line to a Google Sheet so purchasing has a running history to look back on.

## What you'll need

- A Square account with inventory tracking turned on for the products you want watched
- Suppliers recorded against your items in Square, so the brief can group orders by who you buy from
- A Slack workspace and a channel for the brief to land in, such as #purchasing
- A Google Sheet with a tab for tracking reorder history
- At least a month of sales history in Square so the sales speed figures mean something

## Prompt

Every Monday at 7am, build a supplier by supplier reorder brief from my Square inventory and post it to Slack, one message per supplier.

Start by getting my locations from Square with List Locations, then pull my full product list with List Catalog, covering items and item variations including the vendor recorded against each variation. Get current stock on hand for every tracked variation with Batch Retrieve Inventory Counts.

Work out how fast each item is genuinely selling instead of relying on a flat stock threshold. Use Search Orders to pull completed orders and their line items across the trailing 30 days, add up units sold per variation, and turn that into an average daily sales rate. Then calculate days of cover for each item as current stock on hand divided by that daily rate. Rank the reorder list by days of cover ascending, so the items about to run out come first rather than the items that merely have a small number on hand. Note that orders taken offline on Square Point of Sale can take up to 72 hours to appear, so treat very recent figures as provisional.

Ignore discontinued and seasonal lines. Run a second Search Orders pass over the trailing 60 days and drop any item that has sold zero units in that window. Also skip items Square does not track stock for, since there is no meaningful cover figure for them.

Group the results by supplier so each message maps to one purchase order. Use Search Vendors to list active vendors and Bulk Retrieve Vendors to pull details for the vendor IDs attached to the items being reordered. If an item has no vendor recorded in Square, collect those lines into a final unassigned supplier section rather than dropping them.

For each line, recommend an order quantity. Order enough to bring the item back up to roughly 45 days of cover at its current sales rate, rounded to a sensible whole number. Use your judgement on the edge cases: items with only a few days of sales history, items where one large spike order is distorting the average, and items already sitting on plenty of cover that need nothing this week. Flag anything already at zero stock as urgent.

Post one message per supplier to the #purchasing channel using the Slack Bot Send a Message action. Lead with the supplier name and how many lines need ordering, then give a compact list showing item name, current stock, average units sold per day, days of cover, and recommended order quantity. Put the urgent out of stock lines at the top. Keep each message short enough to act on without opening anything else.

Finally, append every recommended reorder line to the tracking tab of my purchasing Google Sheet using Append Values, so purchasing keeps a running history. Write one row per line with the run date, supplier name, item name, variation, current stock, units sold in the last 30 days, average daily sales, days of cover, and recommended order quantity.

## How to customize

- Change the timing. Monday at 7am suits a weekly ordering rhythm, but daily or twice weekly works the same way.
- Set your own cover target. The default tops each item back up to about 45 days of stock, which you can raise for suppliers with long lead times.
- Choose where it lands and what gets ignored. Send everything to one channel or split it per supplier, and widen the 60 day cutoff used to skip discontinued and seasonal lines.

## Example output

Reorder brief for Peak Coffee Roasters, 4 lines to order

URGENT, out of stock
Ethiopia Yirgacheffe 250g, 0 on hand, 4.2 sold/day, 0 days cover, order 190

Running low
House Espresso 1kg, 11 on hand, 2.8 sold/day, 3.9 days cover, order 115
Decaf Colombia 250g, 9 on hand, 1.1 sold/day, 8.2 days cover, order 41
Cold Brew Concentrate, 22 on hand, 1.6 sold/day, 13.8 days cover, order 50

Based on 30 days of sales to 9 Aug. Recommended quantities top each item back up to about 45 days of cover.

## FAQ

### How is this different from Square's built in low stock alerts?

Square's alert fires when an item drops below a number you set, so it treats a product that sells 30 a week the same as one that sells 1 a month. This brief looks at what actually sold in the last 30 days and ranks by how many days of stock you have left, so you hear about fast movers early and stop getting nagged about slow ones.

### Do I need to have suppliers set up in Square?

It works best when your items have a supplier recorded, because that is what lets it send one message per supplier. Anything without one still appears, gathered into an unassigned section at the end so nothing goes missing.

### What if an item had one unusually large order last month?

The brief is written to spot that. A single bulk purchase that distorts the average gets called out rather than quietly turned into a large reorder recommendation, so you can decide whether it was a one off.

### Will it try to reorder seasonal stock I have deliberately stopped selling?

No. Anything that has sold zero units in the last 60 days is left out, which covers discontinued lines and out of season stock. You can change that window to suit your range.

### Does it place the orders for me?

No. It recommends what to order and how much, posts it to Slack and records it in your sheet. Sending the purchase order to the supplier stays with your team.

Use this prompt in General Input: https://www.generalinput.com/prompts/weekly-square-restock-brief-one-message-per-supplier