[Kmymoney-devel] KMyMoney - CSV Importer

allan aganderson at ukonline.co.uk
Sun Jun 20 15:03:20 CEST 2010


Hi Cristian

I think I now have everything working OK.

A possible minor hitch at the last stage, producing the patches.  I'm
using KDESVN, and it may be a problem with the way I set things up,
being a bit of a novice.  I couldn't get it to produce a complete diff
against HEAD.  So I hope it's OK like this.  I'm attaching a file
containing the following:-

1) 	A complete directory - cvsimporter - to go in the plugins directory.
 It contains:-
1a)	convdatelib 	- library to convert various date formats to QDate()
format.
1b)	plugin 		- csvimporterdlg for bank statements.
				- investmentdlg for investment statements.
				- redefinedlg to edit/change unrecognised investment activity types.
1c) 	tester		- some unit tests.

2)	A patch file:
2a)	patch to kmymoney/kmymoney/CMakeLists.txt to add convdate library
for tester.
2b)	patch to plugins/CMakeLists.txt to add csvimporter directory.

3)	README file with some instructions on use.

4)	Some sample files for testing.

What's New?
-----------
Another issue arose during further testing.  This was that even when the
input file included what was a recognised activity type, it had been
applied inappropriately.  That is, the quantity, price and/or amount
combination did not tally with what was appropriate for the specified
activity type.  For instance,  a 'buy' should have a quantity, a price
and an amount.  Or, a 'dividend' will have only an amount, or an 'add
shares' will have only a quantity.  So, I've now added validity checking
on the parameters for each transaction.  Now, when a transaction is
imported, its quantity, price and amount combination are checked against
the activity type.  If the check fails, the user is given the
opportunity, during import, to edit the activity type.  In addition, if
the activity type is not recognised, the user can examine the quantity,
price and/or amount values to determine and specify the matching
activity type.

Also, in case the investment company allows non-investment activities
such as check payment, and reports these in their csv file, these too
can be dealt with, although fairly basically.

While I learned quite a bit as I went along, you'll probably find it a
bit erm, rustic, but hope it's acceptable.

Allan


More information about the KMyMoney-devel mailing list