In Deutschland benötigt man wenigstens eine Kontonummer und eine Bankleitzahl, um ein Konto genau identifizieren zu können. In anderen Ländern sieht das nicht unbedingt genauso aus: Manche Länder kennen gar keine Bankleitzahlen, in wieder anderen ist die Anzahl der Ziffern verschieden. Um den internationalen Bankverkehr zu vereinfachen, wurde hierfür ein Standard entwickelt, der sich zwar langsam, aber sicher immer weiter verbreitet. Dieser Standard nennt sich “IBAN”, steht für “International Bank Account Number” und bedeutet für viele tausende Shop-Betreiber allein in Deutschland, die eine Zahlung per Überweisung oder Bankeinzug anbieten, dass sie zukünftig auch die Möglichkeit anbieten sollten, die IBAN statt der gewohnten Kombination aus Kontonummer und Bankleitzahl zu erfassen, oder nur noch die IBAN zu erfassen.

Jedes Konto hat bereits eine IBAN, denn diese lässt sich mithilfe eines bestimmten Algorithmus’ anhand der bisherigen Kontodaten ermitteln. Für Shop-Betreiber kann es schon sehr aufwendig sein, überhaupt eine zusätzliche Kontoangabe zu erfassen, aber beim Umrechnen können wir helfen.

Ohne auf genauere Details und Hintergründe einzugehen, sind bei der Umrechnung folgende Schritte durchzuführen:

  • Die Kontonummer muss aus zehn Ziffern, die Bankleitzahl aus acht Ziffern bestehen, bei kürzeren Nummern müssen führende Nullen hinzugefügt werden.
  • Für jedes Land gibt es eine Kennzahl, die in Ziffern umgerechnet werden muss. Die Kennziffer für Deutschland ist “DE”. Für diese Buchstaben muss jeweils die Position im Alphabet herausgefunden und eine 9 addiert werden, anschließend werden zwei Nullen hinzugefügt. Da das “D” der vierte (4+9=13) und das “E” der fünfte (5+9=14) Buchstabe des Alphabets darstellen, lautet die IBAN-Länderkennziffer für Deutschland “131400”.
  • Zur Berechnung der bereits angesprochenen Prüfziffer werden Bankleitzahl, Kontonummer und Länderkennziffer aneinandergehängt und aus der sich daraus ergebenen Zahl der Modulus von 97 errechnet. Je nach verwendetem System ist an dieser Stelle unbdeingt darauf zu achten, dass mit einem passenden Zahlenformat gerechnet wird. Ein Integer z.B. in PHP ist hierfür nicht ausreichend.
  • Der Modulus wird immer von der Zahl 98 subtrahiert, und das Ergebnis dieser Berechnung ist die Prüfziffer, die einen festen Bestandteil der IBAN darstellt. Auch diese Prüfziffer muss immer aus zwei Ziffern bestehen, sodass je nach Ergebnis eine führende Null hinzugefügt werden muss.
  • Die letztendliche IBAN setzt sich aus zuvor berechneten Zahlen im folgender Reihenfolge zusammen: Länderkennziffern (zwei Buchstaben) + Prüfziffer (zweistellig) + Bankleitzahl (achtstellig) + Kontonummer (zehnstellig)

In PHP könnte die Umrechnung bei vorhandener Landeskennziffer, Kontonummer und Bankleitzahl z.B. so berechnet werden.

Hier kann man sich ein PHP-Skript herunterladen (ZIP-Datei), in der man IBANs in einem einfachen Formular berechnen kann, und in dem die IBAN in einer einzelnen Zeile berechnet wird. Dieses Skript kann außerdem hier ausprobiert werden.

UPDATE: Wie den Kommentaren dieses Artikels zu entnehmen ist, ist dieses Skript aufgrund von Ausnahmen leider nicht allgemeingültig (siehe Kommentare).