The VAT on the lines does not reconcile with the breakdown. 96 rules.
The largest family by some distance, and the one that causes the most rejected invoices. Each VAT category has its own conditions, and the rules check that the lines, the breakdown and the totals all tell the same story about them.
Almost every failure here has the same root cause: the VAT breakdown was written by hand instead of being derived by grouping the lines. Build it from the lines, one entry per distinct combination of category and rate, and most of this family stops firing.
The category codes are S for standard rated, Z for zero rated, E for exempt, AE for reverse charge, K for intra-community supply, G for export outside the EU and O for outside the scope of VAT.
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