https://www.youtube.com/watch?v=FyXFS8WrpNc
1. Einführung
Um heutzutage Überweisungen tätigen oder Abbuchungen über das SEPA-Lastschriftverfahren autorisieren zu können, benötigt man eine sogenannte IBAN-Nummer. IBAN steht dabei für International Bank Account Number. Es handelt sich dabei also um eine international gültige Identifikationsnummer für Bankkonten.Wenn diese falsch eingegeben wird, dann hat das ggf. weitreichende Konsequenzen auf die Zahlungsabwicklung. Deshalb hat man in der IBAN selbst einen Mechanismus integriert, mit dem man prüfen kann, ob eine IBAN korrekt ist - die sogenannte Prüfziffer.
2. Aufbau einer IBAN
Eine IBAN ist (in Deutschland) ein 22-stelliger Code, der sich folgendermaßen zusammensetzt:- Die ersten beiden Stellen sind der sogenannte Ländercode. In Deutschland lautet dieser "DE".- An den Stellen 3 und 4 ist die Prüfziffer gespeichert.- Nach der Prüfziffer folgt eine 8-stellige Bankleitzahl.- Zum Schluss folgt eine 10-stellige Kontonummer.
Eine Besonderheit bei der Kontonummer ist, dass sie zwar 10-stellig sein muss, einige Banken aber auch Kontonummern, die weniger als 10 Stellen haben, führen. Für den Algorithmus werden in diesem Fall später so lange führende Nullen ergänzt, bis die Kontonummer 10 Stellen hat.
3. Algorithmus zur Berechnung der Prüfziffer
Eingabe: Ländercode, Bankleitzahl und Kontonummer
Ausgabe: Prüfziffer der IBAN1. Übersetze den Ländercode in eine Zahl. Da man mit Buchstaben keine arithmetischen Operationen durchführen kann, verwendet verwendet man A=10, B=11, C=12, ..., W=32 usw..
1. Jede Stelle des Ländercodes wird damit übersetzt.
2. Fülle die Kontonummer mit führenden Nullen auf 10 Stellen auf.
3. Schreibe die Bankleitzahl, die Kontonummer und den übersetzten Ländercode zusammen mit "00" für den fehlenden Prüfcode in dieser Reihenfolge hintereinander.
4. Berechne den Rest, der bei der ganzzahligen Division der in Schritt 3 gebildeten Zahl durch 97 entsteht (rechne also modulo 97).
5. Ziehe das Ergebnis aus Schritt 4 von 98 ab. Wenn das Ergebnis kleiner als 10 ist, dann ergänze eine führende Null.
Mit Schritt 5 endet der Algorithmus und du erhältst als Ergebnis die Prüfziffer.
4. Beispiel
Wir berechnen für das fiktive Konto 1234567890 der Deutschen Bundesbank schrittweise die Prüfziffer, die in der IBAN stehen würde. Die Bankleitzahl der Deutschen Bundesbank lautet 10000000.
1. Der Ländercode DE wird mit D=13 und E=14 zu 1314 übersetzt.
2. Da die Kontonummer bereits 10 Stellen besitzt, müssen keine führenden Nullen ergänzt werden.
3. Wenn man die Bankleitzahl, die Kontonummer und den übersetzten Ländercode zusammen mit "00" in dieser Reihenfolge aufschreibt, erhält man die Zahl, mit der im nächsten Schritt weitergerechnet wird: 100000001234567890131400.
4. Wenn man die Zahl aus Schritt 3 modulo 97 rechnet (also den Rest der ganzzahligen Division durch 97 sucht), erhält man als Ergebnis 75.
5. Das Ergebnis aus Schritt 4 wird nun von 98 abgezogen und man erhält 98-75=23. Da 23 nicht kleiner als 10 ist, wird keine führende 0 ergänzt. Die Prüfziffer lautet also 23.
Wenn man nun die dazugehörige IBAN haben möchte, nimmt man den Ländercode, schreibt dahinter die Prüfziffer, die Bankleitzahl und die Kontonummer (ohne führende Nullen). Das Ergebnis lautet: DE23100000001234567890
5. Gültigkeit einer IBAN prüfen
Du kannst natürlich auch den umgekehrten Weg gehen und von einer vorgegebenen IBAN überprüfen, ob diese korrekt berechnet wurde. Nehmen wir dafür das Konto mit der IBAN DE33100000003333333333.
Du kannst an der IBAN ablesen, dass 33 die Prüfziffer ist. DE ist der Ländercode, 10000000 ist die Bankleitzahl und 3333333333 ist die Kontonummer. Nun berechnen wir mit diesen Informationen die Prüfziffer und schauen, ob sie der 33 entspricht.
1. Der Ländercode DE wird mit D=13 und E=14 zu 1314 übersetzt.
2. Da die Kontonummer bereits 10 Stellen besitzt, müssen keine führenden Nullen ergänzt werden.
3. Wenn man die Bankleitzahl, die Kontonummer und den übersetzten Ländercode zusammen mit "00" in dieser Reihenfolge aufschreibt, erhält man die Zahl, mit der im nächsten Schritt weitergerechnet wird: 100000003333333333131400.
4. Wenn man die Zahl aus Schritt 3 modulo 97 rechnet (also den Rest der ganzzahligen Division durch 97 sucht), erhält man als Ergebnis 65.
5. Das Ergebnis aus Schritt 4 wird nun von 98 abgezogen und man erhält 98-65=33. Da 33 nicht kleiner als 10 ist, wird keine führende 0 ergänzt. Die Prüfziffer lautet also 33.
Da die berechnete Prüfziffer mit der Prüfziffer in der IBAN übereinstimmt, ist die IBAN formal korrekt.
Beachte: Auch wenn eine IBAN formal korrekt ist, kann sie Fehler enthalten. Z. B. könnte der Bankleitzahl keine Bank zugeordnet sein oder mehrere falsche Stellen in der IBAN trotzdem zur richtigen Prüfziffer führen.
Dieser Artikel hat 50 Bonuspunkte erhalten. Schreib auch du einen Artikel.