← Help centre

Budgets, goals & debt

Recurring charges and subscriptions

How keel detects subscriptions, flags duplicates and helps you decide what's worth keeping.

The recurring charges screen shows all your discretionary recurring payments in one place — subscriptions, memberships, insurance policies — with their total cost, duplicate alerts, and a simple rating system to help you decide what to keep.

It answers one question: "what am I paying for every month, and is it all worth it?" The screen only shows things you could cancel if you chose to. Utilities, broadband, mobile contracts, mortgage, and car finance don't appear — they're fixed commitments, and showing your mortgage alongside Netflix would just create noise.

How it works

Detection

keel scans your transaction history for patterns: same merchant, similar amount, regular cadence. There are three confidence levels:

  • High confidence (confirmed automatically): same merchant, same amount within 2%, monthly or annual cadence, 3+ occurrences.
  • Medium confidence (confirmed automatically): same merchant, amount varying slightly (within 5%), broadly monthly — or a known subscription provider with 2+ charges.
  • Low confidence (needs your review): same merchant but irregular timing or fewer than 3 occurrences. These appear in a "Possible recurring charges" section for you to confirm or dismiss.

Detection runs automatically after every statement import — there's no button to press.

keel recognises 130+ UK subscription providers by their bank descriptions (so "AMZN PRIME" shows as Amazon Prime), which gives known providers smarter detection, a clean display name, and a type for grouping. If you have two policies with the same provider at different amounts — say pet insurance for two pets — keel splits them into separate entries (amounts more than 15% apart are treated as separate charges).

To work out how often something is charged, keel looks at the gaps between payments. A charge taken twice on the same day counts once, so a duplicate can't make a monthly charge look weekly and multiply its yearly cost. And one odd gap won't flip the verdict — keel uses a typical gap rather than a raw average, and only calls something weekly when the timing genuinely backs it up. The result is that a charge's monthly and annual figures reflect what you're actually paying, not an unlucky reading of a couple of close dates.

What's excluded

  • Utilities and telecoms (energy, water, broadband, mobile)
  • Housing costs (rent, mortgage, council tax)
  • Transport (car finance, fuel, parking)
  • Debt repayments (loan and credit card payments)
  • Supermarkets and general retail spending
  • Bank fees and transaction charges
  • Returned or failed payments (bounced direct debits)

These are either fixed commitments you can't easily cancel, or regular spending that isn't a subscription.

The screen

Hero card. Total monthly and annual cost of all confirmed recurring charges. If you're a sole trader with business subscriptions, you'll see a personal/business split.

Alerts. Three types, shown between the hero and the list:

  • Duplicate services — "You have 2 music streaming services" when two charges genuinely overlap (Spotify and Apple Music, yes; Netflix and Spotify, no — video and music aren't duplicates).
  • Price increases — "Netflix increased from X to Y in March" when an amount goes up.
  • Unconfirmed charges — a count of possible charges waiting for your review.

Grouped list. Charges grouped by type — Streaming & Media, Software & Tools, Fitness & Wellbeing, Food & Drink, Financial & Credit, Other — each showing merchant, monthly and annual cost, and its share of the total.

Detail page. Tap any charge to open its own page — a one-line summary of its rhythm (e.g. "Monthly · £14.99 · unchanged 8 months"), the costs, the account it's billed from, a value rating selector, and the last 24 occurrences with date and amount. A "Not recurring" link at the bottom dismisses it; once dismissed, the page offers a Restore option instead.

No longer active. When a subscription stops being charged, keel moves it to a "No longer active" section and stops counting it toward your total — so the headline figure reflects what you're still paying, not what you used to. A cancelled charge shows a "Looks cancelled" note on its page with the date of its last payment, and stays listed so you keep the record.

Value rating and "Worth reviewing"

Each charge can be rated Essential, Useful, or For review — one tap to set, tap again to clear. Rated charges show a coloured dot on the list.

Once you've marked charges as "For review", a "Worth reviewing" section appears with their total annual cost. keel doesn't recommend cancelling anything — the section reflects your own declaration ("You marked these for review — £X/yr total") and leaves the decision to you. Essential services like telecoms and utilities never appear here regardless of rating.

From a transaction

Every outgoing expense in transaction detail has a "Recurring" toggle alongside the Business, One-off, and Project flags. Toggle it on to mark that merchant as a recurring charge, or off to dismiss. If the merchant is already a confirmed recurring charge, the toggle shows "Part of [name]" with a link to the recurring charges screen.

Why it works this way

You decide what's essential, not keel. Life insurance might be essential to you and worth reviewing to someone else. The rating system puts the judgement call where it belongs.

keel can't see usage. It only sees payments — not logins, streams, or deliveries. So it will never claim a subscription is "unused"; it shows you the financial facts and your own ratings.

It's called "Recurring charges", not "Subscriptions", because the Subscriptions spending category covers a different set of transactions — this screen is about payment rhythm, not content type.

Good to know

  • Failed payments don't count. Some payment processors bounce a direct debit several times before one succeeds; only successful payments count toward detection, so the amounts aren't inflated.
  • Annual billing is handled. Known annual providers (Adobe, Norton, Strava and similar) are detected with high confidence from a single charge — keel doesn't wait a year for a second one.
  • A data gap is never read as a cancellation. keel only marks a subscription "no longer active" once the account it's billed from has been imported past the point where the next payment was due — so it has actually seen the payment not happen. If an account simply hasn't been imported recently, the charge stays in your active list rather than being wrongly called cancelled.
  • Business subscriptions. On business accounts, known business tools like GitHub, Vercel, and Slack default to a business classification.
  • Figures stay current as you import. Each time you bring in new statements, keel refreshes the last-charged date and re-reads the rhythm for charges it's already tracking — so a charge never shows an out-of-date "last charged" or an old frequency.

FAQ

Why doesn't my broadband or mobile show here? Telecoms and internet are fixed commitments. They appear in your budget as fixed costs instead.

Why are there two entries for the same provider? keel detected two separate charges at different amounts — most likely two separate policies, like insurance for two pets.

Can keel cancel subscriptions for me? No. keel shows you what you're paying and helps you decide what's worth keeping. Cancellation is always your action.

What does "amount varies" mean? The charge changes slightly between payments (within 5%). That's normal for some services.

A charge's frequency or yearly cost changed after I imported more statements — why? keel re-reads the rhythm whenever you bring in new data. As more payments arrive the typical gap between them becomes clearer, so a charge can settle into its true frequency and its monthly and annual figures update to match what you're actually paying.

I cancelled a subscription but it's still showing — why? keel moves a charge to "No longer active" only once it can see the expected payments didn't happen, which means the account it's billed from needs to be imported up to (and past) when the next payment was due. Import your latest statements and the cancelled charge will drop into "No longer active" and out of your total.