Adding support for additional countries
Ralf Habacker
ralf.habacker at freenet.de
Mon Jul 13 09:52:04 BST 2020
Am 11.07.20 um 07:44 schrieb Thomas Baumgart:
> Prasun,
>
> On Montag, 6. Juli 2020 21:30:09 CEST Prasun Kumar wrote:
>
>> Hi mentors,
>> Can you guide me on how should I proceed with adding support for additional
>> countries?
>>
>> As pointed out in the initial discussions by Ralf,
>> https://invent.kde.org/office/kmymoney/-/blob/master/kmymoney/plugins/ibanbicdata/
>> contains some python scripts which are to be used to generate databases
>> which should be added to the library.
>> The scripts contain the link to the respective bank websites which as much
>> I could understand are related to IBANs.
>>
>> However, it would be helpful to get a confirmation about the expected
>> outcomes of this addition.
There two goals
- Add support for additional countries to the checking library. The
bankdata files also need to be added corresponding to these countries.
- Create an API for querying the SQLite databases to enable the
integration of these databases into other applications.
In the kmymoney case they will be a drop in replacement for the present
and outdated sqlite databases and the association api (the files located
at
https://invent.kde.org/office/kmymoney/-/tree/master/kmymoney/plugins/ibanbicdata)
There will be only a few modifications required to switch from the
present implementation inside kmymoney to the implementation provided by
ktoblzcheck, e.g. use classes provided by ktoblzcheck.
> I am not sure if that is really feasible. My dutch is very limited but the provided
> list only contains the BIC for each institution.
Ths is not true, it also provides the bank identifier used to build
iban's, see the second column of
https://www.betaalvereniging.nl/betalingsverkeer/giraal-betalingsverkeer/bic-sepa-transacties,
which is the source for the sqlite database used by kmymoney for netherlands
BIC Identifier
AABNNL2A AABN
According to
https://www.xe.com/ibancalculator/sample/?ibancountry=the%20netherlands
a IBAN for netherland looks like this
IBAN NL91 ABNA 0417 1643 00
ISO Country Code NL (The Netherlands)
IBAN Check Digits 91
BBAN ABNA 0417 1643 00
Bank Identifier ABNA
Account Number 0417164300
SEPA Member Yes
and with the help of the IBAN format specification at
https://www.ecb.europa.eu/paym/integration/retail/sepa/iban/shared/pdf/iban_registry.pdf
it will be possible to implement checks for IBAN's from netherlands (see
page 59)
Data element Example
Name of country The Netherlands
Country code as defined in ISO 3166 NL
Domestic account number example 041 71 64 300
BBAN
BBAN structure 4!a10!n
BBAN length 14
Bank identifier position within the BBAN Positions 1-4
Bank identifier length 4!a
Bank identifier example ABNA
BBAN example ABNA0417164300
IBAN
IBAN structure NL2!n4!a10!n
IBAN length 18
IBAN electronic format example NL91ABNA0417164300
IBAN print format example NL91 ABNA 0417 1643 00
SEPA Country Yes
where the following character representations are used in this document
(see page 5 from the above mentioned document):
n
Digits (numeric characters 0 to 9 only)
a
Upper case letters (alphabetic characters A-Z only)
c
upper and lower case alphanumeric characters (A-Z, a-z and 0-9)
e
blank space
The following length indications are used in this document:
nn!
fixed length
nn
maximum length
> The swiss version points to a larger list, but reading the specs at
>
> https://www.six-group.com/dam/download/banking-services/interbank-clearing/de/bc_bank_master/bc_records.pdf
>
> (sorry, only in German) shows me, that not enough information is contained to be usable
> for your endeavor. Just like with the Dutch version, the only information is the BIC
The files those specification is designed for is located at
https://www.six-group.com/interbank-clearing/de/home/bank-master-data/download-bc-bank-master.html,
which provides a column SSIC-IID, which is for example 001008 for the
SNB (https://en.wikipedia.org/wiki/Swiss_National_Bank). According to
the information for switz bank identifier, which is 5!n, that should be
00100.
> One thing I could envision is that you can add a separate table with columns like
>
> Country - BIC - Name of institution - Valid from - Valid until
>
> and provide it to applications, so that they can check for valid BICs.
Which is the case for recent kmymoney.
In the second phase of this project an up to date data bank file will be
provided and the associated api in the third phase.
> But I leave
> that to Ralf since I don't know what the goal of the project is at that point. The
> one thing I can say is, that the mentioned information is not related to IBANs.
Here also with the help of the IBAN format specification at
https://www.ecb.europa.eu/paym/integration/retail/sepa/iban/shared/pdf/iban_registry.pdf
it will be possible to implement checks for IBAN's from switzerland (see
page 76)
Data element Example
Name of country Switzerland
Country code as defined in ISO 3166 CH
Domestic account number example 762 1162-3852.957
BBAN
BBAN structure 5!n12!c
BBAN length 17
Bank identifier position within the BBAN Positions 1-5
Bank identifier length 5!n
Bank identifier example 00762
BBAN example 00762011623852957
IBAN
IBAN structure CH2!n5!n12!c
IBAN length 21
IBAN electronic format example CH9300762011623852957
IBAN print format example CH93 0076 2011 6238 5295 7
SEPA Country Yes
Regards
Ralf
More information about the Kde-finance-apps
mailing list