The numbers on the invoice do not add up. 23 rules.
The BR-CO family checks that the invoice is internally consistent: that the totals equal the sum of what they claim to total. BR-CO-15, the one everybody meets first, says the gross total must equal the net total plus the VAT total.
The overwhelming cause is rounding that accumulates. Calculate VAT per line, round each one to two decimals, sum them, and the result sits a cent away from VAT calculated on the invoice total. Both are defensible arithmetic and only one of them satisfies the rule.
Derive every total from the lines in one place rather than calculating the same figure twice by different routes. Underneath, amounts should be fixed scale decimals from end to end, because a JSON number is how 1234.5000000001 reaches an invoice.
Drop a Factur-X or ZUGFeRD file into the free validator and it names every rule that fails, with the explanation from this page attached to each one. The EN 16931 rules run in your browser, so the invoice is never uploaded. The ISO PDF/A-3, XRechnung and PEPPOL BIS checks need a server and are a separate opt in that says so.
Validate an invoice, no signup