A small business can track supplier delays and reorder on time with an AI assistant and two spreadsheets. Have the assistant read supplier emails and log order number, new date and reason; keep a lead-time table of promised versus actual days; and use a reorder point sheet that flags what to order. No ERP system is needed at this size.
The assistant reads and drafts; you still decide what to order. Its job is to turn a messy inbox into a tidy log, and the sheet's job is to turn that log into a trigger. Skip either half and the system quietly fails: a log without a trigger is a diary, and a trigger built on promised dates instead of real ones orders too late.
The three jobs an ERP does that you actually need
An enterprise resource planning (ERP) system does dozens of things, from accounting to production planning. A small importer or maker usually needs three of them: knowing what has been ordered and when it is due, knowing how reliable each supplier is, and knowing when to order again. Everything below builds those three on tools you already own.
Take an illustrative importer of ceramic planters who sells to garden centres and a small online shop. She buys from five overseas factories, holds about 140 products, and gets 30 to 60 supplier emails a week. Her ordering lives in a spreadsheet and her memory. The cost of a miss is clear: a best-selling 30 cm planter runs out for five weeks, and two garden centres reorder from someone else.
The set-up has five parts:
- A shared inbox label for supplier mail, so the assistant sees only what it should.
- A delay log, one row per promised date change.
- A lead-time table, one row per supplier, that compares promises with reality.
- A reorder point sheet, one row per product, that tells you when to order.
- A Monday summary, written by the assistant from the log, that you read in two minutes.
If you have never mapped how stock moves through the business, what a small importer needs first explains which gaps to close before buying software. What follows is the do-it-yourself version that comes before it.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowStep one: supplier email triage that fills the log
Supplier emails carry the facts you need, buried in pleasantries, forwarded chains and attachments. The assistant's task is extraction: find the order, the date, the reason, and whether it needs a reply. Do this once a day, in a batch, rather than building a live link on day one. Copy the day's supplier emails, with names and prices removed if you are on a personal plan, into one chat and paste this prompt.
You are helping me track supplier delays. Below are emails from suppliers.
For each email, return one row with these fields:
order reference | supplier | what changed (new ship date, new arrival date, partial shipment, price change, no change) | new date in YYYY-MM-DD | reason given | needs reply (yes or no) | quote the sentence you used
Rules:
- Dates are day-month-year unless the email states otherwise. If a date could be read two ways, write "AMBIGUOUS" and quote it.
- Distinguish ship date from arrival date. If the email does not say which, write "UNCLEAR".
- Do not guess. If an order reference is missing, write "none".
- One row per order mentioned.
Emails:
[paste here]
Here is an illustrative email and what the assistant returned:
Email: "Hi [your name], regarding PO 2291 (planters, 600 pcs): the kiln schedule slipped, so we'll finish on 12/11 and ship the following week. Customs paperwork for PO 2288 is done, no change there."
PO 2291 | Factory B | new ship date | AMBIGUOUS (12/11, "the following week") | kiln schedule slipped | yes | "we'll finish on 12/11 and ship the following week"
PO 2288 | Factory B | no change | - | customs paperwork done | no | "no change there"
Two things to fix. First, the assistant correctly refused to guess at "12/11", which could be 12 November or 11 December; you reply to the supplier and ask for the date written out. Second, "finish" and "ship" are different events, and the log needs a ship date, so the row stays open until the supplier confirms one. A model that quietly turned 12/11 into a date would have given you a tidy and wrong log, which is why the ambiguity rule matters.
Check the first week of output against the emails by eye, every row. After about 50 rows with no errors, spot-check ten per week. If the volume is large, AI triage for a shared inbox covers how to sort mail before extraction.
Step two: a delay log you can sort
The log is a plain table. Each row is one promise or one change to a promise. Columns that earn their place:
- A: Date logged
- B: Order reference
- C: Supplier
- D: Product or products
- E: Date the order was placed
- F: Original promised arrival date
- G: Latest promised arrival date
- H: Reason given
- I: Status: open, replied, arrived, cancelled
- J: Actual arrival date (filled when stock is booked in)
- K: Actual lead time in days, a formula that stays blank until arrival:
=IF(J2="","",J2-E2) - L: Days late, actual arrival minus original promise:
=IF(J2="","",J2-F2)
The letters matter because the lead-time formulas in step three point at columns C, K and L. A negative figure in column L means the order came early.
An illustrative filled-in pair of rows:
| Logged | Order | Supplier | Original promise | Latest promise | Reason | Status |
|---|---|---|---|---|---|---|
| 2 Nov | PO 2291 | Factory B | 20 Nov | 4 Dec | Kiln schedule | Open |
| 3 Nov | PO 2288 | Factory B | 15 Nov | 15 Nov | None | Open |
Keep the original promise forever. The latest promise changes as suppliers slip; the original is what you measure reliability against. Pasting over it is the most common way a log loses its value.
Step three: the lead-time table that tells you the truth
Every supplier gives you a lead time, the days between order and arrival. Its quoted figure is a promise; the real figure is whatever your arrived orders show. The lead-time table puts both side by side. Once you have ten or so arrived orders for a supplier, the numbers become useful.
Columns: supplier, quoted days, orders counted, average actual days, longest actual days, share of orders on time. In Excel or Google Sheets, with the log on a tab called Log and the supplier names in column A of the lead-time tab:
Average actual days: =AVERAGEIFS(Log!K:K, Log!C:C, A2)
Longest actual days: =MAXIFS(Log!K:K, Log!C:C, A2)
Orders counted: =COUNTIFS(Log!C:C, A2, Log!K:K, ">0")
On time share: =COUNTIFS(Log!C:C, A2, Log!L:L, "<=0") / COUNTIFS(Log!C:C, A2, Log!K:K, ">0")
The on-time share divides orders that arrived on or before the original promise by orders that have arrived at all, so open orders do not drag the figure down before they have had a chance to be late.
An illustrative result for the importer, after four months:
| Supplier | Quoted days | Orders | Average actual | Longest | On time |
|---|---|---|---|---|---|
| Factory A | 30 | 11 | 32 | 38 | 64% |
| Factory B | 35 | 9 | 41 | 52 | 22% |
| Factory C | 45 | 6 | 44 | 47 | 83% |
The pattern is plain. Factory C quotes the longest time and keeps its word; Factory B quotes 35 days and delivers in 41 on average and 52 on its worst day. The reorder logic must use 41, not 35. This is where AI earns a second role: ask it to read the table and write a plain sentence per supplier, such as "Plan on 41 days for Factory B, not 35, and ask for a ship-date confirmation at day 20." You will still own the number.
For a broader look at scoring suppliers on price and risk as well as speed, see AI supplier management.
Step four: a reorder point sheet that says when to buy
A reorder point is the stock level at which you place a new order so that stock does not run out before it arrives. The standard form is demand during the lead time plus a cushion for variation. Written plainly:
Reorder point = (daily sales x lead time in days) + safety stock
Safety stock = daily sales x (worst lead time - average lead time)
Here is the sum for the importer's best-selling 30 cm planter, from Factory B. Illustrative figures:
- Sales: 60 units a week, so 8.57 a day.
- Lead time used: 41 days (the actual average, not the quoted 35).
- Worst lead time seen: 52 days, so the cushion is 11 days of sales, about 94 units.
- Demand during lead time: 8.57 x 41 = 351 units.
- Reorder point: 351 + 94 = 445 units.
Had she used the quoted 35 days with no cushion, her reorder point would have been 300 units. With 480 on the shelf, she would have seen no warning for 21 days of sales. An order placed then arrives 41 days later, on day 62, while the shelf runs dry on day 56, so it sits empty for about 6 days. At a margin of $9 a planter and 8.57 sales a day, that is roughly $460 lost. If Factory B hit its worst case of 52 days, the shelf would be empty for about 17 days and the loss near $1,300, before counting the garden centres that moved elsewhere.
In the sheet, one row per product, with columns for weekly sales, supplier, lead time (looked up from the lead-time table), cushion days, on hand, on order and a flag:
Reorder point: =ROUNDUP(B2/7*D2 + B2/7*E2, 0)
Flag: =IF(G2+H2<=F2, "ORDER NOW", "ok")
Here B is weekly sales, D the average lead time, E the cushion in days, F the reorder point, G the stock on hand and H the stock on order. Counting stock on order stops you ordering twice. Sort the flag column to the top on Monday and the day's work is a list.
Both lines need real numbers. If you do not know weekly sales for a product, take the last 12 weeks from your sales report and divide; ask the assistant to compute them from a pasted export if you are not comfortable with pivot tables. The full method for setting reorder points with AI goes further into seasonality and minimum order quantities, which this sheet ignores on purpose.
Step five: a Monday summary written from the log
A log is only read if reading it takes two minutes. Once a week, paste the open rows and the flagged reorder rows into an assistant and ask for a summary. A prompt that works:
Here is my open supplier log and my reorder flags. Write a summary for Monday morning:
1. Orders now later than their original promise, longest delay first, with the supplier and the reason.
2. Orders with no new date for more than 7 days.
3. Products flagged ORDER NOW, with the supplier's average actual lead time.
4. One chaser email to draft for the supplier with the most overdue orders.
Use plain sentences. Do not invent dates. Flag anything missing.
[paste log rows]
[paste flagged rows]
Illustrative output, shortened:
Late: PO 2291 (Factory B) is 14 days past the original promise; reason: kiln schedule; latest promised arrival 4 Dec, ship date not confirmed in writing.
No date for 7+ days: PO 2302 (Factory D), last contact 25 Oct.
Order now: 30 cm planter (Factory B, 41-day average lead time), 30 cm saucer.
Draft chaser to Factory B: ...
Read the summary against the log once a week in the first month. The usual error is a late flag on an order that actually arrived but was never marked arrived, which means the sheet, not the assistant, needs fixing. Once the summary matches reality four weeks in a row, you can stop checking every line.
A weekly-order variant for a shop with perishable stock
Everything above assumes long, lumpy lead times. A pet shop ordering food and bedding from a distributor works on a different rhythm: weekly orders, a lead time of three or four days, and best-before dates. The same sheet adapts with two changes. The reorder point uses a short lead time and a review period, because you only get to order once a week, so the cushion must cover the days until the next order as well as the transit days. And the log gains a column for best-before date, so the Monday summary can say "20 bags of puppy food expire in 30 days; do not reorder yet".
Illustrative sum: a shop sells 6 bags of a premium dog food a day and the distributor delivers in 3 days, with a weekly order. Cover needed is 3 days of transit plus 7 days until the next order, which is 10 days, or 60 bags. Add one day of cushion for a late van, 6 more bags, and the reorder point is 66. The same arithmetic with a four-week lead time would be nonsense, and that is the point: choose the formula that matches how you really order.
Chasers that get an answer
A reply that says "any update?" gets "soon". A chaser that asks for a specific thing gets a date. Before and after, in an illustrative case:
Before: "Hi, just checking on the status of PO 2291. Thanks."
After: "Hi [first name], PO 2291 (600 planters) was promised for 20 November and your last note pointed to arrival on 4 December. Can you confirm in writing the ship date and the vessel or carrier booking by Friday? If it will arrive later than 4 December, please say so now, because we are deciding whether to air-freight a partial order."
The second asks for a date, a deadline and a reason it matters. Ask your assistant to draft it from the log row and your own deadline, then edit it so it sounds like you. Chasers are one of the safest jobs to give AI because you read every word before it goes. If you plan to send many a week, automating purchase orders and supplier emails covers the next step.
Where the sheet and the assistant mislead you
A system built on emails inherits the problems of emails. These are the ones to watch.
Ship date is not arrival date. A supplier who says "shipped on the 10th" has told you nothing about arrival. Add a transit time per route to the lead-time table, and record both dates. If the email gives only a ship date, the log should say "arrival estimated" in a separate column until a tracking number or booking confirms it.
Several orders in one email. Suppliers write one email about three orders. Ask for one row per order, as the prompt above does, and check the count of rows against the count of orders mentioned.
Partial shipments. A supplier ships 400 of 600 and says "balance to follow". Log the 400 as arrived against the order, keep the order open for 200, and record the new date for the balance. Your stock on hand and stock on order columns must both change.
A realistic slip, from a maker rather than an importer. A small workshop that makes leather bags buys hides from a tannery. The assistant logs "dispatch next Thursday" from an email sent on a Wednesday, and records it as the day after. The tannery meant the Thursday of the following week, eight days away. The sheet showed the hides leaving a week early, so the arrival estimate was a week early too, the reorder flag stayed quiet, and the bags missed a market stall. The fix was a rule in the prompt: "If the email says 'next [weekday]', quote the sentence and write the date only if the email's date is shown; otherwise write UNCLEAR." Relative dates are the most reliable way to get a wrong answer from an assistant.
Language and tone. A supplier's polite "we will try" is not a promise. Add a column for "confidence", with values firm, soft and none, and ask the assistant to classify each message and quote the phrase it used. Soft promises should widen the cushion.
Keeping supplier emails private
Supplier emails often hold prices, volumes and terms you would rather not leak. On a free personal assistant account, remove prices and company names before pasting, and replace suppliers with codes such as Factory A. On a business plan you can paste more, but still read the plan's data terms, because vendors say business plans do not train on your content by default and you should confirm the setting yourself. The checklist in what to check in an AI tool's privacy terms takes ten minutes.
Also decide who may see the log. A sheet shared with the whole team invites well-meant edits to the original promise column. Give most people comment access and let one person edit.
If you sell on Shopify
Shopify's inventory app Stocky stopped working on 31 August 2026. Purchase orders now live in the Shopify admin, and Sidekick, Shopify's built-in assistant, can answer "What should I reorder?" from your sales data and draft the purchase order for you. Shopify cannot email a purchase order to a supplier: you download it as a PDF and send it yourself, so the supplier email and delay log still sit outside Shopify. Sidekick's suggestions come from sales data, which is useful, but they do not know how late a supplier really runs. The lead-time table above fills that gap. Shopify has no lead-time field on the purchase order itself; its Stocky transition guide suggests a variant metafield such as supplier.lead_time_days, which you can fill with the table's average actual days. That metafield is for reference only and does not change any calculation, so the reorder sheet stays the place where the trigger lives.
A purchase order in Shopify is marked as ordered and the stock arrives through a transfer, so keep your "actual arrival date" in the sheet in step with the date you receive the transfer. Otherwise the lead-time table reads whatever date someone typed first.
When to stop using the sheet
The sheet is a stage, not a destination. Reasons to move on:
- You hold stock in more than one place and the sheet no longer says which.
- More than two people edit it each day and versions disagree.
- You need batch or serial tracking, for recalls or warranty.
- Reorder flags are ignored because there are too many.
- Supplier orders are placed through portals and the log is always behind.
Any of those points to a stock app or an ordering tool, and the comparison of AI inventory tools for small retailers is where to look. Until then, the sheet costs nothing beyond the assistant subscription you may already hold, which is about $20 a month for one person on the main assistants' individual paid plans.
Setting it up in an afternoon
A realistic schedule for the first build, for a business with fewer than 200 products:
- Thirty minutes: create the supplier label in your email and move the last 60 days of supplier mail into it.
- Sixty minutes: run the triage prompt over those emails in batches of 20, correct the rows, and paste them into the log.
- Thirty minutes: fill in actual arrival dates for orders already received, so the lead-time table has something to calculate.
- Forty-five minutes: build the lead-time table and the reorder sheet for your twenty best sellers only.
- Fifteen minutes: run the Monday summary once and note what is missing.
That is three hours. Spend the first fortnight checking its output against reality, then add the remaining products a few at a time. If the workload looks heavier than this, or you would rather map it with someone, that is the sort of job a 1:1 call is for; otherwise the sheet and a weekly habit will carry a small business a long way.
Questions small buyers ask about this set-up
Is a spreadsheet really enough without an ERP?
For one warehouse and a few dozen products, yes. The jobs are logging supplier promises, measuring how late they usually are, and flagging when stock plus orders falls below a trigger level. Move to software when several people edit the same sheet daily, when you hold stock in more than one place, or when you need to track batches.
Which assistant should read my supplier emails?
Any of the main assistants can do it, so choose by data terms. Use a business plan, not a free personal account, because supplier emails contain prices and terms. Business plans of ChatGPT and Claude do not train on your content by default, according to the vendors, but confirm the setting in your account before you paste anything.
How often should I update the reorder points?
Recalculate them monthly for fast-moving items and quarterly for slow ones. Also update them straight after a supplier changes its lead time, after a promotion that changed your sales rate, and at the start of a seasonal peak. A stale reorder point is the most common reason the sheet stops being trusted.
What if a supplier never replies with a new date?
Treat silence as a delay of unknown length. Put the order on your log with a status of "no date given", send a short chaser, and set your own review date two working days later. Then plan your stock using the worst delay you have recorded for that supplier, not the date on the original order.
Further reads
- How Small Shops Can Use AI to Forecast Stock and Reorder — Forecasting demand for the sales side of the reorder formula.
- How to Document Your Processes Before Adding AI — Write the ordering steps down before you automate any of them.
- Best AI for Cabinet Making: Supplier Orders, Lead Times and Chasers — A maker's version, with chasers for long-lead materials.
- No-Code AI Automation for Small Businesses: Where to Start — Automate the log once the manual version works.
- How to Stop Zapier and Make Automations Breaking Silently — Keep the automated version of the log from failing quietly.
- Can AI Fill In Forms and Supplier Portals for You? — Where AI helps with supplier portals and what still needs you.
- Is Cin7 ForesightAI Forecasting Worth It for a Small Maker? — A payback test for Cin7 ForesightAI: when it beats a spreadsheet forecast, a break-even price to bring to sales, and a backtest you can run first.
- Check a Bill of Materials With AI: Template, Gaps and Revisions — A bill of materials layout you can copy, an AI gap check that found three missing groups of items adding 8.7% to material cost, and a simple revision log.
- Cold Chain Temperature Logs: AI Flags Breaches in Logger Exports — How a small food distributor can use AI on logger exports to find breaches, spot gaps and faulty sensors, and draft the corrective-action note.
- Furniture Lead Times: Set Realistic Made-to-Order Dates With AI — How a small furniture workshop works out an honest delivery range from its capacity and queue, and tells customers at the right moments.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: Shopify's help pages on purchase orders and Sidekick; vendor help pages for ChatGPT and Claude; standard inventory reorder-point formulas.