The expiry tracker: licenses, policies and warranties that remind themselves
One box that watches every renewal date and pings you weeks before it lapses — not a $49-499/month SaaS
Version history
A single record of every license, policy, warranty and renewal you own, plus an engine that emails you weeks before any of them lapse. Built on two free, self-hosted tools instead of the $49–499/month "expiration reminder" SaaS.
The problem
Every small business collects a pile of dates that matter more than they look: the trade license, the professional indemnity policy, the fire-safety certificate, the domain name, the SSL certificate, the software license, the van's roadworthiness test. None of these live in one place. Most live in an inbox, a drawer, or nowhere, and they only resurface the week they lapse — or the week after, when a claim is refused because cover expired in March, or the domain has dropped into a redemption auction, or a supplier contract quietly auto-renews at a price nobody re-checked. Software exists to fix exactly this: Expiration Reminder prices its plans from $49 to $499 a month depending on how many items you track (Capterra, 2026); Remindax adds WhatsApp alerts on top and caps its free tier at a handful of items. Both are solving a genuinely small problem — a list and an alarm clock — with a genuinely recurring bill.
The architecture
└─────────────────────┴──────────────────┴──────────────────┘
▼ one entry each, renewal date + PDF attached
[ Homebox (self-hosted) — the record ]
│ issue date, warranty/expiry date, attached document, custom fields, tags
▼ checked every morning, 07:00
[ n8n (self-hosted) — the reminder engine ]
├─ 90 days out → quiet heads-up email
├─ 30 days out → reminder with the renewal link or contact
└─ 7 days out → urgent ping to Telegram or SMS
▼
[ You renew it, log the new date back in Homebox ] — the countdown resets itself
The split is the same one used across this library: the record owns the truth, n8n owns the clock. Homebox was not built for licenses and insurance policies — it was built to catalogue physical items for a home user — but its item model already has everything this needs: a purchase/issue date, a warranty-expiration date, file attachments, custom fields and tags. Create one location called "Renewals," add one item per license, policy, domain or warranty, and the reminder engine has a real API to query.
Tool choices — and why
Homebox (AGPL-3.0, 6.2k stars, active — v0.25.0, April 2026, 2,300+ commits) is the record. It runs as a single Go binary in one Docker container, uses SQLite, and idles under 50MB of memory — there is no simpler self-hosted option in this library. Its built-in warranty and document tracking, plus per-item custom fields, is exactly the shape a renewal date needs: a thing, a date it expires, and a file proving it. Its documented REST API is what n8n reads.
n8n (Sustainable Use License — free self-hosted internal use, 198k stars, active 2026) is the engine — the same one already running the invoice chaser, the service-due reminders and the review-request engine elsewhere in this library, if you have built those. One schedule trigger, one HTTP Request node against Homebox's API, a filter on days-until-expiry, three branches, one write-back confirmation.
Why not Homebox's own notifications? As of this write-up (v0.25.0) Homebox does not ship a built-in reminder or alert engine — it is a record, not an alarm clock. n8n is the missing alarm clock, and it is one you likely already run.
Why not a spreadsheet with a "days left" column? A spreadsheet turns red once you open it. This library's whole premise is that a date you have to remember to check is a date that slips. This one emails you first.
Monthly cost. Software: €0 for both tools. Hosting: €0 if this joins the box already running other blueprints from this library; €5–6/month for a small VPS if this is the first one you deploy. SMS is optional and pay-per-message; email and Telegram do the job for free.
Setup outline
1. Deploy Homebox (official Docker image, one container, SQLite — no separate database to run). Create one location called "Renewals."
2. Do the import pass: pull every license, insurance policy, domain, SSL certificate and equipment warranty you can find from invoices, the inbox, and memory. This is the real work of the afternoon — the same rule as every list-based blueprint in this library: the record is the asset, the workflow is the easy part.
3. For each item: set the warranty-expiration field to the actual renewal date, attach the PDF or a photo of the document, tag it (license, insurance, domain, warranty) so the n8n filter can target categories differently later.
4. Build the n8n workflow: schedule trigger, 07:00 daily → HTTP Request to Homebox's items endpoint → filter for anything expiring within 90, 30 or 7 days → three branches (email, email, Telegram or SMS for the 7-day urgent case).
5. Add a "renewed" habit, not just a workflow step: the same afternoon you renew something, update the date in Homebox before you forget. That single habit is what keeps the countdown honest.
6. Test with one item set to expire tomorrow before switching the workflow on for your real records.
Pitfalls — the real ones
Homebox is the index, not the vault. Its attachment storage is fine for quick reference, but the original documents still belong in your normal backup rotation — this library's 3-2-1 backup blueprint already covers that, and it is not optional for anything insurance-related.
A wrong renewal date beats no automation. Intervals vary wildly — a domain renews yearly (or every 1-10 years if pre-paid), an equipment warranty might be 2 or 10 years, a professional certification might be 1 or 3. Import each with its real interval, never a guessed default.
Insurance grace periods are not universal. Some policies lapse same-day on non-renewal, some carry a short grace window, some do not. Check the actual policy wording once — do not assume a buffer exists that isn't written down.
Keep one list. If a parallel spreadsheet survives "just in case," the automation quietly becomes decoration. Retire the old list the day this goes live.
Don't track what already renews itself. Many SSL certificates auto-renew every 90 days via Let's Encrypt with zero action needed — track only the domains and certs that don't, or the reminder list fills with noise nobody reads.
Verified repos
Homebox — AGPL-3.0, 6.2k stars, active (v0.25.0, April 2026)
n8n — Sustainable Use License (free self-hosted internal use), 198k stars, active (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.