InvoiceValidator.eu

BR-DEC-06

fatalEN 16931EN 16931 business ruleCIIUBLBT-100

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

Why it fails

Document level charge base amount (BT-100) is written with more than 2 decimal places.

How to fix it

Round BT-100 to 2 decimals before serialising it. This is a formatting rule, not an arithmetic one - the value itself is usually right, the XML just carries extra digits from a float. Format the amount as a fixed-point decimal string.

What the validator checks

CII — context $Document_level_charges

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

UBL — context cac:AllowanceCharge[cbc:ChargeIndicator = true()]

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

Related rules

Part of BR-DEC — Decimal places.

Check your own invoice against BR-DEC-06

…or paste the XML instead

Nothing is stored, and the whole invoice is checked, not just this rule. A PDF only works if it is Factur-X / ZUGFeRD — a PDF with the invoice XML inside it.