Adding support for additional countries

Prasun Kumar prasun.code at gmail.com
Mon Jul 13 20:55:03 BST 2020


Hi Ralf,
Thanks so much for this info.
Just to clarify, the checks that are to be performed by the tool on a given
<bank-id> and <account-id> will comprise
of matching the BIC from the database of the respective country and
constraint checking on the <account-id>.

In the case of Germany, every bank has a method field which is used to
verify the account number, since no such field
is present in the available bank data file, this is not applicable here,
right?

Thanks,
Prasun


On Mon, 13 Jul 2020 at 14:22, Ralf Habacker <ralf.habacker at freenet.de>
wrote:

> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-finance-apps/attachments/20200714/a0575a2a/attachment.htm>


More information about the Kde-finance-apps mailing list