Skip to content

BR-DEX-09: Amount due (BT-115) does not match the third party payments

Official message

[BR-DEX-09] Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) - Paid amount (BT-113) + Rounding amount (BT-114) + Σ Third party payment amount (BT-DEX-002).

XRechnung (UBL) · Error · Message language: English · Version: xrechnung-3.0.2-validator-configuration-2026-08-31
Severity
Error The invoice is invalid and may be rejected by the recipient.
Applies to
XRechnung (UBL)
Affected fields
BT-115, BT-112, BT-113, BT-114, BT-DEX-002

What does this mean?

In an XRechnung extension invoice (UBL) the following must hold: amount due for payment (BT-115) = invoice total amount with VAT (BT-112) − paid amount (BT-113) + rounding amount (BT-114) + sum of third party payment amounts (BT-DEX-002). The amounts of the invoice do not satisfy this equation.

Typical causes

Third party payments (BG-DEX-09) were added, but the amount due was not recalculated.
The amount due was calculated with the formula without third party payments (BR-CO-16).
Rounding amount or paid amount were counted twice or not at all.

How to fix the error

Recalculate the amount due using the formula of the message: BT-115 = BT-112 − BT-113 + BT-114 + Σ BT-DEX-002.
UBL: cac:LegalMonetaryTotal/cbc:PayableAmount, cbc:TaxInclusiveAmount, cbc:PrepaidAmount, cbc:PayableRoundingAmount and cac:PrepaidPayment/cbc:PaidAmount.
Generate and validate the invoice again.

Example

Wrong

<cac:PrepaidPayment>
  <cbc:ID>...</cbc:ID>
  <cbc:PaidAmount currencyID="EUR">50.00</cbc:PaidAmount>
  ...
</cac:PrepaidPayment>
...
<cac:LegalMonetaryTotal>
  ...
  <cbc:TaxInclusiveAmount currencyID="EUR">1190.00</cbc:TaxInclusiveAmount>
  <cbc:PayableAmount currencyID="EUR">1190.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Correct

<cac:PrepaidPayment>
  <cbc:ID>...</cbc:ID>
  <cbc:PaidAmount currencyID="EUR">50.00</cbc:PaidAmount>
  ...
</cac:PrepaidPayment>
...
<cac:LegalMonetaryTotal>
  ...
  <cbc:TaxInclusiveAmount currencyID="EUR">1190.00</cbc:TaxInclusiveAmount>
  <cbc:PayableAmount currencyID="EUR">1240.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
For developers: test expression per syntax

XRechnung (UBL) (UBL)

Context: cac:LegalMonetaryTotal[$isExtension]

(round((xs:decimal(cbc:PayableAmount) - $payableroundingamount) * 10 * 10) div 100) = (round((xs:decimal(cbc:TaxInclusiveAmount) - $prepaidamount + $thirdpartyprepaidamount) * 10 * 10) div 100)

Related validation rules

  • BR-DEX-01: Invalid MIME code of an attachment (BT-125) in the XRechnung extension
  • BR-DEX-02: Line net amount does not match the sum of its sub invoice lines
  • BR-DEX-03: Sub invoice line without exactly one VAT information (BG-DEX-06)
  • BR-DEX-04: Scheme of a party identifier is not an ISO 6523 ICD code (extension)
  • BR-DEX-05: Scheme of a registration identifier is not an ISO 6523 ICD code (extension)
  • BR-DEX-06: Scheme of the item standard identifier (BT-157) is not an ISO 6523 ICD code (extension)

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