Was ein IBAN ist
Eine International Bank Account Number (IBAN) ist eine standardisierte Schreibweise einer nationalen Kontokennung, damit grenzüberschreitende Zahlungssysteme sie einheitlich routen und prüfen können. In Europa und vielen anderen Regionen verlangen Zahlungsformulare, Rechnungen und Banking-Apps eine IBAN statt—oder zusätzlich zu—älteren nationalen Formaten.
Dieser Leitfaden erklärt Struktur und Prüfziffern zum Lernen und für Softwaretests. Er hilft niemandem, Kontonummern zu missbrauchen. Nutzen Sie nur Konten, zu deren Verwendung Sie berechtigt sind, und bevorzugen Sie offizielle Bankdokumentation für echte Zahlungen.
Um Formatprüfungen an Beispiel- oder Testwerten auszuprobieren, siehe das IBAN-Prüfwerkzeug.
Aufbau auf hoher Ebene
Eine IBAN ist eine einzelne Zeichenkette (oft in Vierergruppen dargestellt) mit diesem konzeptionellen Aufbau:
- Ländercode — zwei Buchstaben (ISO 3166-1 alpha-2), zum Beispiel
DE,FR,IT,ES,NL. - Prüfziffern — zwei Ziffern, berechnet aus dem Rest der Nummer.
- Basic Bank Account Number (BBAN) — ein landesspezifischer nationaler Teil, der Bankcodes, Filialcodes, Kontonummern und nationale Prüzeichen enthalten kann.
Die Gesamtlänge ist pro Land fest, aber nicht über Länder hinweg gleich. Deutsche IBANs haben eine andere Länge als französische oder italienische. Validatoren schlagen daher zuerst die erwartete Länge anhand des Ländercodes nach, bevor tiefere Prüfungen folgen.
Warum Prüfziffern existieren
Tipp- oder OCR-Fehler in langen Kontenzeichenketten sind teuer. Die IBAN-Prüfziffern erkennen viele Einzelzeichenfehler und einige Vertauschungen, bevor eine Zahlung eingereicht wird. Sie sind kein Geheimhaltungsmechanismus und beweisen nicht, dass ein Konto offen, gedeckt oder einer bestimmten Person gehört—sie beweisen, dass die Zeichenkette laut Prüfsummenalgorithmus wohlgeformt ist.
Die MOD-97-Prüfung (konzeptionell)
Die internationale Prüfung nutzt ISO 13616 / MOD-97:
- Die ersten vier Zeichen (Ländercode + Prüfziffern) ans Ende der Zeichenkette verschieben.
- Buchstaben durch Zahlen ersetzen (A = 10, B = 11, …, Z = 35).
- Das Ergebnis als große Ganzzahl interpretieren und diese Ganzzahl modulo 97 berechnen.
- Eine gültige IBAN ergibt den Rest 1.
Weil die Ganzzahl sehr lang sein kann, nutzen Implementierungen stückweise Modulo-Arithmetik statt die gesamte Zahl als natives Integer in Sprachen mit fester Bitbreite zu speichern.
Schreiben Sie Tests mit bekannten gültigen Fixtures aus öffentlicher Dokumentation und bekannten ungültigen Zeichenketten, die an Länge, Zeichensatz oder Prüfsumme scheitern.
Länderspezifische BBAN-Muster
Nach Ländercode und Prüfziffern definiert jedes Land seine BBAN:
- Manche enthalten eine explizite nationale Bankkennung.
- Manche enthalten ein Filial- oder Sort-Code-Analogon.
- Manche betten eine nationale Prüfsumme ein, getrennt von den IBAN-Prüfziffern.
- Zeichensätze können je nach nationalem Schema rein numerisch oder alphanumerisch sein.
Software, die nur die internationale MOD-97-Prüfung ausführt, akzeptiert strukturell prüfsummengültige Nummern auch dann, wenn der nationale Bankcode nicht vergeben ist. Vollständige Routing-Validierung braucht nationale Regeln oder Verzeichnisdienste jenseits der IBAN allein.
Formatierung und Speicherung
Anzeige. Gruppierung in Vierergruppen verbessert die Lesbarkeit (Stil DE89 3704 0044 0532 0130 00). Leerzeichen gehören nicht zum elektronischen Wert.
Speicherung. Die kompakte Form speichern: Großbuchstaben und Ziffern ohne Leerzeichen. Benutzereingaben normalisieren, indem Leerzeichen entfernt und Buchstaben in Großbuchstaben umgewandelt werden, bevor validiert wird.
Papierformulare. Menschen behalten oft Leerzeichen; Ihre Eingabeschicht sollte sie tolerieren.
SEPA-Kontext (bildungshalber)
Im Single Euro Payments Area identifizieren IBANs (und oft BICs) Konten für Euro-Überweisungen und verwandte Verfahren. Die Rolle der IBAN ist standardisierte Identifikation; Zahlungserfolg hängt weiterhin von Banksystemen, Mandaten, Salden und Compliance-Prüfungen ab, die außerhalb des Formats liegen.
Validierung in Anwendungen implementieren
Eine praktische Checkliste:
- Leere Eingabe ablehnen.
- Groß-/Kleinschreibung und Abstände normalisieren.
- Erlaubte Zeichen bestätigen (A–Z, 0–9).
- Ländercode lesen; erwartete Gesamtlänge nachschlagen.
- MOD-97 ausführen.
- Optional nationale BBAN-Strukturprüfungen anwenden, wenn Sie diese Muster pflegen.
- Stabile Fehlergründe zurückgeben (
invalid-length,invalid-checksum,unsupported-country) für die UI-Zuordnung.
„Reparieren“ Sie in Zahlungssoftware keine beinahe korrekte Kontonummer stillschweigend; bitten Sie die Nutzerin oder den Nutzer, bei der Bank nachzufragen.
Testen ohne Live-Konten
Entwicklerinnen und Entwickler brauchen Fixtures. Angemessene Strategien:
- Offiziell veröffentlichte Beispiele von Normungsstellen oder Bank-Entwicklerportalen nutzen, die als Samples gekennzeichnet sind.
- Prüfsummengültige Testvektoren in isolierten Testumgebungen erzeugen, sofern Ihre Organisation das erlaubt.
- Für Integrationstests bevorzugen Sie dedizierte Testzugangsdaten aus Sandbox-Systemen von Zahlungsanbietern.
Ernten oder verteilen Sie niemals echte Kunden-IBANs aus Produktionslogs in öffentliche Repositories.
Häufige nutzerseitige Fehler
- Verwechslung von
0undObzw.1undIauf handschriftlichen Formularen. - Einfügen einer IBAN mit vorangestelltem BIC oder Kontoinhabernamen.
- Verwendung eines nationalen Kontoformats, wo eine IBAN verlangt wird (oder umgekehrt).
- Annahme, eine korrekte Prüfsumme bedeute, dass eine Zahlung gelingt.
Klare UI-Texte sollten „Format wirkt gültig“ von „Zahlung abgeschlossen“ trennen.
Datenschutz und Sicherheit
IBANs identifizieren Konten. Behandeln Sie sie als sensible Finanzdaten in Logs, Analytics und Support-Tickets. Maskieren Sie in UIs alle bis auf die letzten Zeichen, wenn volle Offenlegung unnötig ist. Browserseitige Prüfung kann eine Zeichenkette gerätegebunden für Formatchecks halten; das macht Screenshots oder kopierte Werte dennoch nicht sicher zum Teilen.
Zugehörige Werkzeuge
Formatprüfhilfen wie IBAN verify sind Bildungs- und Betriebsmittel für Strukturchecks. Kombinieren Sie sie mit banktauglichen APIs, wenn Sie Kontoexistenz oder Namensabgleich unter regulierten Zahlungsflüssen bestätigen müssen.
Zusammenfassung
Europäische IBANs stellen einem nationalen BBAN einen Ländercode und zwei Prüfziffern voran. Die Länge hängt vom Land ab; MOD-97 fängt viele Übertragungsfehler ab; nationale Struktur und Live-Banksysteme gehen weiter. Lernen Sie den Aufbau, um sorgfältige Validatoren zu bauen und Zahlungsformulare sicher zu lesen—stets im Rahmen autorisierter, rechtmäßiger Nutzung von Kontokennungen.