IBAN-Tester (IBAN prüfen und erzeugen aus Bankleitzahl und Kontonummer)

Seitenübersicht



 www.schramm-software.de
Screenshot des IBAN-Testers
Screenshot des IBAN-Testers

Die so genannte IBAN (International Bank Account Number) ersetzt bei länderübergreifenden Überweisungen im Euro-Raum (SEPA, Single Euro Payment Area) und zunehmend darüber hinaus die bisherigen nationalen Kombinationen aus Bankleitzahl und Kontonummer (etwa in Deutschland) bzw. anderen Kontoschlüsseln je nach Landessitte. Auch bei Inlandsüberweisungen wird ab einem bestimmten Stichtag (voraussichtlich im Jahr 2014) nur noch die IBAN verwendet werden können. Auch jetzt schon kann es sinnvoll sein, bei Inlandsüberweisungen die SEPA-Variante zu wählen, denn in diesem Fall muss das Kreditinstitut bei rechtzeitiger Einreichung dem Empfänger den Betrag am nächsten Arbeitstag gutschreiben, und als Arbeitstag gilt auch ein nur national gültiger Feiertag wie bspw. der 3. Oktober in Deutschland.

Wohl noch für einige Jahre muss man zusätzlich zur IBAN auch noch einen weiteren alphanumerischen Schlüssel in der Überweisung verwenden, den BIC (Business Identifier Code), der die Bank international identifiziert.

Offensichtlich ist es auf längere Sicht notwendig und schon jetzt sinnvoll, sich mit der IBAN 'anzufreunden'. Sie finden hier ein kleines Programm zur freien Verwendung, das Ihnen dabei helfen kann, den IBAN-Tester:
Download IBAN-Tester (86 KB)
Der IBAN-Tester benötigt keine Installation und verändert weder Dateien noch Registry.

Das Programm wurde unter Microsoft Windows XP entwickelt und sollte mindestens in allen 32bit-Versionen von Windows lauffähig sein (95 bis 7).

Das Programm bietet die folgenden Funktionen:

Das Verfahren zur Ermittlung der IBAN aus BLZ und Kontonummer ist in Deutschland festgelegt. Prinzipiell obliegt die Vergabe der IBAN jedoch immer der kontoführenden Bank. Daher erfolgen alle Angaben des Programms ohne Gewähr. Selbstverständlich kann das Programm nicht prüfen, ob das mit einer IBAN dargestellte Konto tatsächlich existiert. Eine formal korrekte IBAN lässt sich zu jeder beliebigen Phantasie-Kontoverbindung konstruieren.


Programmieren Sie selbst? Dann interessieren Sie vielleicht die Funktionen, die das Programm zur Umrechnung verwendet. Das Programm wurde in der Programmentwicklungsumgebung Delphi von Borland entworfen. Die Funktionen sind daher in der Programmiersprache Pascal formuliert. Sie sollten sich mehr oder weniger eins zu eins in jede andere Programmierhochsprache umsetzen lassen.

// Prüfung einer IBAN auf formale Korrektheit (ohne Prüfung der Gültigkeit des Länderkürzels)
// Autor: Dr. Michael Schramm
function checkIban(const sIban: String): boolean;
var k,n,rest: integer; c: char;
begin
  result:= false;
  n:= length(sIban);
  if (n < 5) or (n > 34) then exit;
  rest:= 0; k:= 5;
  repeat // Zeichen der IBAN in geänderter Reihenfolge per Modulo-97 prüfen
    c:= sIban[k];
    case c of
      '0'..'9': rest:= (rest * 10 + ord(c) - 48) mod 97; // Ziffer als solche einbeziehen
      'A'..'Z': rest:= (rest * 100 + ord(c) - 55) mod 97 // 'A' wie '10, 'B' wie '11' usw.
      else exit
    end;
    inc(k);
    if k > n then k:= 1
  until k = 5;
  result:= (rest = 1)
end;

// IBAN für deutsches Konto aus BLZ und Kontonummer konstruieren
// Autor: Dr. Michael Schramm
function compIbanDE(const sBlz,sKto: String): String;
var k,i: integer; sK,s: String;
begin
  result:= '';
  k:= length(sKto);
  if (k = 0) or (k > 10) or (length(sBlz) <> 8) then exit;
  if k = 10 then sK:= sKto
  else sK:= stringOfChar('0',10-k)+sKto;
  s:= sBlz+sK+'131400';
  i:= 0;
  for k:= 1 to 24 do begin
    i:= (10 * i + ord(s[k])-48) mod 97;
  end;
  s:= intToStr(98-i);
  if length(s) = 1 then s:= '0'+s;
  result:= 'DE'+s+sBlz+sK
end;