BR-CO-15 — tax inclusive amount doesn't equal net + VAT
What it means
BT-112 (total with VAT) must equal BT-109 (total without VAT) + BT-110 (total VAT). The three headline numbers on your invoice must be arithmetically consistent to the cent.
What triggers it
VAT computed per line and summed (with per-line rounding) while the totals were computed on the document sum — the two methods can differ by a cent. Or the invoice was edited after totals were written.
How to fix it
EN 16931 expects VAT computed per category group on the summed taxable amount, not per line. Sum the line nets per VAT group → apply the rate → round to 2 decimals → that is BT-117 per group; their sum is BT-110; BT-112 = BT-109 + BT-110 exactly:
{ "totals": { "taxExclusiveAmount": "1000.00", "vatTotalAmount": "190.00", "taxInclusiveAmount": "1190.00" } }
// 1000.00 + 190.00 = 1190.00 — omit totals and the API computes them consistently <cac:LegalMonetaryTotal> <cbc:TaxExclusiveAmount currencyID="EUR">1000.00</cbc:TaxExclusiveAmount> <cbc:TaxInclusiveAmount currencyID="EUR">1190.00</cbc:TaxInclusiveAmount> </cac:LegalMonetaryTotal>
If a legal cent-difference is unavoidable (e.g. imported data), put it in the rounding amount (BT-114), never fudge BT-112.
Check your invoice now. Paste it into the free validator — it flags BR-CO-15 and every other EN 16931, Peppol and XRechnung rule, each with the fix.
Or run the same check via API:
curl -X POST https://fakturwire.com/v1/validate \
-H "authorization: Bearer $FW_KEY" \
-d '{"invoice": { ... }, "profile": "en16931"}'