Wir schreiben das Jahr 2014 und das Thema SEPA(Single Euro Payments Area) ist noch lange nicht vorbei. Im Vordergrund steht dabei die Umwandlung der alten Bankleitzahl und Kontonummer in das neue Format IBAN.
Bitte nicht wundern, aber einige Unternehmen nutzen dafür kostenlose bzw. werbefinanzierte Webapps. Was mit den Kundendaten passiert, weiß da leider Keiner und der Datenschutz ist defakto nicht gewährleistet. Aber muss das sein?
Die Antwort lautet ganz klar NEIN und der Grundalgorithmus ist in 40 Zeilen programmiert. In diesem Beitrag geht es um den Standardweg eine IBAN zuberechnen.
In Deutschland besteht die IBAN aus insgesamt 22 Buchstaben und Ziffern. Die Bestandteile der deutschen IBAN sind:
DE 10 10090044 0532013018
Besteht die Prüfziffer oder die Kontonummer aus weniger Zahlen, werden die fehlenden Stellen am ANFANG mit Nullen aufgefüllt!!!
Länderkennzeichen, Bankleitzahl und Kontonummer sind klar, einzig die Prüfziffer muss berechnet werden. Allgemein sieht der Algorithmus so aus:
Verstanden? Ich nicht, daher kommt hier der Algorithmus in Java programmiert:-)
public String convertKnrBlzToIBAN(String knr, String blz){ // zehnstellige Kontonummer if(knr.length() < 10){ int anz = 10 - knr.length(); for (int i = 0; i < anz; i++) { knr = "0" + knr; } } // Pruefziffer // die 1314 steht fuer DE und die 00 fuer die fehlenden Prueffziffern String checkIBAN = blz + knr + "131400"; // String in eine Zahl konvertieren BigInteger checkIBANSum; try { checkIBANSum = new BigInteger(checkIBAN); } catch (Exception e) { // TODO:FEHLER RICHTIG behandeln!!!! return "Fehler"; } // Modulo rechnen BigInteger faktor = new BigInteger("97"); long div = checkIBANSum.remainder(faktor).longValue(); // Differenz zu 98 long pZiffer = 98 - div; // IBAN Regeln einhalten (22 Stellen) String IBAN = ""; if(pZiffer < 10){ IBAN = "DE0" + pZiffer + blz + knr; }else{ IBAN = "DE" + pZiffer + blz + knr; } return IBAN; }
Wer auch immer eine Bankleitzahl zu einer BIC transformieren muss oder will – kann auf eine Bankleitzahlendatei der deutschen Bundesbank zurückgreifen. Hier ist Link…
Der Algorithmus sollte klar sein:)
Copyright © 2014 AxxG – Alexander Gräsel
Sehr cool! Bin auch gerade daran für http://ibanberechnen.de einen Rechner zu basteln
Super! Ich wünsche dir viel Erfolg:)
Thanks for sharing.
Danke für den Beitrag, ich suche noch immer nach einer eleganten Lösung für Javascript um eine IBAN zu errechnen, falls der Kunde noch immer nur Kontonummer und Bankleitzahl hat. Aber das hier hat mir schon sehr geholfen.
Hallo, wie kann man aber aus einer Prüfziffer mögliche Kontonummern errechnen ?
gar nicht, weil die Prüfziffer alleine zu wenig ist…..