Project

kontocheck

0.01
No commit activity in last 3 years
No release in over 3 years
Check whether a certain bic/account-no-combination can possibly be valid. It uses the C library konto_check (see http://sourceforge.net/projects/kontocheck/) by Michael Plugge.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

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.