Adding support for additional countries
Prasun Kumar
prasun.code at gmail.com
Tue Jul 14 12:33:07 BST 2020
The script netherlands.py uses xlrd module of Python. How to add this
module dependency in CMake?
Thanks.
Prasun
On Tue, 14 Jul 2020 at 01:25, Prasun Kumar <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>
> 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/53b97c4b/attachment.htm>
More information about the Kde-finance-apps
mailing list