Skip to content

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.

Before – invalid
<cac:PrepaidPayment>
  <cbc:ID>Subsidy</cbc:ID>
  <cbc:PaidAmount currencyID="EUR">300.125</cbc:PaidAmount>
</cac:PrepaidPayment>
After – corrected
<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.

Open the XRechnung validator

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