Short answer
AI inventory exception reporting is a workflow where fixed rules scan stock, sales and purchase data each night for problems such as negative stock or overdue purchase orders, and a language model groups, ranks and explains them in a short report. Buyers and store managers decide what to do. In New Zealand, promoted lines that run out also raise bait advertising risk under the Fair Trading Act.
- Detection is rules and queries; the model only groups, explains and ranks the exceptions.
- Stockouts on advertised specials are a priority because of Fair Trading Act section 19.
- API limits shape the design: Cin7 Omni allows 5,000 calls a day.
- The model never posts stock adjustments, reorders or markdowns.
What an exception report is for
AI inventory exception reporting answers one question each morning: which stock records need a person today, and why. Most retailers already have the data in Cin7, Shopify or a POS. What they lack is the time to read a 9,000-row export and spot the 30 lines that matter.
The design rule is simple. Detection is done by deterministic rules and queries, because “on hand below zero” or “PO 10 days overdue” has an exact answer and should never depend on a model’s mood. The language model works after detection: it merges related flags, pulls the surrounding facts, writes a one-paragraph explanation and ranks the list. That split is the point of our lesson on when a workflow does not need an agent.
Exceptions worth flagging
| Exception | Rule that detects it | Who acts |
|---|---|---|
| Negative on hand | On hand below zero at any location | Store manager checks receipts and transfers |
| Advertised line running out | Promoted SKU with under 3 days of cover | Buyer reorders, transfers or pulls the ad |
| Dead stock | No sales in 90 days and over $500 at cost | Buyer decides markdown or return |
| Sales spike | Daily sales over 3x the 8-week average | Buyer checks cause before reordering |
| Stocktake variance | Count differs from system by over 5% of category value | Manager investigates |
| Overdue purchase order | Expected date passed with nothing received | Buyer chases supplier |
| Price mismatch | Shopify price differs from POS or Cin7 price list | Merchandiser corrects the source |
How the workflow runs
- Inputs
- Nightly snapshots of on-hand stock by location, sales lines, open purchase orders and receipts, transfers, price lists, the promotions calendar, and stocktake results.
- Systems
- Cin7 Core or Omni as the stock master, Shopify and the POS for sales and prices, a small database holding snapshots, and a model API for grouping and explanation.
- Steps
- Pull data with bulk or paged API calls; store a snapshot; run the rule set; deduplicate; group related flags (one late PO causing six stockouts becomes one action); attach evidence; have the model write a summary and rank by priority; email each store its own list.
- Human review
- Buyers and store managers act on their lists. The operations manager reviews rule thresholds monthly and reads a sample of explanations against the underlying data.
- Outputs
- A ranked list per store and per buyer, each item with the evidence rows, a plain explanation and a suggested next step.
- Measures
- Exceptions closed within two days, repeat exceptions on the same SKU, time managers spend on the list, and stockout days on promoted lines.
- Risks
- Timing false alarms, unit-of-measure errors, invented causes, alert fatigue, and API limits breaking the nightly run.
The NZ rule that sets the priority order
Section 19 of the Fair Trading Act 1986 prohibits advertising goods at a specified price unless you have reasonable grounds to believe you can supply them at that price for a reasonable period and in reasonable quantities. A sale item that runs out on day two while the ad keeps running is the exception with legal weight, so the report ranks low cover on promoted lines above everything else and names the campaign the line appears in.
Illustrative example: a three-store Waikato garden centre
Illustrative example, synthetic numbers: 9,000 active SKUs across three stores and a Shopify site, with Cin7 Omni as the stock master. During spring the rule set raises about 250 raw flags a night. Grouping cuts them to about 40 actions. Assumptions: the operations manager used to spend 90 minutes each morning filtering exports; reading the ranked list and assigning actions takes 20 minutes.
- Time: about 70 minutes saved each weekday, roughly 25 hours a month.
- Model fees: 40 groups at about 3,000 input and 500 output tokens each, on Gemini 3.5 Flash-Lite at US$0.30 per million input tokens and US$2.50 per million output tokens (Google, as listed on 19 October 2026), is about US$0.09 a night.
- API budget: Cin7 Omni allows 3 calls a second, 60 a minute and 5,000 a day, and the Cin7 Core API allows 60 a minute. Fetching 9,000 SKUs one at a time would blow the daily cap, so the pull uses paged list endpoints and changes since the last run.
What stays with a person
Every reorder, transfer, markdown, write-off and stock adjustment is a human decision entered in Cin7 by a person with the right permission. The model’s access is read-only. Shrinkage investigations, supplier conversations and decisions to pull an advertisement also stay with staff.
Where exception reporting goes wrong
- Timing noise. Stock in transit between stores looks like a loss at one site and a gain at another. Hold transfer-related flags for one cycle before reporting.
- Units of measure. A supplier invoices by the carton of 12 while the POS sells each. Check pack sizes before the model explains anything.
- Plausible but false causes. Models fill gaps with confident stories. Require every explanation to cite rows from the evidence, and reject any that cites none.
- Alert fatigue. If the list exceeds what people can clear, they stop reading it. Tune thresholds until the daily list fits in 20 minutes.
- Silent failure. A broken nightly pull produces an empty, reassuring report. Send a run summary with row counts every day.
If you already use Cin7, check its AI features, including ForesightAI forecasting, before building. Our Cin7 and Shopify integration guides cover data access, and AI reporting is the service that builds reports like this one. Good product records from catalogue enrichment reduce price mismatches at the source. See the retail overview for the full set.
Sources
- Fair Trading Act 1986, New Zealand Legislation, accessed 19 October 2026
- Cin7 Omni API, Cin7, accessed 19 October 2026
- Cin7 Core API v2, Cin7, accessed 19 October 2026
- Cin7 AI features, Cin7, accessed 19 October 2026
- Gemini API pricing, Google, updated 16 October 2026
Written by the Levy Street team in Wellington. Last updated 19 October 2026.