← Alle Fehlerregeln
error Class A

BR-DE-17 IBAN muss ein gültiges Format haben

Was diese Regel prüft

BR-DE-17 prüft, ob der in BT-84 (Payment account identifier) angegebene Wert dem Format einer gültigen IBAN (International Bank Account Number) entspricht. Die Regel validiert die Struktur der IBAN: Ländercode (2 Buchstaben), Prüfziffer (2 Ziffern) und BBAN (Basic Bank Account Number, länderspezifische Länge).

In der UBL-Repräsentation befindet sich dieser Wert im Element <cbc:ID> innerhalb von <cac:PaymentMeans><cac:PayeeFinancialAccount>.

Warum diese Regel existiert

Für die automatisierte Zahlungsverarbeitung im deutschen E-Rechnungs-Ökosystem ist eine korrekt formatierte IBAN unerlässlich. Ungültige IBANs führen zu:

  • Fehlgeschlagenen Zahlungen: Die Bank lehnt die Überweisung ab
  • Manueller Nachbearbeitung: Ein Sachbearbeiter muss die korrekte Bankverbindung ermitteln
  • Zahlungsverzögerungen: Der Rechnungssteller erhält sein Geld später

Die IBAN ist der internationale Standard für Kontoidentifikation (ISO 13616) und im SEPA-Raum das primäre Merkmal zur Identifikation eines Bankkontos.

Was einen Fehler auslöst

Die Validierung schlägt fehl, wenn der Wert in <cbc:ID> (innerhalb von PayeeFinancialAccount) keine gültige IBAN-Struktur aufweist:

  • Zu kurz oder zu lang für das jeweilige Land (deutsche IBAN: 22 Zeichen)
  • Fehlender oder ungültiger Ländercode am Anfang
  • Ungültige Prüfziffer an Position 3-4
  • Enthält unzulässige Zeichen (nur Großbuchstaben A-Z und Ziffern 0-9 erlaubt)
  • Enthält Leerzeichen (müssen entfernt werden)

Fehlerhaftes XML-Beispiel

<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2">
  <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0</cbc:CustomizationID>
  <cbc:ID>RE-2024-003</cbc:ID>
  <cbc:IssueDate>2024-01-15</cbc:IssueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cbc:BuyerReference>04011000-1234512345-06</cbc:BuyerReference>
  <!-- ... -->
  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>58</cbc:PaymentMeansCode>
    <cac:PayeeFinancialAccount>
      <!-- FEHLER: IBAN ist zu kurz und hat ein ungültiges Format -->
      <cbc:ID>DE1234</cbc:ID>
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>
  <!-- ... -->
</Invoice>

Weitere fehlerhafte Beispiele:

<!-- Leerzeichen in der IBAN -->
<cbc:ID>DE89 3704 0044 0532 0130 00</cbc:ID>

<!-- Kleinbuchstaben -->
<cbc:ID>de89370400440532013000</cbc:ID>

<!-- Ungültige Prüfziffer -->
<cbc:ID>DE00370400440532013000</cbc:ID>

Die Lösung

Verwenden Sie eine korrekt formatierte IBAN ohne Leerzeichen und in Großbuchstaben:

<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2">
  <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0</cbc:CustomizationID>
  <cbc:ID>RE-2024-003</cbc:ID>
  <cbc:IssueDate>2024-01-15</cbc:IssueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cbc:BuyerReference>04011000-1234512345-06</cbc:BuyerReference>
  <!-- ... -->
  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>58</cbc:PaymentMeansCode>
    <cac:PayeeFinancialAccount>
      <cbc:ID>DE89370400440532013000</cbc:ID>
      <cbc:Name>Musterfirma GmbH</cbc:Name>
      <cac:FinancialInstitutionBranch>
        <cbc:ID>COBADEFFXXX</cbc:ID>
      </cac:FinancialInstitutionBranch>
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>
  <!-- ... -->
</Invoice>

Aufbau einer deutschen IBAN

Eine deutsche IBAN hat immer 22 Zeichen und folgt diesem Schema:

PositionInhaltBeispiel
1-2LändercodeDE
3-4Prüfziffer89
5-12Bankleitzahl (BLZ)37040044
13-22Kontonummer0532013000

Sonderfälle und häufige Fehler

  1. Leerzeichen entfernen: IBANs werden auf Papier oft in Vierergruppen dargestellt (DE89 3704 0044 0532 0130 00), müssen in der XML-Datei aber ohne Leerzeichen angegeben werden: DE89370400440532013000.

  2. Nicht-deutsche IBANs sind gültig: BR-DE-17 akzeptiert IBANs aus allen Ländern. Eine österreichische IBAN (AT611904300234573201, 20 Zeichen) oder niederländische IBAN (NL91ABNA0417164300, 18 Zeichen) sind ebenfalls gültig. Die Länge variiert je nach Land.

  3. Prüfziffernvalidierung: Die Prüfziffer an Position 3-4 wird nach dem MOD-97-Verfahren (ISO 7064) berechnet. Eine reine Formatprüfung kann die IBAN akzeptieren, aber die mathematische Prüfziffernkontrolle könnte separat fehlschlagen.

  4. BIC kann erforderlich sein: Für Zahlungen an Konten außerhalb des SEPA-Raums kann zusätzlich der BIC (Business Identifier Code) in BT-86 erforderlich sein. Innerhalb des SEPA-Raums ist der BIC seit 2016 optional.

  5. Kontonummer vs. IBAN: BT-84 erwartet eine IBAN, keine alte nationale Kontonummer. Falls Ihnen nur BLZ und Kontonummer vorliegen, müssen diese erst in eine IBAN konvertiert werden. Die meisten Banken bieten hierfür Online-Tools an.

  6. ZUGFeRD/Factur-X (CII): In der CII-Repräsentation befindet sich die IBAN unter <ram:IBANID> im Element <ram:SpecifiedTradeSettlementPaymentMeans><ram:PayeePartyCreditorFinancialAccount>.