Catch subscription creep before it hits your card
One box lists every subscription, its real price, and its renewal date — and warns you before a trial converts or a price jumps
Paste it into your AI assistant — ChatGPT, Claude, Gemini, whichever you use. It first asks what tools you already have, then rebuilds this blueprint to fit them.
- Twelve months of card and bank statements, to find the subscriptions you have already forgotten
- Every subscription typed in once with its real price and renewal date — nothing is discovered automatically
- A notification route that reaches you: SMTP through your own mailbox, or a phone push service
- A machine that stays on, so the daily renewal check actually runs
Version history
One private list of every recurring charge your business or household carries — with a nudge before a free trial converts, a price jumps, or a renewal you forgot about hits the card again.
The architecture
the same flow as text
[ "your trial ends" / "price update" emails in your inbox ]
▼▼
[ Wallos (self-hosted, one Docker container) ]
├─ every subscription: price, currency, category, renewal date
├─ cron jobs check daily: upcoming charges, cancellations due
└─ optional: local Ollama scans for overlap ("3 note-taking tools")
▼
[ Telegram / Discord / email / pushover / gotify / webhook ]
Renewal in 7 days, a price changed, or a trial is about to convert. You decide — keep, renegotiate, or cancel — before the card is charged, not after.
One small container holds the truth: every subscription your business or household carries, with its real price and the date it actually renews. Cron jobs — not a person checking a spreadsheet — do the daily watching and push a message to whichever channel you actually read. The one-time work is the manual pass through statements and inbox; everything after that is Wallos remembering so you don't have to.
Paste it into your AI assistant — ChatGPT, Claude, Gemini, whichever you use. It first asks what tools you already have, then rebuilds this blueprint to fit them.
The problem
Subscriptions are designed to be forgotten. A free trial converts to paid on day 15. A tool nobody on the team opens anymore renews every January at a price nobody checked. A vendor quietly raises the monthly fee by a few euros — small enough that it never triggers a conversation, frequent enough that it adds up. Add a personal Netflix, a business Notion seat, a client's Canva plan, a domain renewal, and a dozen SaaS trials that "we'll cancel before it charges" — and by the time the annual card statement lands, nobody can say with confidence what's actually still needed. The commercial fix, Rocket Money, links to your bank account, charges a monthly fee, and takes 35-60% of whatever it saves you in the first year if it negotiates a bill down — a real cut of your own money, for doing something a plain list could do for free.
Tool choices — and why
Setup outline
1. Deploy Wallos via the official Docker image or docker-compose file, with the db and logos folders mounted to a persistent volume.
2. Add the cron jobs listed in the project's own documentation — next-payment updates, exchange-rate refresh, cancellation notifications, standard notifications, update checks, yearly-cost totals, and the AI recommendation pass. These seven lines are what turn a static list into something that actually watches.
3. Do the one manual pass that makes the whole thing honest: pull the last 12 months of card and bank statements, search your inbox for "your subscription", "your trial", "price update" and "renewal", and enter every hit with its real price and next renewal date — not what you think you pay, what the statement says.
4. Pick one notification channel in Settings and turn the rest off. If you already run a Telegram bot for another blueprint in this library, point Wallos at the same bot — one place to check, not five.
5. If you run a local Ollama instance, point the AI Recommendations feature at it instead of a cloud key — it flags overlapping tools and stale trials without any of your subscription data leaving your network.
6. Set a recurring 15-minute quarterly calendar block: open the "next 90 days" view and actually decide keep, renegotiate, or cancel for anything on it — the reminder only works if someone reads it.
Pitfalls — the real ones
Verified repos
Wallos — GPL-3.0, 7.9k stars, active (latest release v4.8.4, April 2026)
Get the next blueprint as it publishes — free, practical, verified tooling only.
Subscribe · Want this audited or extended for your business? DM @RXed_EU
What this costs to run
Priced as Extract fields from a document — one OCR'd page; output is a JSON record of 8-20 fields. one run per billing email or statement line. Adjust the volume to yours; the bill is a range because the assumptions are ranges.
| Model | $/day | $/month | Reasoning |
|---|
Cheapest eight shown — straight per-token
arithmetic on list prices: no caching, no batch discount, thinking tokens bill as output.
All models + every assumption in the full explorer →
Capability & cost data: Artificial Analysis