The low-stock alarm: know what to reorder before the shelf tells you
A weekly digest of exactly what's running low — not a $50-150/month inventory SaaS with a login for every till
- Someone who actually logs stock in and out — a scan, a tally, or an honest end-of-day count; the tool is only as accurate as that habit
- A machine that stays on for both containers — a mini PC, NAS or small VPS, not a laptop that sleeps
- A domain or subdomain with HTTPS if staff will reach Grocy from their phones on the shop floor
- 5-10 minutes per product to set an honest minimum stock level — guessed minimums produce a noisy, ignored digest
Version history
A weekly list of exactly what's running low, built from a stock number you already have — not a €50-150/month inventory SaaS with a login for every till.
The problem
Most small shops find out they're out of something at the worst possible moment: a customer asks for it, or a baker reaches for flour that isn't there. The fallback is a manual shelf walk — someone counts boxes, guesses what's low, and either forgets half of it or orders too much "to be safe." Inventory software exists to fix exactly this, and it works, but the SaaS versions charge per user, per till, or per location, every month, forever — for a job that is really just one number per product, checked on a schedule. A retail shop, bakery or garage with 150 tracked items doesn't need a full ERP. It needs one honest minimum stock level per item and one reliable message when something drops below it.
The architecture
│ staff log stock in/out: delivery received, item sold, shelf count
▼
[ Grocy's REST API — current stock vs. each product's minimum ]
▼
[ n8n (self-hosted) — the weekly stock check ]
├─ scheduled trigger: Monday 07:00 (daily for perishables)
├─ pulls current stock from Grocy's API
├─ keeps only items below their set minimum
└─ one message: email or Telegram, "12 items below minimum"
Nothing auto-orders. You read the list, you call the supplier.
One box, two containers. Grocy owns the stock truth — what you have, and what "low" means for each item. n8n owns the schedule and the message. Keeping them separate means the digest survives untouched even if you swap how staff log stock later (barcode scanner today, a POS integration next year).
Tool choices — and why
Grocy (MIT, 9.1k stars, active — last push 16/05/2026) is the stock database. It was built as "ERP beyond your fridge" for household groceries, but the stock-control core underneath — minimum amounts per product, locations, consumption logging, expiry dates, a barcode-ready web UI that works with any USB or Bluetooth scanner acting as a keyboard, no phone app required — is the same arithmetic a shop needs, just pointed at a storeroom instead of a kitchen. One Docker container, PHP + SQLite, free.
n8n (Sustainable Use License — free for internal business use, 188.9k stars, pushed 20/05/2026) is the weekly check and the message. If you already run the no-show reminder or invoice-chasing blueprints from this library, the same n8n instance carries this workflow too — one automation box, one more job.
What we skipped, on purpose. Several Grocy tutorials point you to a companion app called Barcode Buddy for scanner integration. Checked against its own repository: the last commit landed January 2025 and no release has shipped since — eighteen months stale. Grocy's own browser-based barcode scanning and its consume/add API endpoints already do what a shop needs without bolting on a second, stalled dependency. If a guide tells you to install it, check the date on that guide first.
Monthly cost. Software: €0, both tools. Hosting: one small VPS at roughly €5-12/month runs Grocy and n8n together — the same box that already runs the other self-hosted blueprints in this library, if you have one. No per-user, per-till or per-location fee, because there's nothing metering seats.
Setup outline
1. Deploy Grocy via the official Docker image behind HTTPS on your domain — stock.yourbusiness.example.
2. Add the products you want tracked, each with a minimum stock amount and, if you know it, a default supplier. Don't load 400 SKUs on day one — start with the 30-50 that actually cost you money when they run out.
3. Log today's real shelf count once, per product, as your baseline ("inventory" action in Grocy).
4. Pick your logging habit and write it on the wall: a USB barcode scanner at the till or storeroom (roughly €20-40, works as a plain keyboard), or a five-minute end-of-day tally for lower-volume items. This step decides whether the whole thing works — the digest is only as honest as this habit.
5. Generate a Grocy API key under Settings → API keys.
6. Build one n8n workflow: schedule trigger → HTTP request to Grocy's stock endpoint → filter for items below minimum → format one message → send by email or Telegram.
7. Run it two weeks against your own manual count before you trust it as the only check.
Pitfalls — the real ones
Garbage in, garbage out, literally. If nobody logs what left the shelf, Grocy's number is fiction and the digest is confidently wrong. This is the one reason self-hosted stock tools fail in real shops — enforce the logging habit from step 4 for two weeks before judging whether the tool works.
Don't track everything on day one. A shop that tries to log all 400 products from week one abandons the boring ones within a month. Start with the 30-50 items that actually hurt when they run out; add the rest once the habit sticks.
Perishables need a faster clock. Grocy tracks expiry dates as well as minimums — for a bakery or restaurant, run the digest daily, not weekly, or a spoilage warning arrives after the ingredient is already bad.
One person owns the count, or nobody does. Same failure pattern as an unassigned shared inbox — name who logs stock, or the habit is dead by week three.
A guessed minimum is a noisy minimum. Set it too high and every digest is a wall of false alarms you learn to ignore; set it at zero "just in case" and the tool never fires. Base it on how much you sell between deliveries, not a round number.
Verified repos
Grocy — MIT, 9.1k stars, active (May 2026)
n8n — Sustainable Use License (free self-hosted internal use), 188.9k stars, active (May 2026)
Get the next blueprint as it publishes — free, practical, verified tooling only.
Get this blueprint tailored to your business — free
Tell us what you run and where. We research your sector's specifics — rules, tools, customer habits — and send you a version of this blueprint rebuilt for your situation, usually within 24 hours.