Account
English

BR-DEX-09: Amount due for payment = Invoice total amount with VAT - Paid amount + Rounding amount…

XRechnung rule · Error · UBL

StandardXRechnung 3.0.2 (KoSIT, German CIUS of EN 16931)SeverityError: the invoice is rejectedSyntaxUBLBusiness terms
  • BT-112 Invoice total amount with VAT
  • BT-113 Paid amount
  • BT-114 Rounding amount
  • BT-115 Amount due for payment
Applies toXRechnung in UBL or CII syntax, including ZUGFeRD / Factur-X PDFs with the XRECHNUNG profile. Invoices to German public authorities (federal, state and municipal) must pass it.

Official rule text

[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).

Why this error occurs

This is an arithmetic consistency rule: the validator recomputes the amount from its components and compares it with the value in the file. It fails when the totals were computed with different rounding, when line amounts were changed after the totals were written, or when allowances/charges are counted twice.

How to fix it

Recalculate exactly as the formula in the rule text says, round each component to 2 decimals first and then sum (not the other way round), and write the result into the element. Make sure allowances are subtracted and charges added only once, and that prepaid and rounding amounts are included where the formula lists them.

What the validator checks

Checked element (context):

UBL

cac:LegalMonetaryTotal[$isExtension]

Test (XPath):

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

Check your invoice

Drop your XML or PDF on the validator and every failed rule is linked to its page here. Free, no account, the file is not stored.

Check your invoice →

Same check via API:

curl -F file=@invoice.xml https://einvoicechecker.com/v1/validate

Related rules

Frequently asked questions

What does BR-DEX-09 mean?

BR-DEX-09 is a xrechnung rule: 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).

Will my invoice be rejected because of BR-DEX-09?

Yes. BR-DEX-09 is flagged "fatal"; validators (KoSIT, Peppol access points, the German ZRE/OZG-RE portals) reject the invoice until it is fixed.

Which formats does BR-DEX-09 apply to?

XRechnung in UBL or CII syntax, including ZUGFeRD / Factur-X PDFs with the XRECHNUNG profile. Invoices to German public authorities (federal, state and municipal) must pass it. Syntax: UBL.

Source: XRechnung 3.0.2, schematron 2.6.0 (KoSIT, September 2026). Catalogue generated from the official schematron on 2026-10-14.