Skip to content

BR-DEC-06: Document level charge base amount (BT-100) has more than two decimals

Official message

[BR-DEC-06] The allowed maximum number of decimals for the Document level charge base amount (BT-100) is 2.

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

[BR-DEC-06] The allowed maximum number of decimals for the Document level charge base amount (BT-100) is 2.

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

[BR-DEC-06] The allowed maximum number of decimals for the Document level charge base amount (BT-100) 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-100

What does this mean?

The document level charge base amount (BT-100) may have at most two decimals. In the invoice the amount has more than two decimals.

Typical causes

The amount was taken unrounded from a calculation, e.g. from a percentage or from quantity × price.
The generating system writes amounts with a fixed number of three or four decimals, e.g. 100.0000; trailing zeros count as well.

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.
Check that the charge amount (BT-99) still matches the rounded base amount and the percentage.
CII: ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:BasisAmount (ram:ChargeIndicator = true), UBL: cac:AllowanceCharge/cbc:BaseAmount (cbc:ChargeIndicator = true).
Generate and validate the invoice again.

In E-Rechnungsfreund

In the invoice form, expert view ("Experte"), section "Zu-/Abschläge auf Dokumentenebene (BG-20/BG-21)" (document level allowances and charges), check the field "Grundbetrag" (base amount) of the entry of type "Zuschlag (BG-21)" (charge). When generating the XML the application rounds the amount to two decimals. Preferably enter the amount with at most two decimals right away so that the rounded values match your records, and validate the invoice again.

Example

Wrong

<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator><udt:Indicator>true</udt:Indicator></ram:ChargeIndicator>
  <ram:BasisAmount>416.666</ram:BasisAmount>
  <ram:ActualAmount>12.50</ram:ActualAmount>
  <ram:Reason>Fracht</ram:Reason>
  ...
</ram:SpecifiedTradeAllowanceCharge>

Correct

<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator><udt:Indicator>true</udt:Indicator></ram:ChargeIndicator>
  <ram:BasisAmount>416.67</ram:BasisAmount>
  <ram:ActualAmount>12.50</ram:ActualAmount>
  <ram:Reason>Fracht</ram:Reason>
  ...
</ram:SpecifiedTradeAllowanceCharge>
For developers: test expression per syntax

EN 16931 (CII) (CII)

Context: //ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator='true']

string-length(substring-after(../ram:BasisAmount,'.'))<=2

EN 16931 (UBL) (UBL)

Context: /ubl:Invoice/cac:AllowanceCharge[cbc:ChargeIndicator = true()] | /cn:CreditNote/cac:AllowanceCharge[cbc:ChargeIndicator = true()]

string-length(substring-after(cbc:BaseAmount,'.'))<=2

Factur-X / ZUGFeRD EN 16931 (CII)

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

Context: //ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge/ram:ChargeIndicator[udt:Indicator='true']

string-length(substring-after(../ram:BasisAmount,'.'))<=2

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-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
  • BR-DEC-11: Sum of charges on document level (BT-108) has more than two decimals

Frequently asked questions

Is 100.000 allowed because its value equals 100.00?

No. The check counts the characters after the decimal point, not the numeric value. 100.000 has three decimals and triggers the rule; 100, 100.0 and 100.00 are allowed.

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