How the figures are worked out
Last updated 1 September 2026.
Every total on a document is arrived at the same way, and this page says how. It is here so that a figure you disagree with can be checked rather than argued with.
Money is never a decimal
Every amount is held as a whole number of minor units. £1,234.56 is stored as 123456 pence, and no arithmetic anywhere in the app is done on a fractional pound.
The reason is that a computer cannot hold 0.1 exactly in the format normally used for decimals, so adding it ten times does not produce 1. On a single line that error is invisible. On an invoice with forty lines it is the penny that stops the total matching what the customer's accounts system calculates, and a penny is enough for an invoice to be queried.
Working in whole pence removes the class of error rather than rounding it away afterwards.
Quantities and tax rates
Quantities are held to three decimal places, as thousandths, so 2.5 hours is 2500 and 0.125 of a tonne is 125. Three places is enough for every unit people actually bill in and small enough that the numbers stay exact.
Tax rates are held in basis points, hundredths of a percent. 20% is 2000 and 8.25% is 825. This matters where rates are not whole numbers, which is most of the world outside the UK, and it means a rate is compared and stored exactly rather than as an approximation of a percentage.
How a line becomes a total
A line amount is quantity times unit rate, divided back down by the thousand the quantity was scaled by, rounded once, half away from zero, to the nearest minor unit. That rounding happens at the line, not at the end, because a customer checking your invoice with a calculator works line by line, and a total that does not equal the sum of the visible lines is a total that gets queried.
The subtotal is the sum of the rounded lines. A discount, whether a percentage or a fixed amount, is applied to the subtotal and rounded once. Tax is then calculated on the discounted figure, per rate, so an invoice carrying two different rates produces two tax figures rather than one blended one.
Tax inclusive pricing works backwards from the gross: the net is the gross divided by one plus the rate, rounded, and the tax is the difference rather than a second calculation. Deriving it as the difference is what guarantees net plus tax equals the gross that was displayed.
Staged payments
Stages are allocated rather than rounded independently. Each stage is calculated as a running cumulative share of the whole, and the payment is the difference between that cumulative figure and the previous one, which means the final stage is defined as whatever remains.
Rounding each stage on its own is the common approach and it is wrong: 30%, 40% and 30% of £999.99, each rounded, sum to £1,000.00. The extra penny is why a job never quite closes out. The worked example is here.
Margin
Margin is calculated on the net figure, not on the invoiced total. A job invoiced at £1,200 including £200 of tax, costing £600, has a margin of 40% and not 50%, because the tax was never yours.
This is stated because the reports got it wrong once and reported a 45% margin as 65%, which is exactly the sort of error that looks like good news and changes what somebody charges.
Invoice numbers
Sequential, with no gaps, and allocated at the moment a document is issued rather than when it is created, so an abandoned draft never consumes a number. Signed in, the sequence is allocated by the server, because two devices each keeping their own count will both produce number 0104. Why any of that matters.
What the app does not know
It applies the tax rates you give it. It does not know your jurisdiction's rules, which rate applies to which kind of work, whether you should be registered, or whether a reverse charge applies. It does not file anything and it is not an accountant.
A document is yours before it is anybody else's, so check it before it goes out under your name. Where a figure looks wrong, the contact form gets it looked at, and a total that is genuinely wrong is a bug fixed the same week.