Zum Inhalt springen

BR-DE-20: Ungültige IBAN des belasteten Kontos bei SEPA-Lastschrift

Die Rechnung wird per SEPA-Lastschrift (Code 59) bezahlt, aber die IBAN des Kontos, von dem Sie abbuchen, besteht die formale Prüfung nicht. Anders als bei BR-DE-19 geht es um das Konto Ihres Kunden, nicht um Ihr eigenes.

Stand:

BR-DE-20· XRechnung-Schematron 2.6.0 (XRechnung 3.0.2, Validator-Konfiguration XRechnung 2026-08-31)
[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.

Betroffen:BT-81BT-91BG-19

Was die Regel prüft

BT-91 heißt in der Visualisierung schlicht „IBAN“ und gehört zur Gruppe „Lastschrift“ (BG-19). Die Regel greift für jede Zahlungsanweisung mit Code 59 in BT-81.

SyntaxZahlungsanweisungGeprüftes Element
UBLcac:PaymentMeans mit cbc:PaymentMeansCode 59cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID
CIIram:SpecifiedTradeSettlementPaymentMeans mit ram:TypeCode 59ram:PayerPartyDebtorFinancialAccount/ram:IBANID

Das Rechenverfahren (Leerzeichen entfernen, Muster prüfen, Prüfziffer modulo 97) ist dasselbe wie bei BR-DE-19 und dort Schritt für Schritt beschrieben.

Abgrenzung: Fehlt BT-91 vollständig, kommt zusätzlich der Fehler BR-DE-31. BR-DE-20 allein ist nur eine Warnung (Stufe „warning“) und ändert die Empfehlung im KoSIT-Prüfbericht nicht. Die Lastschrift selbst führen Sie mit den Mandatsdaten aus Ihrem Zahlungsverkehr aus; BT-91 sagt dem Kunden, welches seiner Konten belastet wird. Eine falsche IBAN dort erschwert ihm die Zuordnung.

Typische Ursachen

  • Die IBAN wurde vom unterschriebenen SEPA-Mandat abgetippt und dabei verschrieben.
  • In den Kundenstammdaten stehen noch Kontonummer und Bankleitzahl, die die Software unverändert in BT-91 schreibt.
  • Die Software maskiert Kontodaten auf Belegen, etwa DE79 **** **** **** 7890. Auf dem PDF mag das gewollt sein, in BT-91 besteht diese Angabe die Prüfziffer nicht.
  • CII: Die Kunden-IBAN landet im Element für das Empfängerkonto (ram:PayeePartyCreditorFinancialAccount) statt in ram:PayerPartyDebtorFinancialAccount. Dann ist das geprüfte Feld leer, zusätzlich meldet sich BR-DE-25.
  • Der Kunde hat die Bank gewechselt, das Mandat wurde aktualisiert, die Stammdaten im Fakturaprogramm aber nicht.

Beispiel aus der KoSIT-Testsuite

In UBL liegt die Kunden-IBAN innerhalb von cac:PaymentMandate, zusammen mit der Mandatsreferenz (BT-89). Testdatei 04.02a zeigt diese Klammer:

UBL: Lastschrift mit Kunden-IBAN im Mandat
<cac:PaymentMeans>
  <cbc:PaymentMeansCode>59</cbc:PaymentMeansCode>

  <cac:PaymentMandate>
    <cbc:ID>[Mandate reference identifier]</cbc:ID>
    <cac:PayerFinancialAccount>
      <cbc:ID>DE79000000001234567890</cbc:ID>
    </cac:PayerFinancialAccount>
  </cac:PaymentMandate>
</cac:PaymentMeans>

Quelle: KoSIT XRechnung-Testsuite 2026-08-31, Datei instances/extension/04.02a-INVOICE_ubl.xml (Apache 2.0)

In CII gibt es keine solche Klammer. Das belastete Konto steht direkt in der Zahlungsanweisung, die Gläubiger-ID darüber im Abrechnungsteil. Testdatei 03.05a:

CII: Kunden-IBAN in ram:PayerPartyDebtorFinancialAccount
<ram:ApplicableHeaderTradeSettlement>
  <ram:CreditorReferenceID>[Bank assigned creditor identifier]</ram:CreditorReferenceID>
  <ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
  <ram:SpecifiedTradeSettlementPaymentMeans>
    <ram:TypeCode>59</ram:TypeCode>
    <ram:PayerPartyDebtorFinancialAccount>
      <ram:IBANID>DE79000000001234567890</ram:IBANID>
    </ram:PayerPartyDebtorFinancialAccount>
  </ram:SpecifiedTradeSettlementPaymentMeans>

Quelle: KoSIT XRechnung-Testsuite 2026-08-31, Datei instances/standard/03.05a-INVOICE_uncefact.xml (Apache 2.0)

Beide Dateien verwenden dieselbe Test-IBAN wie die Überweisungsbeispiele der Testsuite. Für BR-DE-20 ist nur entscheidend, dass sie an der Stelle des belasteten Kontos steht und rechnerisch gültig ist.

Lösung

In der Rechnungssoftware

  1. Gleichen Sie die IBAN im Kundenstamm mit dem aktuellen SEPA-Mandat ab.
  2. Schalten Sie eine Maskierung von Kontodaten für den XRechnung-Export ab, falls Ihr Programm sie nur für Druckbelege vorsieht.
  3. Liegt kein gültiges Mandat vor, stellen Sie die Zahlungsart für diesen Kunden auf Überweisung (Code 58) um.

Im XML

  1. UBL: Kunden-IBAN in cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID, Ländercode in Großbuchstaben, keine Sonderzeichen.
  2. CII: Kunden-IBAN in ram:PayerPartyDebtorFinancialAccount/ram:IBANID innerhalb der Zahlungsanweisung mit Code 59.
  3. Validieren Sie danach mit XRechnung prüfen; verschwindet BR-DE-20, aber erscheint BR-DE-31, steht die IBAN im falschen Element.

XRechnung prüfen

Quellen

  1. XRechnung-Schematron 2.6.0 (Release v2.6.0, kompatibel mit XRechnung 3.0)KoSIT (GitHub itplr-kosit), 2. September 2026 · geprüft am 7. November 2026
  2. Spezifikation XRechnung 3.0.2 (CIUS und Extension), Abschnitt 11.9 „Gruppe DIRECT DEBIT“ und Abschnitt 12.6KoSIT (xeinkauf.de), 20. Juni 2024 · geprüft am 7. November 2026
  3. XRechnung-Testsuite 2026-08-31 (Release v2026-08-31)KoSIT (GitHub itplr-kosit), 2. September 2026 · geprüft am 7. November 2026

Weiterlesen

Grundlage: EN 16931 und XRechnung-Schematron 2.6.0 (XRechnung 3.0.2, Validator-Konfiguration XRechnung 2026-08-31). Stand .