Adding support for additional countries

Prasun Kumar prasun.code at gmail.com
Tue Jul 14 19:53:17 BST 2020


Thanks.

What about this?

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?
>

I mean, the only checks that would be performed for additional countries on
<account_id> are size constraints, if I understand correctly?

On Tue, 14 Jul 2020 at 19:53, Ralf Habacker <ralf.habacker at freenet.de>
wrote:

> Am 14.07.20 um 13:33 schrieb Prasun Kumar:
> Hi Prasun,
>
> > The script netherlands.py uses xlrd module of Python. How to add this  >
> module dependency in CMake?
> I did not found a "ready to used" cmake script, so I suggest to run the
> following simple python script from cmake, which checks, if a python
> module is loadable.
>
> cat cmake/check_python_module.py
> ----------------------------------------
> import imp,sys
> try:
>      imp.find_module(sys.argv[1])
>      exit(0)
> except ImportError:
>      exit(1)
> ----------------------------------------
>
> Run that script by cmake with
>
> python cmake/check_python_module.py xrld
>
> and check the exit code 0 - found, 1 - not found.
>
> Additional the file README.md should get the new dependency listed e.g.
>
> installed python modules: ctypes, sqlite3, xlrd >= 0.7.1
>
> Regards
> Ralf
> >
> > Thanks.
> > Prasun
> >
> > On Tue, 14 Jul 2020 at 01:25, Prasun Kumar <prasun.code at gmail.com
> > <mailto:prasun.code at gmail.com>> wrote:
> >
> >     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 <mailto: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/20200715/1a48836a/attachment-0001.htm>


More information about the Kde-finance-apps mailing list