BT-112Invoice total amount with VATBT-113Paid amountBT-114Rounding amountBT-115Amount due for payment
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.
Same check via API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRelated rules
BR-DE-18Cash discount (Skonto) lines in payment terms are malformedBR-DEX-01The element … "Attached Document" uses a MIME code that is not permittedBR-DEX-02The value of "Invoice line net amount" of an "INVOICE LINE" or a "SUB INVOICE LINE"…BR-DEX-03A Sub Invoice Line must contain exactly one "SUB INVOICE LINE VAT INFORMATION"BR-DEX-04Any scheme identifier in … MUST be coded using one of the ISO 6523 ICD listBR-DEX-05Any scheme identifier in … MUST be coded using one of the ISO 6523 ICD listBR-DEX-06Any scheme identifier in … MUST be coded using one of the ISO 6523 ICD listBR-DEX-07Any scheme identifier for an Endpoint Identifier in … MUST belong to the CEF EAS code…
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.