BR-DEX – XRechnung extension
BR-DEX-13: third party payment amount with too many decimals
ErrorXRechnung business rule (KoSIT)
Official message
[BR-DEX-13] Die maximale Anzahl zulässiger Nachkommastellen für das Element "Third party payment amount" (BT-DEX-002) ist 2.Source: KoSIT XRechnung, version 3.0.2 (Schematron 2.6.0)
What the message means
The amount of a third party payment in your invoice has more than two decimals, for example 300.125. Like every amount of the invoice it must be given with two decimals, because the recipient books to the cent and the amount due is calculated from these values. A value with three or more decimals cannot be rounded unambiguously and makes the check of the amount due impossible. Usually the value stems from a percentage calculation that was not rounded.
How to fix it
Round the amount commercially to two decimals before writing it into cbc:PaidAmount, and recalculate the amount due with the rounded value.
<cac:PrepaidPayment>
<cbc:ID>Subsidy</cbc:ID>
<cbc:PaidAmount currencyID="EUR">300.125</cbc:PaidAmount>
</cac:PrepaidPayment><cac:PrepaidPayment>
<cbc:ID>Subsidy</cbc:ID>
<cbc:PaidAmount currencyID="EUR">300.13</cbc:PaidAmount>
</cac:PrepaidPayment>Frequently asked
Are fewer than two decimals allowed?
Yes. 300 or 300.1 are valid; the rule only limits the maximum. Two decimals are the usual and most readable notation, though.
Does the limit apply to the other amounts of the invoice as well?
Yes, the norm limits amounts to two decimals with the BR-DEC rules; BR-DEX-13 carries that over to the third party payment amount, which only the extension knows.
Also seen when …
- The share was calculated as a percentage and copied unrounded.
- The software writes amounts with its internal precision of four decimals.
- An amount was converted from another currency and not rounded.
Fields concerned
- BT-115
- BT-113
Related rules
Check your invoice
The XRechnung validator reports this rule with the line number and location – right in your browser, without upload.
Technical details
- UBL · Context (XPath)
/ubl:Invoice/cac:PrepaidPayment[$isExtension]- UBL · Schematron test
string-length(substring-after(cbc:PaidAmount, '.')) <= 2
Explanation written on 14 September 2026