The adjustment lines nobody explains
Almost every line in a settlement report carries a type code a parser can map in one line of configuration. The rest carry a sentence instead: a reserve adjustment, a terminal rental, a correction to an earlier fee. There are not many of them, and they are why reconciliations get abandoned.
Key takeaways
- Type codes first, remembered wording second, the model third, a person last.
- The model chooses from a closed list of eleven types, or returns null.
- A model’s answer is used at once, but only remembered after a person confirms it.
- PDF-only statements are read by the model and must sum to their own printed total.
- VAT treatment is copied from the provider’s invoice line, never inferred.
Four ways a line gets its type
- App integration
- Machine learning
- Management
- Analytics
- People
What the unknown lines look like
They are dull, and that is the problem. Reserve adjustment. Terminal rental Aug. Dispute fee. Fee correction for period. Advertising services. Each is an amount with a sentence where a type code should be, and each belongs somewhere different: a movement between two assets, an overhead, a dispute cost, a reduction of an earlier fee, a marketing expense.
A bookkeeper facing forty of these at month end does what anybody would and posts them all to suspense or to bank charges. The first loses them. The second overstates fees, understates marketing, and if one of them was a reserve release, books an asset coming home as a negative cost.
The closed list
The model is not asked what the line is. It is asked which of eleven types it is: sale, refund, dispute, dispute reversal, processing fee, other charge, reserve held, reserve released, payout, correction or marketing, with null available and encouraged. A free description from a model is one more sentence nobody can post; a type from a closed list is a posting rule.
Its answer is used straight away, so the month is not held up, but the line is flagged and the wording is not remembered until a person has confirmed the type. That asymmetry is deliberate. A remembered answer is applied silently to every future line with the same wording, and a silent rule should only ever come from a person.
Null is the answer the design wants whenever the text is genuinely ambiguous. Adjustment on its own could be a correction, a reserve movement or a goodwill credit, and a model that picks the likeliest of the three is right often enough to be trusted and wrong often enough to matter. A person decides instead, and can mark a wording as one never to remember, so a bare Adjustment comes back to a person every time it appears.
A year of lines, by how they were typed
- Machine learning
- Management
- Analytics
- People
Statements that only come as PDFs
One provider in four sends its monthly charges as a PDF invoice rather than as lines in a report: terminal rental, a compliance fee, the occasional hardware charge. There is no export to parse, so this is the other thing the model reads. It returns each charge with its description and amount, and code checks that those amounts sum to the invoice’s own printed total before a single line is accepted.
Amounts read from a PDF are the only figures in the system that come out of a model, which is why they carry a check the parsed reports do not need. A decimal point read in the wrong place does not survive a sum that has to match.
VAT is copied, not decided
The charges on a provider’s statement do not all carry the same VAT treatment, the VAT treatment of payment-related services has been argued in the courts more than once, and HMRC revised its guidance on payment handling as recently as late 2025. That is not a question a classifier should be answering. The system copies the treatment and the VAT amount the provider’s invoice shows against each charge, stores them beside the line, and leaves the judgement to whoever prepares the return.
What is not in doubt is the other side. Output VAT on a sale is worked out on what the customer paid, not on what the provider passed on, which is one more reason a payout cannot be the sale.
The next post is where the money reaches the bank: matching deposits to payouts, and closing a month on the date things were sold.
All posts