Lunch at the same café, paid by card, on three different accounts.
The first bank files it as Restaurants. The second calls it Entertainment. The third does not categorise card payments at all, so it arrives as Card payment and nothing else.
None of them is wrong. They were never trying to agree.
That is fine while you only have one account. The moment you have three, your eating-out total is not slightly off — it is unknowable, and nothing on screen tells you so. You are adding up three vocabularies as though they were one.
Every bank has its own opinion
A bank's categories exist for the bank. They are tuned to its own product analytics, its own merchant relationships, its own idea of what a customer looks like. They were never designed to be reconciled with another institution's, because no institution has ever needed to do that.
Two consequences follow, and both are structural rather than accidental.
The taxonomy stops at that bank's accounts. It cannot see the card you keep elsewhere, the crypto exchange, the brokerage — so it can never produce a total that means anything about your money as a whole, only about the part of it that happens to sit there.
And the taxonomy is not yours to keep. It lives in that bank's app. Close the account and the labels go with it; the history survives as amounts and dates with the meaning stripped out.
A mapping is one stored line
The fix is unglamorous. A mapping is a stored line between what the institution called a row and what you call it. Entertainment at that bank means Personal → Eating out in your books. Made once, kept against that institution, applied to every import afterwards.
That is the whole mechanism, and its value is entirely in the second half of the sentence. The first time you see a merchant you make a decision. The second time, and every time after, nobody asks you anything. An importer that does not accumulate your decisions costs the same amount of work every month forever, which is precisely the point at which people stop.
Merchant category codes do the boring majority automatically — the four-digit number the payment networks attach to card transactions, which is stable in a way merchant text never is. But an automatic guess is labelled as a guess and shown to you in its own pile, and it never overwrites a decision you made yourself. Your answer always wins.
Personal and business, on the same card
Categories here are settings, not code. Rename them, add your own, hide the ones you never use, split them the way your accounts actually need to be split.
Two expense trees ship by default — Personal and Work — and that single line at the top of the tree is what turns a spending chart into a profit-and-loss view. Below it, the sub-categories are yours to invent. Pet care and client entertainment are not in anybody's standard list, which is exactly why you should be able to add them.
The important case is the boring one: most people run personal and business spending through the same physical card. The bank sees one card and one stream. The mapping decides, row by row, which side of the line each purchase falls on — so the pet groomer and the contractor stop appearing in the same total.
The split has to be structural, not a tag
A "business" label bolted onto a category set that was designed for households will hold for about a quarter. Making it the top level of the tree means every category underneath inherits an answer, and there is no row that can quietly avoid the question.
A category does not say who
The part that has no equivalent at a bank at all.
A mapping carries more than a category. It can attach the person, the company or the project behind the row — so the same import that decides what kind of expense something was also decides who it involved.
Pay a car-painting service by card and it becomes an expense and the company that did the work. Tip a waiter or a barber and it becomes Eating out or Beauty and the person who received it. A card number already saved against somebody fills the counterparty in on its own, without being asked twice.
Your bank has a merchant string and a card number. There is no field for who, because a bank has no concept of your suppliers, your clients or your household. However good its categories become, it cannot tell you what one person or one company cost you this year, and it cannot tell you whether a project made money.
A bank categorises your spending for its own purposes and lends you the result. The categories were never yours, and they were never portable.
Why every consolidation attempt starts here
What a bank cannot do
Not an oversight it could fix in the next release — a consequence of what a bank is.
| Your bank | A mapping layer | |
|---|---|---|
| Owns the categories | The bank does | You do — rename, add, split |
| Scope | Its own accounts only | Every institution, one set |
| Personal vs business | Not a distinction it makes | Drawn at the top of the tree |
| Who the money went to | A merchant string | Person, company or project |
| Your corrections | Live inside that bank | Saved once, reused everywhere |
| If you leave | The meaning leaves with you | The mapping is yours |
One lunch, three banks, three answers, and none of them yours. Everything else follows from fixing that.
See your own number instead of reading about someone else’s.
Import a statement, add your accounts, and get a real net-worth figure in an evening. Six months free, no card required.
Start free