Founder insights
How Seapoint Uses AI to Categorise Your Bank Transactions
How Seapoint turns cryptic bank descriptors into clean, categorised transactions — deterministic rules, AI agents, human review, and the accuracy number we actually measure.
Manu Mahajan
Head of Engineering

Seapoint automatically categorises every transaction across your connected bank accounts. Deterministic rules handle the vendors we're certain about. AI agents built on frontier models work out the rest. LLM judges and our own reviewers check the work, and so do you — every time you correct something.
Every founder who's ever opened their bank feed knows the feeling. A month of spending, and half of it reads like a licence plate: Amznmktplace. GOCARDLESS SEPA DD. P0302US 10.80@0.84907. You know roughly what you spent, but making sense of it takes real work from your team and your accountant. It's scattered across tools, and by the time the numbers arrive at the end of a quarter, or a tax window, they're already weeks stale.
Staying on top of cash flow is one of the least glamorous, time-consuming, and sometimes anxiety-inducing jobs in running a company. We treated it as an engineering problem. Here's how it works, and why it gets meaningfully better with every account you connect and every correction you make.
Why bank transaction data is so messy
Bank transaction data is inconsistent by default. These are real examples from our production data:
ANTHROPIC* CLAUDE SUB·Claude.ai Subscription·Anthropic Ireland— all Anthropic. One AI subscription, two brand names, different spellings depending on the bank and card it came through.Paddle.net* Cleanshotx·Paddle.net* N8n Cloud1— software subscriptions hiding behind their payment platform, truncated mid-word.GOCARDLESS SEPA DD— not GoCardless. That's the payment provider; the actual merchant is buried in a reference field, or missing entirely.To HMRC Cumbernauld·Hmrc Sdds·Hmrc Etmp— all the tax office. VAT, payroll taxes and corporation tax, behind one counterparty with many names.Sq *coffeeangel·Tst-3fe - Grand Canal— coffee. Square and Toast stamp their own prefixes on every card payment they process.P0302US 10.80@0.84907— a foreign-currency card payment where the bank sent us… an exchange rate.
We turn every one of those strings into something a founder recognises before it powers any reporting worth trusting.
How Seapoint categorises a transaction: rules, AI agents and people
The traditional approach is to hand-write a parser for every bank — narrow, brittle, and high maintenance. We reimagined it with AI and kept humans in for the calls that need judgement. A high-level view:

It starts with unification. Your transactions arrive from everywhere: every bank account you connect through open banking, card spend, and payments you make in Seapoint itself. Alongside them come the explainers — your accounting history from Xero, revenue from Stripe, and invoices from your email inbox. All of it becomes one stream, with transfers between your own accounts recognised as transfers, not double-counted as spend.
Deterministic rules developed on real data. A curated registry of known vendor names, aliases, categories and logos matches transactions. The same layer knows the payment providers: GOCARDLESS or Square on a statement line isn't the merchant, it's the pipe the payment came through. And it knows the taxman: HMRC is one counterparty but many taxes, so reference patterns decide VAT versus payroll versus corporation tax. When a rule can make the call with near-certainty, we don't ask a model. And the rule set grows: when the data shows a pattern consistently enough, we promote it into a rule.
For everything the rules can't claim, a team of specialised AI agents takes over. Built on frontier models, one agent names the vendor by reading every signal on the transaction (the raw descriptor, amount, merchant metadata, card category codes, references, currency, which account it happened in) along with how vendors have been classified before, so new transactions land consistently with your existing books. Another picks the reporting category. Others fetch logos, find the vendor's website and crawl it to sharpen the vendor and reporting data further.
Then everything gets reviewed across three layers. LLM judges re-score the AI's calls and flag the doubtful ones. Our own reviewers verify the ledger, prioritised by money at stake rather than row count. And when we don't get it right, you have full control to correct it and those corrections feed straight back into the pipeline.
Finally, every verified label and correction becomes ground truth. Any change to the system has to beat the current pipeline against that ground truth before it ships, which makes the system more accurate over time.
The people behind the AI
AI gets the headlines, but part of what you get with Seapoint is people's judgement — and it reaches the system from three directions. Our own team reviews the ledger continuously, working through vendors in order of money at stake; the tooling deliberately serves up the AI's coin-flips, the calls it was least sure about, because that's where a human verdict teaches the system most. Your corrections in Seapoint carry the same weight: every vendor you rename and every category you move becomes a signal the pipeline learns from, and eventually improves the quality of enrichment results. Where Xero is connected, your accountant's reconciliations add a third layer of professionally verified labels for how things should be filed.
Let's be clear about what our team reviews, because in a financial product trust matters more than anything: a small internal team sees the statement descriptor, the vendor, the category, and sometimes the amount. Every review is logged and attributed to the named person who made it, and what they're judging is the label — "is this Amazon?", "is this software spend?". And if you correct something yourself in Seapoint, we treat that as the final word.
Founder categories, not just tax categories
There's a difference between categorising for a tax return and categorising so a founder can actually run their business. We do both, but lead with the second.
Alongside the accounting categories your accountant needs, we sort spending the way a founder thinks about it: operating costs versus revenue, one-off versus recurring. So you can look at your own accounts and immediately see where the money is going and what's committed every month, without translating tax codes in your head.
Take two lines that look nearly identical on a bank statement: Amzn Mktp Uk and AWS EMEA. Both are Amazon, and on a tax return both are just expenses. But one is office supplies, operating expense, one-off, and the other is the infrastructure, cost of goods sold, recurring. Seapoint files them that way automatically, so when your hosting bill creeps up you see it where it actually hurts — in your margin — and next month's committed spend is already counted.
How we choose the AI model
We're not tied to a single AI provider, by design. The categorisation logic sits outside the model, so we can swap the underlying model for whichever one does the job best.
To decide that, we run every candidate against ground-truth data we labelled ourselves. Every eval run is pinned to the exact code, prompt and dataset that produced it, so results stay comparable. Our headline metric is money-weighted: the percentage of pounds or euros correctly categorised, not the percentage of rows — because getting a £50,000 invoice right matters more than a coffee. Right now, transaction enrichment runs on Google's Gemini: it came out ahead on our evals for this particular job. That's not a permanent commitment and we periodically re-evaluate.
How accurate is it — and what happens when it's wrong?
Automated categorisation isn't perfect; this is a hard problem. Some bank descriptors carry almost no signal (remember the exchange rate?), and some calls are genuine judgement calls that need business context. Measured against every transaction a human has verified, Seapoint's AI pipeline currently gets 83% of the vendor names and 73% of reporting categories correct. Your own number will differ as it depends heavily on how good your bank's data is.
What matters is what happens when it's wrong. Fixing it takes seconds — rename the vendor, move the category — reports update immediately, and your correction is recorded as feedback to the AI pipeline. We're making that even easier, so you can help us navigate the hard cases. The feature shown below is a preview of what's upcoming, but you can edit individual transactions today.

Meanwhile the automated side keeps improving underneath you: the rules keep growing, the agents keep getting better, and the share of transactions that never need your attention keeps climbing. The goal isn't "AI that's mostly right." It's books that effectively categorise themselves in the background, so you and your accountant spend your time on the judgement calls, not the data entry.
What building this taught us: three questions to ask any AI tool
The real lesson here isn't about transactions. With today's models, it's easy to build something that looks impressive on first impression — a good prompt gets you a demo in a day. But the devil is in the details: the edge cases, the long tail, the transaction that arrives as an exchange rate. Getting from a good demo to a system you can trust is engineering, and there's no shortcut. You measure performance against ground truth, you experiment relentlessly, and you put humans on the judgement calls a model can't make alone. That's the unglamorous part of AI. It's also the part that makes it work.
So if you're weighing up tools that categorise transactions, three questions cut through the "AI-powered" noise:
- Does it learn from your history, or is it generic?
- How is its accuracy measured — and will they tell you the number?
- Who checks the AI's work — and can you overrule it?
See it on your own accounts. Connect a bank account to Seapoint and watch months of transactions categorise themselves in minutes.
