BR-DE-20: IBAN invalid for SEPA direct debit (code 59)
Severity: warning · Syntax: CII, UBL
Official message
"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.
What this means
When BT-81 is 59, debited account identifier (BT-91) should contain a valid IBAN. The same xr:checkIBAN function as BR-DE-19. Severity warning. UBL reads PaymentMandate/PayerFinancialAccount/cbc:ID, CII reads ram:PayerPartyDebtorFinancialAccount/ram:IBANID.
Typical cause
For a direct debit the payee IBAN was entered instead of the payer IBAN, or the check digits are wrong.
How to fix it
For code 59 set the IBAN of the account to be debited.
UBL
<cbc:PaymentMeansCode>59</cbc:PaymentMeansCode>
<cac:PaymentMandate>
<cac:PayerFinancialAccount>
<cbc:ID>DE89370400440532013000</cbc:ID>
</cac:PayerFinancialAccount>
</cac:PaymentMandate>CII
<ram:TypeCode>59</ram:TypeCode>
<ram:PayerPartyDebtorFinancialAccount>
<ram:IBANID>DE89370400440532013000</ram:IBANID>
</ram:PayerPartyDebtorFinancialAccount>
Business term
Debited account identifier (BT-91), Payment means type code (BT-81)
Related rules
Context and assertion
UBL /ubl:Invoice/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = '59'] | /cn:CreditNote/cac:PaymentMeans[normalize-space(cbc:PaymentMeansCode) = '59']
CII /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans[normalize-space(ram:TypeCode) = '59']
UBL
not(normalize-space(cbc:PaymentMeansCode) = '59') or xr:checkIBAN(string(cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID))CII
not(normalize-space(ram:TypeCode) = '59') or xr:checkIBAN(string(ram:PayerPartyDebtorFinancialAccount/ram:IBANID))
Check a file now, free of charge
curl -F "file=@rechnung.xml" https://checkxrechnung.com/v1/validate
Questions
What does BR-DE-20 actually check?
When BT-81 is 59, debited account identifier (BT-91) should contain a valid IBAN. The same xr:checkIBAN function as BR-DE-19. Severity warning. UBL reads PaymentMandate/PayerFinancialAccount/cbc:ID, CII reads ram:PayerPartyDebtorFinancialAccount/ram:IBANID.
How do I fix BR-DE-20?
For code 59 set the IBAN of the account to be debited.
If BR-DE-20 passes, is the invoice legally compliant?
No. This page helps you read this one Schematron assertion. A pass is not a statement about tax law, portal acceptance, or bank overlays.