KontoCheck

Check whether a certain bic/account-no-combination can possibly be valid for a German bank.

It uses the C library konto_check (see http://sourceforge.net/projects/kontocheck/) by Michael Plugge.

Example

An example tends to tell more than a 1000 words:


>> require "konto_check"
true

>> KontoCheck::init("./blz.lut")
true

# konto_check?(blz, ktno) => true/false (valid/invalid)
>> KontoCheck::konto_check?("52250030", "52001")
true

>> KontoCheck::konto_check?("52250030", "52002")
false

# ISO-8859-1 encoded name of bank
>> KontoCheck::bank_name("10010010")
"Postbank"

# there is more, RTFS or wait for/help creating more examples...

Short ‘Documentation’

KontoCheck::konto_check?(<blz>, <kto>)

check whether the given account number kto can possibly be a valid number of the bank with the bic blz.

KontoCheck::init(<lut_file>)

initialize the underlying C library konto_check with bank information from the LUT file lut_file. The LUT file can be created from the plain text file found at: http://www.bundesbank.de/zahlungsverkehr/zahlungsverkehr_bankleitzahlen_download.php This file is updated every three months, so be sure to replace (and regenerate) it regularly.

There will be a rake task to update the LUT file soon.

KontoCheck::bank_name(<blz>)

returns the name of the bank as a (ISO-8859-1 encoded) string or raises a runtime error with a short error message if an error occurred (invalid blz, blz too short, etc.). This may be changed in the future to simply return nil (should be discussed).

License

Since the original http://www.informatik.hs-mannheim.de/konto_check/ is licensed under LGPL, so is this module.