BR-CO-14 VAT total doesn't match
The VAT total must equal the sum of the VAT amounts per rate.
What the rule says
Invoice total VAT amount (BT-110) = Σ VAT category tax amount (BT-117).
The rule's official wording (CEN / KoSIT). The German XRechnung rules are published in German.
Why it happens
The invoice's total VAT (BT-110) isn't the sum of the VAT amounts in the VAT breakdown (BT-117).
How to fix it
Calculate VAT per rate in the breakdown, round each to two decimals, and use their sum as the VAT total.
Applies to
Every EN 16931 e-invoice: XRechnung, ZUGFeRD / Factur-X, Peppol and others.
More about BR-CO-14
The invoice's total VAT must be exactly the sum of the VAT amounts in the VAT breakdown, one per VAT category and rate, rounded to two decimals. The breakdown is the authoritative place for VAT; the total only adds it up.
Worked example: 100.00 at 19 % gives 19.00, and 50.00 at 7 % gives 3.50. The total VAT must be 22.50. If the software adds up the VAT of every line instead, small rounding differences per line can make it 22.49 or 22.51, and the check fails.
In CII, the total VAT amount must also state its currency (currencyID="EUR"). Only when VAT is also given in a second accounting currency is there a second total, in that currency.
The fields involved
- BT-110 Invoice total VAT amount
- CII
ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount - UBL
cac:TaxTotal/cbc:TaxAmount - BT-117 VAT category tax amount
- CII
ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ ram:CalculatedAmount - UBL
cac:TaxTotal/cac:TaxSubtotal/ cbc:TaxAmount
Typical situations
- VAT is calculated and rounded per line, then the line VAT is added up.
- A VAT rate was removed from the breakdown, but its VAT stayed in the total.
- The total was rounded to whole units for display and written that way into the XML.
Example
A breakdown with two rates and a matching total (CII, shortened):
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>19.00</ram:CalculatedAmount>
<ram:BasisAmount>100.00</ram:BasisAmount>
<ram:RateApplicablePercent>19</ram:RateApplicablePercent> ...
</ram:ApplicableTradeTax>
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>3.50</ram:CalculatedAmount>
<ram:BasisAmount>50.00</ram:BasisAmount>
<ram:RateApplicablePercent>7</ram:RateApplicablePercent> ...
</ram:ApplicableTradeTax>
<ram:TaxTotalAmount currencyID="EUR">22.50</ram:TaxTotalAmount>