Skip to content

BR-DEC-15: Invoice total VAT amount in accounting currency (BT-111) has more than two decimals

Official message

[BR-DEC-15] The allowed maximum number of decimals for the Invoice total VAT amount in accounting currency (BT-111) is 2.

EN 16931 (CII) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-DEC-15] The allowed maximum number of decimals for the Invoice total VAT amount in accounting currency (BT-111) is 2.

EN 16931 (UBL) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-DEC-15] The allowed maximum number of decimals for the Invoice total VAT amount in accounting currency (BT-111) is 2.

Factur-X / ZUGFeRD EN 16931 · Error · Message language: English · Version: Factur-X 1.08 / ZUGFeRD 2.4
Severity
Error The invoice is invalid and may be rejected by the recipient.
Applies to
EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
Affected fields
BT-111

What does this mean?

The invoice total VAT amount in accounting currency (BT-111) may have at most two decimals. BT-111 is stated when VAT is accounted in a currency (BT-6) other than the invoice currency (BT-5); the amount has more than two decimals.

Typical causes

The amount was calculated unrounded from the VAT amount in invoice currency using the exchange rate.
The generating system wrote the amount unrounded with three or more decimals.

How to fix the error

Round the amount to two decimals and write it without further digits, e.g. 100.00 instead of 100.0000.
CII: ram:SpecifiedTradeSettlementHeaderMonetarySummation/ram:TaxTotalAmount with @currencyID = VAT accounting currency (BT-6), UBL: cac:TaxTotal/cbc:TaxAmount in VAT accounting currency (BT-6).
Generate and validate the invoice again.

In E-Rechnungsfreund

In the invoice form, section "Belegsummen (BG-22)" (document totals), check the field "Steuer in Buchungswährung (BT-111)" (VAT in accounting currency). When the XML is generated the value is rounded to two decimals; then validate the invoice again.

Example

Wrong

<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  ...
  <ram:TaxTotalAmount currencyID="USD">248.16439</ram:TaxTotalAmount>
  ...
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>

Correct

<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
  ...
  <ram:TaxTotalAmount currencyID="USD">248.16</ram:TaxTotalAmount>
  ...
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
For developers: test expression per syntax

EN 16931 (CII) (CII)

Context: //ram:SpecifiedTradeSettlementHeaderMonetarySummation

not(ram:TaxTotalAmount) or ram:TaxTotalAmount[(@currencyID =/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode and . = round(. * 100) div 100) or not (/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode)]

EN 16931 (UBL) (UBL)

Context: /ubl:Invoice | /cn:CreditNote

(//cac:TaxTotal/cbc:TaxAmount[@currencyID = cbc:TaxCurrencyCode] and (string-length(substring-after(//cac:TaxTotal/cbc:TaxAmount[@currencyID = cbc:TaxCurrencyCode],'.'))<=2)) or (not(//cac:TaxTotal/cbc:TaxAmount[@currencyID = cbc:TaxCurrencyCode]))

Factur-X / ZUGFeRD EN 16931 (CII)

Technical ID in the source: FX-SCH-A-000126

Context: //ram:SpecifiedTradeSettlementHeaderMonetarySummation

not(ram:TaxTotalAmount) or ram:TaxTotalAmount[(@currencyID =/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode and . = round(. * 100) div 100) or not (/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:TaxCurrencyCode)]

Related validation rules

  • BR-DEC-01: Document level allowance amount (BT-92) has more than two decimals
  • BR-DEC-02: Document level allowance base amount (BT-93) has more than two decimals
  • BR-DEC-05: Document level charge amount (BT-99) has more than two decimals
  • BR-DEC-06: Document level charge base amount (BT-100) has more than two decimals
  • BR-DEC-09: Sum of invoice line net amounts (BT-106) has more than two decimals
  • BR-DEC-10: Sum of allowances on document level (BT-107) has more than two decimals

Frequently asked questions

Do trailing zeros count?

In CII (including ZUGFeRD/Factur-X) the rule checks the numeric value: 19.000 is allowed, 19.005 is not, because the value changes when rounded to two decimals.

Last updated:
Explanation of the validation rule, not legal or tax advice.