Fehlercodes · EN 16931
VAT category tax amount must equal taxable amount times rate
So lautet die Ablehnung wörtlich: „[BR-CO-17] BR-CO-17 fires when the VAT category tax amount (BT-117) on a TaxSubtotal does not equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119) divided by 100, rounded to two decimals. It's the single-category sibling of BR-CO-14 (sum of category tax amounts equals document VAT total) and one of the most common Peppol calculation failures.“
The schematron checks, for each cac:TaxTotal/cac:TaxSubtotal: `xs:decimal(cbc:TaxAmount) = round((xs:decimal(cbc:TaxableAmount) * xs:decimal(cac:TaxCategory/cbc:Percent)) div 100 * 100) div 100`. Failures arise from: (1) Banker's rounding vs. half-up rounding mismatches — financial systems often use round-half-to-even, schematron uses round-half-up. (2) Floating-point accumulation when category amounts are computed by summing line-level VAT instead of (taxable_amount * rate / 100). (3) Currency precision drift — emitting four decimals on TaxableAmount and two on TaxAmount creates rounding errors. (4) Multi-rate invoices where one TaxSubtotal is correct and another is off by 0.01. (5) Wrong VAT rate cast (e.g. 19 vs. 19.00 vs. 0.19) by a templating engine. (6) Negative TaxableAmount on credit notes flipped sign on TaxAmount differently.
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">190.01</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">1000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">190.01</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>19.00</cbc:Percent>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal><cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">190.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">1000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">190.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>19.00</cbc:Percent>
<cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>