Here's something that seems like it should be simple: you move £500 from your savings account to your current account. Your total money hasn't changed. Nothing has been spent. Nothing has been earned. Money just moved from one pocket to another.
But your bank records two transactions — a debit from savings and a credit to current. And if you're trying to get a clear picture of your finances, those two entries create a problem that's surprisingly difficult to solve.
The numbers stop making sense
If those two transactions are treated at face value, your spending is £500 too high and your income is £500 too high. Now multiply that by every internal transfer you make in a month — to your joint account, to savings, to pay off a credit card — and the distortion becomes significant.
For a household with joint and personal accounts, it's not uncommon for internal transfers to add up to thousands of pounds per month. If you can't tell the difference between money that left your household and money that just moved around inside it, none of your numbers mean anything.
Why it's harder than it looks
Matching transfers sounds straightforward — just find pairs of transactions with the same amount, right? In practice, it's much trickier. Amounts don't always match exactly because of fees or rounding. Dates can differ by a day or two because of processing delays. Descriptions are often cryptic — "FPO" or a reference number rather than anything useful.
And when transfers involve accounts at different banks, there's no shared identifier at all. You're matching purely on timing, amount, and context.
How Keep handles it
We built a transfer detection system that looks at amounts, timing, account relationships, and transaction patterns to identify when money has moved between your own accounts. When it finds a match, it nets those transactions out — removing them from your spending and income totals so the numbers reflect reality.
The result is simple: the figures you see actually mean what you think they mean. Your spending is genuinely what left your household. Your income is genuinely what arrived.
Showing our working
Keep doesn't silently match transfers and hope for the best. Every match has a confidence score that explains why Keep thinks these two transactions are the same movement of money. You can see the reasoning, confirm it, adjust it, or override it.
This matters because trust in a finance tool comes from understanding how it reaches its conclusions. If you can see why Keep linked two transactions, you can trust the result. And if it gets something wrong — which it sometimes will — you can fix it in seconds.
Learning your patterns
Most household transfers are predictable. You transfer the same amount to the joint account every month. The mortgage comes out on the same day. Your savings contribution is the same each payday.
Keep lets you create rules for these recurring patterns. Once set, future transfers are matched automatically with no manual review needed. The system learns from your household's specific rhythms, getting more accurate over time.
Why we care so much about this
Transfers might seem like a technical detail, but they're foundational. If your transfer detection is wrong, everything built on top of it is wrong — spending totals, income figures, patterns, trends, insights. Getting transfers right isn't a feature. It's the foundation that makes every other feature trustworthy.
It's the invisible work that makes everything else visible.