VAT & Invoices Demystified: Tax-Inclusive Maths Done Right
Value-added tax looks like one percentage button and is actually two directions, a rounding policy and a document standard. Get any of them wrong and you under-charge by a few cents per line until an auditor finds a pattern, or you quote a client 20% more than you meant to. This guide covers the whole pipeline — the tax maths of vat.gotool.app and the document discipline of invoicegen.gotool.app.
VAT is two formulas, not one
With net price N and rate r (20% = 0.20):
gross = N × (1 + r) 100.00 net at 20% → 120.00
net = gross / (1 + r) 120.00 gross at 20% → 100.00
tax inside a gross figure = gross × r / (1 + r) → 20.00
The classic error is subtracting the rate from the gross: 120 − 20% = 96, not 100. Tax on a tax-inclusive price is a fraction of the gross — r/(1+r), which at 20% is 16.67%, not 20%. vat.gotool.app exposes both directions explicitly (“add VAT” / “remove VAT”) so the wrong button cannot hide.
Rounding: where cents become disputes
Tax authorities expect internally consistent documents. Two rules keep you clean:
- Compute at full precision; round for display. Carry the double-precision value through every step and round only the money that lands on the page.
- Pick one rounding locus and keep it. Round at the line level (each line's tax to 2 decimals, then sum) or at the total level — both are accepted in most regimes, but mixing them produces documents where line items don't add to the total. invoicegen.gotool.app rounds per line and re-verifies the sum before it renders the PDF, so the columns always tie out.
A worked example: three lines of 47.50, 199.99 and 8.75 at 20% VAT. Line taxes round to 9.50, 40.00 and 1.75 — total tax 51.25 on net 256.24, gross 307.49. Check: 256.24 × 0.2 = 51.248 → 51.25. The document agrees with itself, which is the entire ballgame.
Anatomy of an invoice that survives review
An invoice is a legal document dressed as a spreadsheet. Required anatomy in most VAT jurisdictions:
- Sequential, gapless numbering. “INV-2026-0042” must follow -0041 and precede -0043. Gaps and re-used numbers are the first thing auditors probe; voided invoices keep their number and get marked, not deleted.
- Parties and registrations. Supplier and customer names, addresses, and the supplier's VAT registration number — often the customer's too.
- Dates. Issue date, supply/tax point date when they differ, and payment due date from your terms.
- Line items. Description, quantity, unit price, line total. Discounts belong per line or as an explicit negative line — never folded silently into the unit price.
- Tax lines and totals. Net, VAT (with rate breakdowns when rates mix), and gross, in the document currency.
- Payment details and terms. How to pay, by when, and what happens if they don't.
Credit notes mirror the structure with their own numbering series — corrections are documents, not edits.
Multi-rate, multi-currency, zero-rated
Real invoices mix rates: standard 20% on services, reduced 5% or 0% on eligible goods or exports. Tax lines must therefore break out per rate, each with its own taxable base. Zero-rated is not the same as exempt or out-of-scope — all three appear as 0.00 tax but mean different things on a VAT return. And when a foreign currency appears, the invoice states both the document currency and the tax currency amount at the prescribed rate; the arithmetic never mixes the two.
Keeping the paperwork private
Invoices contain pricing, customers and bank details — a dossier of your business. invoicegen.gotool.app builds and renders the entire document in your browser: line items, tax lines, totals and the PDF itself are assembled locally and downloaded from the tab. No document library in the cloud, no invoice data in anyone's logs. Pair it with vat.gotool.app for the quote-stage maths and profitcalc for the pricing behind it, and the whole quote-to-cash chain runs on your machine.
The takeaway
Multiply to add tax, divide to remove it, never subtract the rate from a gross. Round once, per line, and make the columns tie out. Number invoices like an accountant because someone, someday, will read them like one. With the maths and the document discipline automated locally, VAT becomes a routine — not a risk.
Put it to work: strip 20% off 120 in vat.gotool.app (it's 100, not 96), then build the matching invoice in invoicegen.gotool.app.
Open vat.gotool.app →