A card fee auditor on AWS for a few dollars a month
The merchant services bill is about nine hundred pounds a month. It arrives as a fourteen-page PDF with roughly forty distinct fee types on it. It is coded to one nominal ledger line and approved by somebody who has never read past page two. Nobody in the business can tell you what percentage of turnover it represents.

Key takeaways
- The effective rate is total fees over total turnover. Compute it, never quote it.
- Interchange is not negotiable. The acquirer margin is. Separate them.
- Downgrades have causes, and most causes are fixable at the terminal.
- A blended quote hides which transactions are expensive. IC++ shows you.
- Designed on AWS for about $2 a month.
The whole system on one page
Before any code, here is the shape of what we are designing.
- Compute
- Security & identity
- Analytics
Why nobody notices
A card fee is never large enough to query on its own. Eleven pence on a nine pound sale is beneath anybody’s threshold for an argument, and the aggregate of those elevenpences is the second or third largest controllable cost in a lot of retail businesses.
The statement is also genuinely hard to read, and not by accident. Fees appear as abbreviations, some are per transaction and some are percentages, some are charged monthly and some annually, and the total at the bottom reconciles to the bank without explaining itself. Reading it takes an afternoon, so it happens once, at the point of switching, and then never again.
What runs (the inside)
- Fees, itemised. The statement broken into individual fees, each with what it was charged on. Part 2.
- Rate per sale. Fees joined to the transactions that caused them, which is what makes an average meaningful. Part 3.
- The three answers. The effective rate, the part of it your provider controls, and the transactions that cost more than they should. Parts 4 and 5.
One month, one account
- Compute
- Management
- Analytics
In plain words
The contract is read once into a quoted rate and, crucially, a description of what that rate applies to. Almost every quote in this industry is a floor rather than an average: it is the price of a UK consumer debit card, inserted into a terminal, with the cardholder present. Every departure from that costs more.
Each month the statement is read into individual fees. There are usually between thirty and fifty, and each one is tagged with what it was charged on — a count of transactions, a percentage of value, or a flat monthly amount — and with which of three categories it belongs to.
Those three categories are the whole point. Interchange goes to the bank that issued the customer’s card and is set by Visa and Mastercard; it is identical whoever processes your payments. Scheme fees go to Visa and Mastercard themselves. The acquirer margin is what your provider keeps, and it is the only part anybody can negotiate.
Then the transaction export is joined to the fees, which turns a monthly average into a cost per sale, and makes it possible to say that the eleven percent of transactions taken over the phone are carrying twenty-six percent of the fees.
Design rules that shaped every decision
- The effective rate is computed from totals, never quoted from a contract.
- Interchange, scheme fees and acquirer margin are separated before anything is compared.
- Authorisation fees on declined transactions count. They are real and they are invisible.
- The card number is dropped at ingest. Card type and entry mode are what matter.
- A fee the system cannot categorise is a question for a human, not a guess.
- No rate is reported on a partial month.
What it does not do
It does not switch your provider, it does not talk to your acquirer, and it does not touch the payment flow — there is nothing in this system that could decline a sale. It reads two files and one contract and produces three numbers.
It also does not tell you that your provider is overcharging you. Quite often they are not, and the gap between the quoted rate and the effective rate is almost entirely interchange on a card mix nobody chose. Knowing that is worth as much as finding an overcharge, and it stops you switching to an identical deal.
The next four posts walk through each piece: how a statement becomes forty itemised fees, how the effective rate is actually computed, why some transactions cost four times what others do, and how to compare two providers without being lied to. One diagram per post, a cost breakdown, and an engineering reference at the end.
All posts