How to set reorder points and automate low-stock alerts in Shopify

A reorder point is daily sales times supplier lead time, plus a buffer. Set one for each Shopify best seller and get a morning list of what to reorder.

, 6 min read

Bar chart of six products with a dashed reorder point on each bar, two bars below their points flagged, a reorder list beside it and the formula daily sales times lead time plus buffer.

Give each best seller a reorder point: its daily sales times the supplier’s lead time in days, plus a buffer. Check stock against it every morning before the packing starts, holiday weeks included, and order that day for anything at or under its point.

Every morning, somebody in your shop has to check whether what’s left of each best seller will last until a delivery ordered today arrives. If it won’t, the supplier order has to go out that day. The check is short, so it’s the first thing you drop in a week of heavy packing, when best sellers move fastest. Miss it for a few days and the supplier’s lead time turns into days when customers can’t buy that best seller. By default, Shopify stops selling a tracked item when its stock hits zero.

The reorder point for each best seller

A reorder point covers what you’ll sell while you wait for a delivery, plus a buffer for a week that sells faster than usual or a late shipment. That’s daily sales times lead time in days, plus the buffer. For daily sales, Shopify’s Inventory sold daily by product report under Analytics > Reports gives the average sold per day for each variant.

Take a made-up tea shop whose best seller is a 4 oz tin of breakfast blend. Over the last 90 days, that report shows it selling 6 a day. The supplier delivers 8 days after an order, and counting the tins in and receiving them in Shopify takes 2 more days, so the lead time is 10 days. Six a day for 10 days is 60 tins. The owner adds 5 days’ sales, 30 tins, as a buffer, so the reorder point comes to 90.

Shopify’s Inventory remaining per product report runs the sum backwards. It divides the stock left by the variant’s average daily sales over the last 28 days. Ninety tins at 6 a day is 15 days, the 10-day lead time plus the 5-day buffer. Any best seller with no more days left than its own lead time plus buffer is due for an order.

You need three numbers for each best seller: units sold per day, days from order to stock on sale, and the buffer in days. For units per day, pick a stretch when the product never sold out. The daily report divides units sold by every day in the period, so a sold-out day drags the average down. For lead time, use what your last few deliveries took, counted to the day the stock was on sale. Redo the sums when the season turns or a supplier’s delivery time changes.

What the morning alert shows

Put only the variants at or under their reorder point on the alert, so whoever reads it acts on every line. Each line needs:

  • the product, the variant and its SKU, so the order names the exact size
  • the Available count next to the reorder point, since Shopify’s Available leaves out units in unfulfilled orders and stock still on its way
  • any quantity already on order, so nobody orders the same stock twice
  • a suggested order quantity, labeled as a suggestion
  • a link to the place where you approve the order

Send the alert to the one person who can commit money to a supplier, usually the owner in a small shop. Name a stand-in for the weeks that person is away. Whoever unpacks deliveries has to receive the stock in Shopify the day it arrives, or the next alert lists the same SKU again. A variant leaves the alert once it’s on order or back over its reorder point.

A daily stock check you can run by hand

Shopify already keeps the counts and the sales rates, and its own help suggests custom metafields for stock thresholds per variant. Set the check up in this order:

  1. Open each best seller under Products in Shopify admin and turn on inventory tracking in the variant’s Inventory section.
  2. In Settings > Metafields and metaobjects, create a custom definition on variants named Reorder point, with an integer type.
  3. Type each best seller’s reorder point into the Reorder point field on its variant page.
  4. Open Products > Inventory and add an Available filter for anything at or under your highest reorder point. The list then holds every candidate, and the ones at or under their own reorder point are due.
  5. Click Save > Save as new view and name the view Low stock.
  6. Create a Google Sheet named Reorder Tracker, with columns for the date, product, SKU, quantity, reorder point, status and On order.
  7. Each morning, open the Low stock view and check each item against the reorder point on its variant page, counting its Incoming quantity as already ordered.

Shopify’s views and reports show the numbers when you open them. For a low-stock notification that comes to you, its Managing inventory page says to install an inventory alert app from the Shopify App Store. Purchase orders live under Products > Purchase orders, and you can’t email one from the admin. You export a PDF and send it yourself.

Handing the morning check to WebRun

You can hand the morning stock check to WebRun or another automation tool. WebRun is an AI agent that works in Shopify and Google Sheets through a browser, signed in with your saved logins. Its template for flagging low-stock SKUs and drafting the reorder runs every day at 7:00 AM.

Each run starts in Products > Inventory in Shopify admin, where WebRun applies your saved Low stock view and compares each SKU with its reorder point. If you write your reorder points into its plan, they take over from the store without changing it, the template page says. Or tell WebRun to read the Reorder point field on each variant. For each SKU at or under its reorder point, it notes the product name, variant and current quantity. It leaves out any SKU that already got a draft purchase order this week.

In Google Sheets, WebRun adds a row per flagged SKU to your Reorder Tracker, dated today and marked as a draft pending your approval. Then it posts the alert in your #inventory channel in Slack. The alert gives each SKU’s quantity and a suggested reorder quantity, and links to the sheet where you approve and send the order.

WebRun doesn’t place or send an order until you say so, as the template page states. Mark a row On order in the sheet and later runs skip that SKU.

The order stays with you

Treat the suggested quantity as a starting point and adjust it for what the sheet doesn’t hold. A price break at the next case size, a promotion next month, a late supplier and the cash in the bank all move the number. You choose the supplier too, and whether to split an order between two.

Once you’ve decided, approve the row, send the order to your supplier and mark the row On order. If you also record the order as a purchase order in Shopify, the Incoming column on the Inventory page includes it. After you’ve received the delivery in Shopify, clear the On order mark. Leave it set and that SKU stays out of the alert.

The first weeks of alerts

For the first few weeks, read each Slack alert next to the Low stock view in Shopify and look for these misses:

  • A best seller sells out without ever appearing on the alert. Its inventory tracking is off, its Reorder point field is empty, or the Low stock view’s Available filter sits under its reorder point.
  • Delivered SKUs come back on the next alert, because nobody received the stock in Shopify and Available still shows the old count.
  • A SKU stops appearing for good. Its On order mark is still set from the last delivery.
  • If a best seller runs out before the delivery lands, its lead time or buffer was too short, or sales outgrew your daily figure. Redo the sum with fresh numbers.
  • The alert lands in a channel the person who orders doesn’t read.

More guides