Bank statements &
recurring subscriptions.
Upload a statement as CSV or PDF and scan-ai parses every transaction — then clusters the repeating charges so your bank statement subscriptions finally stop hiding in the noise.
No credit card required · Cancel anytime
From a raw export to something you can act on.
A statement is just a wall of rows until something reads it. scan-ai parses every transaction, finds the charges that repeat, and lines them up against the receipts you’ve already scanned.
Parse the whole statement
Drop in a CSV or PDF from your bank or card. scan-ai reads each transaction — date, description, amount, debit or credit direction, plus the running balance and currency when the statement includes them — so the raw export becomes structured rows.
Surface recurring subscriptions
It clusters repeating charges into subscriptions: the merchant, how often it bills, the average amount, when it was first and last seen, an estimated monthly cost, and a cancel link for merchants we recognize. Mark each one active, ignored, or cancelled.
Reconcile against receipts
Line statement transactions up with the receipts you already scanned. Each one reads as unmatched, auto-linked, you-linked, or ignored — you confirm the links, and the two ledgers stay separate.
Find the bank statement subscriptions you forgot about.
Subscriptions don’t announce themselves — they’re a $14.99 line that shows up every month between the groceries and the gas. scan-ai clusters those repeating charges by merchant and tells you how often each one bills, the average amount, and an estimated monthly cost.
Each subscription shows when it was first and last seen, so a charge that quietly resumed is easy to spot. Keep the ones you use, ignore the noise, and mark the rest cancelled — with a cancel link for the merchants we recognize.
- Weekly, monthly, or annual cadence detected per merchant
- Average amount and estimated monthly cost
- First-seen and last-seen dates for each charge
- Mark active, ignored, or cancelled — with cancel links for recognized merchants
Match transactions to receipts — on your terms.
Your statement says you spent $487.22; you scanned a receipt for roughly that. scan-ai lines the two up so you can see which transactions already have a receipt and which don’t. Every row reads as unmatched, auto-linked, you-linked, or ignored.
Matching is something you confirm, not something that happens behind your back — you approve the links. And the two ledgers stay separate: the statement stays a statement, your receipts stay receipts, nothing gets merged into a mush you can’t untangle later.
- Four clear states: unmatched, auto-linked, you-linked, ignored
- You confirm every link — nothing is forced together
- Statements and receipts stay separate, never merged
- Spot transactions still missing a receipt at a glance
Part of the same pipeline.
Bring receipts and statements in by CSV or PDF — scan-ai parses each file into structured rows.
Set rules once and let new transactions and receipts route themselves the way you'd do it by hand.
Turn parsed transactions and receipts into categorized reports you can export when you need them.
Statements, plainly.
Does scan-ai connect to my bank?
No. scan-ai never links to your bank or asks for credentials. You upload a statement you already have, as a CSV or PDF export from your bank or card, and it parses that file. Nothing is pulled from your account automatically.
How does scan-ai find recurring subscriptions in a statement?
It clusters repeating charges by merchant and reads them as subscriptions. Each one shows how often it bills (weekly, monthly, or annual), the average amount, the first-seen and last-seen dates, and an estimated monthly cost. You mark each subscription active, ignored, or cancelled.
Can scan-ai cancel a subscription for me?
No. scan-ai cannot cancel anything on your behalf. For a few dozen recognized merchants it shows a direct cancel link to that merchant's own cancellation page, so you can finish the cancellation yourself. For merchants it does not recognize, there is no link and you cancel the usual way.
What does scan-ai read from each transaction?
Every parsed transaction gets a date, a description, an amount, a debit or credit direction, and a currency. The running balance is captured when the statement includes it, but it is optional. You can then reconcile transactions against scanned receipts, where each row reads as unmatched, auto-linked, you-linked, or ignored.