Ecommerce · Reorder alerts
DashboardBeauty & D2CReorder alerts from Shopify stock cover, with the PO drafted for you
Stockouts on bestsellers rarely come as a surprise to the data, only to the team. This dashboard turns Shopify inventory into days of cover by SKU and hands a drafted purchase order to the person who signs it.
Valnora & Elric team6 min read
SKUs below reorder point
| SKU | On hand | Units / day | Cover (days) | Supplier | Status |
|---|---|---|---|---|---|
| SER-VC30 | 612 | 41 | 15 | Supplier A · 14 days | PO drafted |
| SUN-SPF50 | 380 | 22 | 17 | Supplier B · 21 days | Alert |
| CLN-GEL100 | 905 | 48 | 19 | Supplier A · 14 days | Alert |
| LIP-TNT03 | 140 | 6 | 23 | Supplier C · 10 days | Watch |
1 hour
How stale stock cover can get (illustrative)
The cover workflow runs hourly; the order table fills as orders land.
5 min
Monitor re-check interval
A SKU crossing its reorder point is flagged within minutes of the update.
0
PO emails sent without approval
Relays never send email on their own under any autonomy setting.
Illustrative example. Figures show how the workflow is measured; they are not customer results.
Tanvi Naturals is a fictional skincare brand, used here as an illustration: about 200 SKUs, one warehouse in Jaipur, three contract manufacturers. Their ops lead checks stock every Monday in a Shopify export. The Vitamin C serum sells out in the third week of a month that had a good Instagram run, and the manufacturer needs 14 days. By Monday, the gap is already two weeks of lost sales.
The fix is not a better spreadsheet. It is a number per SKU that updates on its own, a line it should not cross, and a drafted purchase order waiting for the person who signs it.
Days of cover, computed every hour
Days of cover is stock on hand divided by average units sold per day. It is the number that tells you when a SKU will run out, and the one most teams only compute when they suspect a problem.
Two workflows keep it current:
- Orders in. A Shopify orders webhook points at the Webhook trigger of a workflow, which writes each order’s SKU lines to an orders table as they are placed. If you already run the store dashboard, reuse its table.
- Cover out. A scheduled workflow runs hourly. The Shopify block lists inventory levels per SKU and location, a step sums units sold per SKU over the last 28 days from the orders table, and the workflow writes one row per SKU to a stock cover table in Tables: on hand, units per day, days of cover, supplier, lead time and status.
Lead time, MOQ and carton size come from a supplier table your ops lead maintains. That table matters more than any model. If the lead time is wrong, every alert is wrong.
The dashboard, panel by panel
The example above is illustrative. From the top:
- Tiles. SKUs tracked, how many sit below their reorder point, median days of cover and POs waiting for approval.
- Cover against lead time. The line chart shows one SKU’s cover falling towards its supplier lead time plus safety days. The day they meet is the last safe day to order.
- Below reorder point. Every flagged SKU, with on hand, run rate, cover, supplier and status: Watch, Alert or PO drafted.
Dashboards read the stock cover table directly, so panels update as the hourly run writes rows.
The rule and the monitor
Two governed definitions make the alert mean the same thing everywhere:
- A days-of-cover metric, defined once, so the tile, the chart and the Relay all compute it the same way.
- A low-cover rule in plain language: "flag a SKU when days of cover is below the supplier lead time plus the SKU’s safety days, and no PO is open."
A monitor on that rule re-checks every 5 minutes and alerts the ops lead in-app, by email and in a Slack channel. The open-PO condition stops the same SKU from alerting every hour after the order is placed.
How to measure it
1 hour
How stale stock cover can get (illustrative)
The cover workflow runs hourly; the order table fills as orders land.
5 min
Monitor re-check interval
A SKU crossing its reorder point is flagged within minutes of the update.
0
PO emails sent without approval
Relays never send email on their own under any autonomy setting.
Illustrative example. Figures show how the workflow is measured; they are not customer results.
The Relay drafts the purchase order
A Relay, an AI coworker with its own instructions and access, starts when the monitor alerts. It runs in Assist mode with three tables on its read list (stock cover, supplier and orders) and a mailbox it can draft from.
Its instructions read like a note to a junior buyer:
For each flagged SKU, size the order to cover lead time plus safety days plus 45 days, round up to whole cartons and at least the MOQ. Use the supplier’s contact from the supplier table. State the reasoning in one line. Do not negotiate price or promise payment terms.
What the solution produces
PO email drafted by the Relay (illustrative)
MessageTo: orders@supplier-a.example · Subject: PO TN-2291 · Vitamin C serum 30 ml
Hello Ramesh, please confirm the order below for Tanvi Naturals, Jaipur warehouse.
SER-VC30 · 2,400 units (2 cartons over MOQ) · price as per the rate card dated 1 August.
Requested dispatch within 14 days. Please confirm the date and share the proforma.
Reason for size: 41 units a day, 15 days of cover, 14-day lead time, 7 safety days, 45 days to the next review.
Monitor alert (illustrative)
MessageLow cover · 3 SKUs crossed their reorder point in the last hour.
SUN-SPF50 is at 17 days against a 21-day lead time and has no open PO.
Open the reorder dashboard filtered to flagged SKUs.
The draft goes to the ops lead for approval. Relays never send email without an approval, whatever their autonomy setting, and the approval covers the exact message shown. Set the Relay’s recipient policy to an allowlist of supplier domains, so it cannot draft to anyone else. Approvals expire after 24 hours by default, which suits a decision that should not sit for days.
Once approved, the email is sent once and the approval is recorded in the audit log. The ops lead still logs the PO in the purchase register. A small workflow the Relay can run, marked to need approval, can write the open-PO flag back to the stock cover table so the rule stops alerting.
What it does not do
Controls and governance
Approvals before action
Relays never send email or book meetings without an approval, under any autonomy setting. An approval covers the exact payload the reviewer saw and expires if nobody decides.
Audit trail
Proposals, approvals, declines and executed actions are written to the workspace audit log, which admins can export.
Run logs
Every workflow run records each block’s inputs, outputs and errors, so a reviewer can trace how a result was reached.
Deployed versions
Workflows run from a deployed version, so a change is reviewed before it reaches production runs.
Roles and permission groups
Admin, write and read roles per workspace, plus permission groups that limit which models, blocks and integrations a team can use.
Row-level access
Row-level policies narrow what each person sees in tables, dashboards, exports and scheduled reports.
More on how Agent Serve handles access, data and audit on the security page.
The Relay does not adjust inventory, cancel orders or pay suppliers. Payments and inventory changes are money-moving or destructive calls, and the simplest policy is to leave them off its allowlist entirely. If a supplier replies with a changed date, the reply lands in the ops lead’s inbox, not the Relay’s judgement.
Start with your top 20 SKUs by revenue and one supplier. Run it for two weeks with the Relay in Observe mode, compare its drafts with what the ops lead would have ordered, and fix the supplier table before you move to Assist. For a broader view of investigations across orders, RTO and stock, see monitoring with Relays.
Questions teams ask
Does the Relay change stock levels in Shopify?
No. It reads inventory and drafts an email. Receiving stock and adjusting levels stay with your warehouse process. The Shopify block can adjust inventory, but keep that action off the Relay’s allowlist.
What about seasonal spikes?
A 28-day run rate lags a sale. Add a planned uplift column to the supplier table for known events, and the workflow multiplies the run rate for SKUs in that window.
From Shopify inventory to an approved purchase order
Workflow · Stock cover
- 01Hourly scheduleRuns every hour in your time zone, plus once after the nightly warehouse count.
- 02Shopify inventoryLists inventory levels per SKU and location with the Shopify block.
- 03Orders tableUnits sold per SKU over 28 days, filled by an order webhook workflow.
- 04Stock cover tableOn hand, daily run rate, days of cover, supplier, lead time and reorder status.
Dashboard · Reorder watch
- 05Low cover ruleFlags a SKU when cover falls below supplier lead time plus safety days.
- 06Reorder dashboardCover by SKU, flagged SKUs, open POs and stock value at risk.
- 07Low cover monitorRe-checks every 5 minutes and alerts ops in-app, by email and in Slack.
Relay · Purchase order draft
- 08Reorder RelayStarts on the monitor alert, reads the cover and supplier tables, sizes the order.
- 09PO email approvalThe supplier email waits for the ops lead to approve, edit or decline it.
- 10Ops leadApproves the exact email, then logs the PO in your purchase register.
What you need
- Shopify admin access to connect the Shopify block and create an orders webhook
- A supplier table: SKU, supplier, contact email, lead time in days, MOQ and carton size
- Agreed safety days per SKU class, for example 7 for bestsellers and 3 for slow movers
- A Gmail or Outlook account the Relay drafts from, and supplier domains on its recipient allowlist
- A named ops lead who approves purchase orders and owns the monitor
- Your purchase register or ERP, where approved POs are still recorded