IBAN-Rechner (nur für deutsche Bankverbindungen)

Bankleitzahl:    

Kontonummer:     



IBAN Prüfziffer berechnen – Anleitung und Rechner

von aktualisiert am: 17.12.2017

IBAN Prüfziffer errechnenNicht nur Softwareentwicklern stellt sich im Rahmen der SEPA-Umstellung (Single Euro Payments Area) bis Februar 2014 (Fristverlängerung durch EU bis Januar 2016) die Frage, wie sich algorithmisch oder rechnerisch im Excel aus der alten Kontonummer und BLZ die neue IBAN ermitteln lässt. Das Problem ist dabei weniger das Modulo 97 Verfahren nach ISO 7064, sondern die begrenzte Fähigkeit von Excel und diversen Rechnern mit sehr langen Zahlen mit über 15 Stellen umzugehen.

Warum überhaupt eine Prüfziffer?

Die bekannte ISBN des Buchhandels oder EAN-Codes der Konsumartikel beinhalten eine Prüfziffer, um bei Erfassung und Verarbeitung der Schlüsselbegriffe Tippfehler leicht erkennen zu können und von der Verarbeitung in der EDV auszuschließen.

Schon in den Scannern und Lesegeräten des Handels sind diese Prüfroutinen fest einprogrammiert, sodass z.B. manipulierte Barcodes nicht in die Systeme gelangen. Das Prinzip ist immer gleich. Mathematische Operationen verarbeiten alle zur Verfügung stehenden Zahlen und Buchstaben und errechnen eine oder mehrere Ziffern, die oft an das Ende der Nummer rücken. Verändern sich einzelne Bestandteile der Nummer ist immer auch eine neue Prüfziffer zu errechnen.

Die Prüfziffernberechnungen, wie im Beispiel Modulo 97 zur Sicherung der Integrität der IBAN, sind nicht so trivial, dass ein Ausrechnen im Kopf erfolgen könnte.

Schritt für Schritt Anleitung zur korrekten IBAN:

Sie können unseren IBAN-Rechner am Anfang der Seite verwenden! Hier zeigen wir Step by Step wie die Berechnung zur neuen SEPA konformen IBAN manuell ohne Mod-Funktionen erfolgen kann. Als Beispiel haben wir eine Kontonummer bei der Ostsächsischen Sparkasse Dresden gewählt.

Basisdaten:
BLZ: 850 503 00
Kontonummer: 4000 428549

IBAN mit Prüfziffer an Stelle 3-4 als Ziel:
DE25 8505 0300 4000 4285 49

Sieht ganz einfach aus. Aus der alten BLZ und der Kontonummer lässt sich die IBAN fast bilden. Ok, der Ländercode DE ist noch voranzustellen. Wäre da nicht die Prüfziffer, in diesem Fall die 25 als gewünschtes Ergebnis unserer Berechnung. Um das Resultat zu erhalten, kommt das Modulo 97 Verfahren zum Einsatz.

1. Zuerst findet eine Verschiebung der Zeichenkette statt. Der Ländercode DE und 00 für den fehlenden Prüfcode rücken an das Ende der Zeichenkette. Achtung! Bei Kontonummern kleiner 10 Zeichen ist mit führenden Nullen aufzufüllen. In unserem Beispiel ist das nicht notwendig.

85050300 4000428549 DE00

2. Für jeden Buchstaben des Ländercodes findet eine Substitution durch einen Zahlencode statt, da mit Buchstaben bekanntlich nicht gerechnet werden kann.

Für jeden Buchstaben des Alphabets findet beginnend mit 10 für A die Ersetzung statt.

ABCDEFGHIJKLMNOPQRSTUVW..
1011121314151617181920212223242526272829303132..

Aus DE wird demzufolge 1314. Neuer Ausgangswert für die Berechnung der IBAN Prüfziffer:
85050300 4000428549 1314 00

3. Normalerweise könnten wir jetzt mit dem Modulo-Verfahren ansetzen, wäre da nicht die rechnerische Begrenzung von vielen Softwareplattformen und Tabellenkalkulationen wie z.B. Excel. Die 23-stellige Zahl muss leider in 9 oder 18-er Blöcke zerlegt werden, was die SEPA-Konvertierung nicht einfacher macht.

Für jeden der Blöcke ist die ganzzahlige Differenz zum nächstkleineren Vielfachen von 97 zu errechnen. Im Excel kann für folgende Formel verwendet werden: Block-(GANZZAHL(Block/97)*97). Block ist natürlich durch die jeweilige Ziffernfolge unserer Tabelle zu ersetzen.

850503004000428549131400

Block 1Division / 97 (ganzzahlig)* 97Diff. bzw. Rest
850503004876807285050298420

Jetzt ist der Rest an den Anfang zu setzen und die nächsten Ziffern heranzuziehen bis wieder 9 Stellen erreicht werden. Ist der Rest kleiner 10 wird mit einer führenden Null aufgefüllt.

Wir erhalten 200004285. Damit wird wieder der Modulo 97 errechnet. Das wird solange wiederholt bis alle Ziffern der ursprünglichen Nummer aufgebraucht sind. Der letzte erhaltene Rest im Zyklus ist ein letzter Ausgangswert zum Erhalt der Prüfziffer.

Block nDivision / 97 (ganzzahlig)* 97Differenz bzw. Rest
200004285206189920000420382
824913140850425982491312317
17019773

4. Im letzten Schritt wird die Differenz aus 98 und unserem zuletzt erhaltenen Rest (73) errechnet. Das Ergebnis 25 ist unsere gesuchte Prüfziffer. Wäre das Ergebnis kleiner als 10, ist eine Null voranzusetzen.

Die Prüfziffer für die IBAN kann eingesetzt werden: DE25 8505 0300 4000 4285 49. Besagte Routinen können programmiert werden und als nützliches Tool die SEPA-Umstellung erleichtern.

Gibt es keine Einschränkungen bzgl. der Stelligkeit ist das Modulo Verfahren natürlich einfacher anzuwenden. Steht eine MOD() Funktion zur Verfügung, ist auch die Differenz des kleinsten ganzzahligen Vielfachen vom Ausgangswert einfacher zu ermitteln.