← All e-invoice error codes

BR-CO-14 VAT total doesn't match

The VAT total must equal the sum of the VAT amounts per rate.

Auf Deutsch · En français

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>