BR-DE – XRechnung
BR-DE-20: debited account IBAN (BT-91) invalid for a direct debit
WarningXRechnung business rule (KoSIT)
Official message
[BR-DE-20] "Debited account identifier" (BT-91) soll eine korrekte IBAN enthalten, wenn in "Payment means type code" (BT-81) mit dem Code 59 SEPA als Zahlungsmittel gefordert wird.Source: KoSIT XRechnung, version 3.0.2 (Schematron 2.6.0)
What the message means
Your invoice provides for a SEPA direct debit (code 59) and names the customer's account from which the amount will be collected. The IBAN of that account fails the check-digit test. Unlike a credit transfer, the number here comes from your customer data or the direct debit mandate, not from your own bank details. A wrong IBAN makes the collection fail and annoys a customer who has already accepted the invoice.
How to fix it
Compare the IBAN with the signed mandate and enter it without spaces: in UBL cbc:ID under cac:PaymentMeans/cac:PaymentMandate/cac:PayerFinancialAccount, in CII ram:IBANID in the PayerPartyDebtorFinancialAccount of the payment details.
<cac:PaymentMeans>
<cbc:PaymentMeansCode>59</cbc:PaymentMeansCode>
<cac:PaymentMandate>
<cbc:ID>MANDATE-2024-0031</cbc:ID>
<cac:PayerFinancialAccount>
<cbc:ID>DE75512108001245126190</cbc:ID>
</cac:PayerFinancialAccount>
</cac:PaymentMandate>
</cac:PaymentMeans><cac:PaymentMeans>
<cbc:PaymentMeansCode>59</cbc:PaymentMeansCode>
<cac:PaymentMandate>
<cbc:ID>MANDATE-2024-0031</cbc:ID>
<cac:PayerFinancialAccount>
<cbc:ID>DE75512108001245126199</cbc:ID>
</cac:PayerFinancialAccount>
</cac:PaymentMandate>
</cac:PaymentMeans>Frequently asked
Does the customer's IBAN have to be in the invoice at all?
For a direct debit under XRechnung yes: BG-19 with the mandate reference and the debited account is mandatory as soon as code 59 is used.
What happens if I leave the IBAN as it is?
The collection fails, because the bank rejects an IBAN with a wrong check digit. Correct the number before sending and update the mandate in the customer data.
Also seen when …
- The IBAN in the direct debit mandate was mistyped or copied incompletely.
- The customer changed accounts and the mandate was not updated.
- Spaces from the mandate form were left in the IBAN.
Fields concerned
- BT-91
- BT-81
- BG-19
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:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = '59'] | /cn:CreditNote/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = '59']- UBL · Schematron test
not(normalize-space(cbc:PaymentMeansCode) = '59') or xr:checkIBAN(string(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID))- CII · Context (XPath)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans[normalize-space(ram:TypeCode) = '59']- CII · Schematron test
not(normalize-space(ram:TypeCode) = '59') or xr:checkIBAN(string(ram:PayerPartyDebtorFinancialAccount/ram:IBANID))
Explanation written on 14 September 2026