Skip to content
databoat

← Free tools

Why is it out by that much?

Paste a column and the total it should hit. It tells you whether the difference is a transposition, a missing row, a sign the wrong way round, or a pair — and which rows to look at.

Takes
A pasted column of figures and a control total
Upload
None
Account
Not required
Runs
In your browser

Paste straight from a spreadsheet. Brackets, CR suffixes and trailing minus signs all read as negative.

The control total, the statement balance, the figure on the other side.


Four causes, and each leaves a fingerprint

A column that does not agree to its control total has almost always failed in one of four ways, and the difference itself tells you which. This is knowledge that gets passed between trainees and written down almost nowhere.

A difference that divides by nine is two digits swapped. Key 1,243 where 1,234 was meant and the total moves by exactly 9. Key 4,321 for 1,234 and it moves by 3,087 — still divisible by nine. Every transposition of two digits does this, without exception, which is why it is the first thing to test. The tool goes further than the divisibility check: it takes each row, generates every value reachable by swapping two of its digits, and tells you which rows could actually produce your difference.

A difference equal to one of the rows is that row. Either it is missing from the other side, or it has been counted twice on this one. Which of those it is depends on the direction, and the tool says which.

A difference equal to twice a row is a sign. A credit keyed as a debit does not move a total by its value — it moves it by double, because the figure has to travel all the way from one side of zero to the other. People look for a £240 error when the row is £120.

Otherwise it may be a pair. Two rows omitted together, or two counted twice. The tool looks for any two rows summing to the difference.

What it does with the paste

Paste straight from a spreadsheet. Tabs, commas and semicolons all separate columns, and where a line has several the rightmost thing that reads as a number is taken as the amount — which is where it sits in nearly every export.

Negatives are read the way finance writes them rather than the way programming does: (1,234.56) in brackets, 1,234.56 CR, and the trailing minus of 1234.56- that mainframe and SAP exports produce. A comma is treated as a thousands separator when it sits inside a number and as a field break when it does not, so 1,234.56 survives a paste that a general-purpose tool would tear in half.

Everything is compared in whole pence. Adding 0.1 and 0.2 in binary floating point does not give 0.3, and a tool that told you a balanced column was out by a fraction of a penny would be worse than no tool.

Lines with no number in them are skipped and counted, so a heading or a totals row pasted along with the column does not quietly become part of the answer.

What it will not do

It reports what could explain the difference, not what did. Where several rows could produce the same transposition it names all of them, because narrowing that down needs the source document and you have it.

If nothing fits, it says so rather than reaching. Two errors at once, or a row that exists in the total and not in your list at all, will not match any of the four patterns — and being told "none of the usual causes fit" is more useful than a confident wrong answer.

Nothing is uploaded

The figures are parsed in this tab and never transmitted. There is no account, no history, and closing the page discards everything.

That is not a flourish for this one tool. It is how the product works: the analysis produces a process that runs where the data already is, so confidential files stay on the machine that already has them.

Early access

This is one file. Databoat does the rest.

The product reads whatever your systems export, works out what is in it once, and rebuilds your monthly report identically every month. Tell us which report you rebuild.

A person replies. No drip sequence, no card, nothing charged.