• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Prüfziffernprüfung Kontonr

Tectum

New member
Hy Leute, ich habe ja eine Datenbank mit Hunderten Kunden, ich will nun nachträglich eine Kontonummernprüfung machen. Ich habe von der bundeszentralbank die BLZ-Datei in die Datenbank gelesen, auch habe ich mir die PDF zur validierung runtergeladen (leichte 70Seiten stark :D).

Zu anfang kurze frage: Hat das schon jemand hinter sich, der mir die Arbeit ersparen möchte?

Denke nicht :) Daher zum zweiten, die Berechnungen sind ja auf den ersten blick nicht so schwer, aber was sind die Kennzeichen also die 00 oder B4 oder so? Wo stehn die in der BLZ-Datei?
 
muss ja zur zerlegung der kntonummer str_split nutzen, aber das geht erst ab php5, mein 1und1 hat nur 4.4.9 - gibts zu dem befehl ne alternative? oder kann ich auf PHP5 aufstocken?
 
Außerdem kann man auf Strings genausogut zugreifen wie auf Arrays:
PHP:
$t = "hallo";
echo $t{1};
 
Zu anfang kurze frage: Hat das schon jemand hinter sich, der mir die Arbeit ersparen möchte?
Ich verwende für soetwas die SOAP-Schnittstelle des IBAN-Rechners (http://www.iban-bic.com/soap0.html)
Ist zwar kostenpflichtig aber die Kosten sind äußerst überschaubar, 1.000 Berechnungen für 12 Euronen.

Vorteil: Der Macher beschäftigt sich intensivst mit der Materie, er hat auch immer aktuelle Datenbestände und gibt sogar eine Korrektheitsgarantie. Du brauchst dich also weder mit der deutschen noch mit irgendeiner anderen BLZ-Datei oder PZ-Berechnung beschäftigen, die teils wirklich kompliziert sind. Davon würde ich Abstand nehmen, die fast 150 Prüfziffernmethoden nach zu programmieren :)
Die Prüfziffern sind das, was Du mit 00 und B4 gefragt hast......
Vorteil2: Wenn es bald nur noch SEPA gibt, wirst Du mit deutschen Kontonummern ohnehin nichts mehr anstellen können und brauchst die IBAN's. Auch dies kann der IBAN-Rechner gleich mit übernehmen.
Von daher speichere ich in neuen Anwendungen auch nur noch IBAN und BIC, keine Kontonummer und BLZ mehr.
Vorteil3: Wenn dazu fragen sind bekommst Du innerhalb eines Tages Antwort und kannst mich auch hier fragen.
Vorteil4: Und durch die Funktion Massenberechnung kannst Du den ganzen alten Bestand durchrattern lassen mit einem Augenzwinkern.
Vorteil5: Das laufende Geschäft (Prüfung von Kontonr/BLZ/IBAN/BIC aufgrund Usereingaben) wird Dir auch abgenommen, der IBAN-Rechner ist im übrigen mehrfach ausfallsicher konzipiert.
 
Zuletzt bearbeitet:
@mikdoe
Für die Nutzung einer SOAP-Schnittstelle müssen doch aber einige PHP-Funktionen (fsockopen & co) beim Hoster freigeschaltet sein !?
Oder gibt es andere Möglichkeiten solche Services zu nutzen? Bin da nicht ganz auf dem aktuellen Stand.
 
Sorry, ich weiß nicht, was man bei PHP dafür braucht.
Im Beispiel http://www.iban-bic.com/soapsample.html sehe ich zumindest nichts von Socket-Kommunikation. Es scheint eine PHP Funktion namens SoapClient zu geben.
Zitat: "Auf dem Server sollten php5 und die Pakete php-soap und openssl installiert sein."

Käme ja dann einfach mal auf einen Test an. Ansonsten wäre die Frage ob es ein Problem für einen Provider darstellt, das nötige freizuschalten/zu installieren. Wer einen Shop o.ä. betreibt, wo man mit Kontonummern zu tun hat, sollte m.E. auch einen prof. Provider unter Vertrag haben.
 
also ich stell mich der Herausforderung alle 150 Prüfziffern zu proggen, kann man ja nur bei lernen ;) hab 00 fertig nur finde ich auch bei Wikipedia nicht, wann welche Kontonr mit welchem rechner geprüft wird. Hat da einer n tip für mich?
 
Kommt auf die Bank an - ist bei der Deutschen Bundesbank hinterlegt, welche Bank welches Prüfverfahren benutzt.

Wirklicher Spaß ist das aber nicht zu programmieren...
 
also ich stell mich der Herausforderung alle 150 Prüfziffern zu proggen, kann man ja nur bei lernen ;)
Dann wünsche ich viel Glück.
Ich hoffe, Du findest auf Dauer genügend Zeit, die Änderungen bzw. Ergänzungen immer alle zu pflegen. Und vergiß nicht: Die BLZ-Datei der Bundesbank kommt alle drei Monate neu raus. Wenn Du die nicht aktuell hälst, kannst Du Deinen Code einstampfen, dann funktioniert nichts mehr.

hab 00 fertig nur finde ich auch bei Wikipedia nicht, wann welche Kontonr mit welchem rechner geprüft wird. Hat da einer n tip für mich?
Du findest in der BLZ-Datei der Bundesbank je Bank eine Zeile. Ziemlich weit rechts gibt es eine Spalte (Nr. 9, Zeichen 151 und 152), wo die für die jeweilige BLZ zutreffende PZ-Methode vermerkt ist.
Soll heißen:
Erst schauen, welche BLZ -> BLZ-Datei schauen, welche PZ-Methode -> Kontonummer mit dieser Methode berechnen ob passend

Beschrieben ist das alles hier: http://www.bundesbank.de/download/zahlungsverkehr/zv_merkblatt_blz.pdf

Und nochmal der Hinweis: Wenn Du weiterhin auf Konto und BLZ baust, investierst Du in ein sterbendes System!
 
gibts denn auch prüfverfahren für IBAN und BIC?
Kann man ja umformatieren
Ja, IBAN's haben nochmal eine zusätzliche Prüfziffer drin. Das ist aber nicht der Haken.
Sondern die Tatsache, dass eine IBAN ja immer die nationale Kontonummer und BLZ (soweit vorhanden) enthält.
Das heißt, es muss erstmal nach nationalen Regeln berechnet werden und dann darauf nochmal die IBAN-PZ berechnet werden.
Wenn Du also mit Deinen 150 deutschen PZ's fertig bist, kommen nochmal etliche weitere pro SEPA-Land hinzu :)
Und darüberhinaus braucht man noch die BIC's die wiederum keine PZ haben und an die so ohne weiteres nicht ran zu kommen ist. SWIFT beispielsweise will für Zugriff auf BIC-Verzeichnisse reichlich Geld haben.....

Damit und mit der anschließenden laufenden Pflege dürftest Du Dir einen Vollzeitjob geschaffen haben. Nochmal: Es gibt dafür nicht umsonst Dienstleister :eek:
 
ich denke nicht dass sich so schnell was an den prüfziffernberechnungen was tut, lediglich die blz-datei, dafür hab ich schon ein input geproggt, aktualisier ich halt immer wenns was neues gibt ;)
 
ich denke nicht dass sich so schnell was an den prüfziffernberechnungen was tut
Allein für Deutschland sicher nicht in dem Rahmen.

Aber wie lange könnt Ihr Euch leisten, Kunden mit Nicht-Deutschem Konto nicht zu bedienen? Denn selbst wenn Griechenland aus der EU rausfliegen sollte wird die Entwicklung hin zu SEPA verbunden mit IBAN+BIC m.E. weiter voran getrieben werden. Und eines Tages werdet Ihr eine Lastschrift nach Polen ziehen wollen und auch prüfen wollen, ob der polnische Kunde eine korrekte IBAN+BIC hinterlassen hat. Und dann? Dann rollst Du das komplette Thema von vorne auf.
 
Zuletzt bearbeitet:
kurze frage zu 02 Modulus 11

Testkontonr laut Anweisung: 9290701

Modulus 11, Gewichtung 2, 3, 4, 5, 6, 7, 8, 9, 2
Die Stellen der Kontonummer sind von rechts nach links mit den Ziffern 2, 3, 4, 5, 6, 7, 8, 9, 2 zu multiplizieren. Die jeweiligen Produkte werden addiert. Die Summe ist durch 11 zu dividieren. Der verbleibende Rest wird vom Divisor (11) subtrahiert. Das Ergebnis ist die Prüfziffer. Verbleibt nach der Division durch 11 kein Rest, ist die Prüfziffer 0. Ergibt sich als Rest 1, ist die Prüfziffer zweistellig und kann nicht verwendet werden. Die Kontonummer ist dann nicht verwendbar.

PHP:
$gew	= "234567892";
	if(strlen($konto) < 10){$konto = str_repeat( '0', 10 - strlen( $konto ) ).$konto; }
	for($i = 0; $i < 8; $i++ ){$erg = $erg + ($konto{$i}*$gew{$i});}
	$erg = 11 - ($erg % 11);
	echo$erg;
da kommt 4 raus, obwohl die Prüfziffer 1 ist ??????
Hab ich was falsch gemacht?
 
Zurück
Oben