Menu

Tree [b3a44b] main /
 History

HTTPS access


File Date Author Commit
 cmake 2024-01-06 Ralf Habacker Ralf Habacker [70492a] Let filename of downloaded raw sepa file honor ...
 data 2024-01-06 Ralf Habacker Ralf Habacker [ffe20b] Adjut filename for download sepa data
 src 2025-05-15 Ralf Habacker Ralf Habacker [b3a44b] cmake: Make downloading raw data optional
 CMakeLists.txt 2024-01-04 Ralf Habacker Ralf Habacker [d15913] Moved from ktoblzcheck project
 README.md 2025-05-15 Ralf Habacker Ralf Habacker [437c6b] Readme.md: remove obsolete reference to develop...

Read Me

KtoBLZCheck-data is a package providing up to date bankdata information
in several formats.

Naming explanation: This library provides a check for "kto" (German
abbreviation for account number) and "blz" (German abbreviation for
bank identification code, A.B.A. code or similar).

Introduction

Requirements

  • cmake
  • c++ compiler (gcc, clang, mingw or msvc)
  • python 3 interpreter (e.g package python3-base on openSUSE)
  • installed python modules: ctypes, sqlite3, openpyxl >= 0.7.1
  • internet access for downloading bankdata files

Compiling Ktoblzcheck

First you need to unpack the source either by fetching from git with

cd <some-root-dir>
git clone https://git.code.sf.net/p/ktoblzcheck/data ktoblzcheck-data

This will create a directory named ktoblzcheck-data, which you need to specify
later as source directory.

or from a tarball located at https://sourceforge.net/projects/ktoblzcheck/files/

cd <some-root-dir>
tar -xzf <download-root>/ktoblzcheck-data-1.0.0.tar.gz

This will create a directory named ktoblzcheck-data-1.0.0, which you need to specify
later as source directory.

There are different ways to compile ktoblzcheck depending on the platform and/or
used compiler.

Unix like OS

For compiling ktoblzcheck on Unix like OS, after you got the sources as described
above, you need to run:

cmake -S ktoblzcheck-data -B ktoblzcheck-data-build [<additional-cmake-options>] [1]
cmake --build ktoblzcheck-data-build 
sudo cmake --build ktoblzcheck-data-build -t install

[1] for available cmake options see below

GCC/Windows (MinGW32)

You need to download a MingW compiler from http://sourceforge.net/projects/mingw-w64/.
After unpacking and placing the bin dir into the PATH environment variables you need to run

cmake -G "MinGW Makefiles" -S ktoblzcheck-data -B ktoblzcheck-data-build [<additional-cmake-options>] [1]
cmake --build ktoblzcheck-data-build 
cmake --build ktoblzcheck-data-build -t install

MSVC/Windows

For compiling ktoblzcheck-data for MSVC you need to open a MSVC command shell

cmake -G "NMake Makefiles" -S ktoblzcheck-data -B ktoblzcheck-data-build [<additional-cmake-options>] [1]
cmake --build ktoblzcheck-data-build 
cmake --build ktoblzcheck-data-build -t install

Running

Unix like OS

sqlite3 /usr/local/share/ktoblzcheck/bankdata.de.db
sqlite> select * from institutions limit 5;
DE|10000000|MARKDEF1100|09|Bundesbank|Berlin                             |
DE|10010010|PBNKDEFFXXX|24|Postbank Ndl der Deutsche Bank|Berlin                             |
DE|10010123|QNTODEB2XXX|09|OLINDA Zweigniederlassung Deutschland|Berlin                             |
DE|10010178|REVODEB2XXX|09|Revolut Bank, Zweigniederlassung Deutschland|Berlin                             |
DE|10010200|TRZODEB2XXX|09|Treezor, Berlin|Berlin                             |

Additional CMake Options

The cmake build system provides some additional options, which could be specified on
the cmake command line in the form -D<option-name>=<value></value></option-name>

option name                    platform             value              default value
-------------------------------------------------------------------------------------
ENABLE_BANKDATA_DOWNLOAD         all               OFF/ON                  ON
Enable download of raw bank data file - if this option is set to OFF, cmake uses
already present bank data file

INSTALL_RAW_BANKDATA_FILE        all               OFF/ON                  OFF
Install raw bank data file - this option is useful for 3rdparty applications like kmymoney

INSTALL_SEPA_BANKDATA_FILE       all               OFF/ON                  OFF
Install sepa provider data file in csv format

Bank List Format

A file with all bank codes (BLZ Datei) can regularly be retrieved from
the Deutsche Bundesbank at bundesbank.de, more specifically from

http://www.bundesbank.de/de/aufgaben/unbarer-zahlungsverkehr/serviceangebot/bankleitzahlen/download---bankleitzahlen-602592

Updating to the most recent bank data file is done automatically by
the build system if cmake configure option -DENABLE_BANKDATA_DOWNLOAD=1
has been set (which is the default).

Since version 1.16, ktoblzcheck installs multiple bankdata files which
are valid at different dates. Each of the bank code files from the
Deutsche Bundesbank is valid for three (3) months. Ktoblzcheck ships
with the bankdata file from several validity periods: One file is
valid at the date of release; and the second file is valid in the three
subsequent months (i.e. it is newer). If even the newest file is
outdated at the day of when libktoblzcheck is used, a warning line
will be printed to stderr and the newest file will be used anyway.

Note: The available files (marked by the first valid day as part of
the filename) and their validity period are looked up by simply taking
all files in the BANKDATA_PATH folder into consideration. Hence, you
can install a new bank data file by copying the correct file format
into that folder, which is done automatically by the cmake build system

Note 2nd: The bank data file "bankdata.txt" with no date in the file
name is not used anymore. It used to be a one-to-one copy of the
newest file, but with ktoblzcheck-1.35 this file is neither used nor
shipped anymore.

Note 3rd: All of the above is ignored if a bankdata file is explicitly
requested by the command line argument --file=... . In that case
the specified file is used and no further date comparisons are made.

The bankdata.txt file used by ktoblzcheck contains less information
than the file provided by the Bundesbank. Namely, it contains only
four tab-delimited columns and only those lines that refer to the main
institutes instead of all branches. The provided python script
src/bankdata/bundesbank.py (provided by Ralf Habacker) will automatically
convert the Bundesbank's ascii file into the required ktoblzcheck format.

If you got the Bundesbank BLZ file in excel format, the four columns
for bankdata.txt are A, O, G, J, in that order, and it has only those
lines which have a '1' in column B.

Authors

The original author was Fabian Kaiser fabian@openhbci.de.
Christian Stimming stimming@tuhh.de and Alexander Kurz sf2@blala.de
contributed to the project. Current maintainer is
Ralf Habacker ralf.habacker@freenet.de

For contacting the authors, please write to the mailing list
< ktoblzcheck-cvs@lists.sourceforge.net >. This list is subscriber-only
which means you need to subscribe if you want to post to the
list. Subscription information can be found on
https://sourceforge.net/projects/ktoblzcheck/lists/ktoblzcheck-cvs

MongoDB Logo MongoDB