Skip to main content

BR-DE-20 SEPA direct debit account must be a valid IBAN

When an invoice specifies SEPA direct debit payment instructions (payment means code BT-81 = 59), XRechnung rule BR-DE-20 requires the debited account identifier (BT-91) to be a syntactically valid International Bank Account Number (IBAN) conforming to ISO 13616. The identifier must consist of a two-letter country code, two check digits, and up to 30 alphanumeric characters, satisfying the MOD-97 check algorithm. Clearing houses and banking engines reject direct debit collection mandates if the debited IBAN contains spaces, dashes, or invalid checksums.

Problem Description

WARNING

German XRechnung rule (KoSIT, BR-DE) · XRechnung 3.0

Context and Significance

Rule BR-DE-20 is a warning-level check in XRechnung 3.0. However, invalid IBAN values cause direct debit batch files (pain.008) generated from the invoice to be rejected by commercial banks.

Solution

In your customer bank master records, sanitize the debtor IBAN by removing spaces, hyphens, and text labels (such as "IBAN:"). In UBL 2.1 syntax, populate the clean IBAN in <cac:PaymentMeans><cac:PaymentMandate><cac:PayerFinancialAccount><cbc:ID>DE89370400440532013000</cbc:ID></cac:PayerFinancialAccount></cac:PaymentMandate></cac:PaymentMeans>. In UN/CEFACT CII syntax, populate <ram:PayerPartyDebtorFinancialAccount><ram:IBANID>DE89370400440532013000</ram:IBANID></ram:PayerPartyDebtorFinancialAccount> under <ram:SpecifiedTradeSettlementPaymentMeans>.

Quick actions

Valid Examples

  • BT-91 = "DE89370400440532013000" (Valid German IBAN with correct check digits)
  • BT-91 = "AT611904300234573201" (Valid Austrian IBAN)

Invalid Examples

  • BT-91 = "0532013000" (Legacy national bank account number instead of international ISO 13616 IBAN)
  • BT-91 = "DE89 3704 0044 0532 0130 00" (IBAN string formatted with spaces)

Code Examples

Valid XML
<cac:PaymentMeans>
  <cbc:PaymentMeansCode>59</cbc:PaymentMeansCode>
  <cac:PaymentMandate>
    <cac:PayerFinancialAccount>
      <cbc:ID>DE89370400440532013000</cbc:ID>
    </cac:PayerFinancialAccount>
  </cac:PaymentMandate>
</cac:PaymentMeans>
Invalid XML
<cac:PaymentMeans>
  <cbc:PaymentMeansCode>59</cbc:PaymentMeansCode>
  <cac:PaymentMandate>
    <cac:PayerFinancialAccount>
      <cbc:ID>0532013000</cbc:ID>
    </cac:PayerFinancialAccount>
  </cac:PaymentMandate>
</cac:PaymentMeans>

Affected Fields

Validation Tools