GSoC/GCI Archive
Google Code-in 2014 KDE

Add your country's bank names to KMyMoney

completed by: Compilerator

mentors: Christian Dávid

Overview

KMyMoney should be able to auto-complete bank names and BICs. Therefor we need information about the banks in each country. This task is half research and half coding.

You can select a country (see exceptions below) by your own. But you must be able to speak/read the language of that country very well!

These steps must be done — all are equally important.

  1. Find an official list of bank names, their BIC and (local) bank code.
  2. Find under which conditions this list can be used
  3. Write or adopt a python script to translate that list into a SQLite database. We have good examples.
  4. Bonus: Upload your work as review request on KDE's review board.

Excluded countries are: Germany, Switzerland and India - we have scripts for these countries or they are claimed already. For France please claim the this task.

Preferred are countries from the European Union, Iceland, Liechtenstein, Norway or San Marino.

Detailed Information

Step 1:  Finding data

Find an official list of bank names, their BIC and (local) bank code. Usually the central bank publishes such a file, the countries listed above must publish such a list. Other people will use your data to transfer real money. So it is important that the source of the data is trustworthy. If you are uncertain if your source is trustworthy, ask (see below)!

The file must be machine readable. So images or PDFs are not good. Plain text (.txt) or CSV are file formats which you can use. Write down the address (URL) where you found the file. The KMyMoney team needs it to update the data — we want to use your work also in future.

Step 2:  The license

We want to publish the list. So you need to find if we are allowed to do so. That should be written on the same page where you found the download link. Also write down the address (URL) where you found the info.

Step 3: The coding

From the file you found we need to create a SQLite database.

First clone KMyMoney using git (you find the address in the web repository), use the branch "add-onlinebanking" (git checkout add-onlinebanking) and create a folder in "kmymoney/plugins/ibanbicdata" for your country.

In the other folders you can find .py files (e.g. germany.py). Depending on the type of source you found, you should use one of them as basis for your solution and adopt it to your needs.

Finally, the created SQLite database must contain a table called "institutions" with the four fields: country, bankcode, bic and name. If you need more information please contact me.

Step 4:  Publish your work

Everything is working? Well done! You can go to KDE's review board and create a new review request. The repository is "kmymoney". The developers (including me) will be notified when you published the request and we will review you work. This is the standard method of helping open source projects. If this does not work for you, you can upload your script here directly. But you should try the review board first!

Where to find help

The projects website is kmymoney.org — you find the IRC Channel and developer mailing list there to contact me. For step 4 you can ask any KDE developer, e.g. in the #kde-devel IRC channel. Try KMyMoney's irc channel first. If you want to contact only me, my mail is christian-david@web.de.

Have a lot of fun!