Error codes

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.