Bug 283279

Summary: Quicken 2000 QIF investment file imports only one of many security transactions.
Product: [Applications] kmymoney Reporter: John Blomfield <jabfield>
Component: generalAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: RESOLVED INTENTIONAL    
Severity: normal CC: agander93, jabfield
Priority: NOR    
Version: 4.5.3   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description John Blomfield 2011-10-03 22:24:45 UTC
Version:           4.5.3 (using KDE 4.6.0) 
OS:                Linux

Under Investment screen Security tab list ok but Equity tab list contains only one Security for the given Account. Account Ledger shows all transaction linked to the one Security, even though they were for other securities, and many transactions missing.

Reproducible: Always

Steps to Reproduce:
Every time the Investment QIF file is imported.

Actual Results:  
Import a Quicken 2000 QIF file

Expected Results:  
All transactions imported and all transactions correspond to the correct Securities.

I cannot use KMyMoney until this bug is fixed.

OS: Linux (x86_64) release 2.6.37.6-0.7-desktop
Compiler: gcc
Comment 1 allan 2011-10-04 09:16:27 UTC
On Mon, 03 Oct 2011 22:24:46 +0000
John Blomfield <jabfield@shaw.ca> wrote:

> https://bugs.kde.org/show_bug.cgi?id=283279
> 
>            Summary: Quicken 2000 QIF investment file imports only one
> of many security transactions.
>            Product: kmymoney4
>            Version: 4.5.3
>           Platform: openSUSE RPMs
>         OS/Version: Linux
>             Status: UNCONFIRMED
>           Severity: major
>           Priority: NOR
>          Component: general
>         AssignedTo: kmymoney-devel@kde.org
>         ReportedBy: jabfield@shaw.ca
> 
> 
> Version:           4.5.3 (using KDE 4.6.0) 
> OS:                Linux
> 
> Under Investment screen Security tab list ok but Equity tab list
> contains only one Security for the given Account. Account Ledger
> shows all transaction linked to the one Security, even though they
> were for other securities, and many transactions missing.
> 
> Reproducible: Always
> 
> Steps to Reproduce:
> Every time the Investment QIF file is imported.
> 
> Actual Results:  
> Import a Quicken 2000 QIF file
> 
> Expected Results:  
> All transactions imported and all transactions correspond to the
> correct Securities.
> 
> I cannot use KMyMoney until this bug is fixed.
> 
> OS: Linux (x86_64) release 2.6.37.6-0.7-desktop
> Compiler: gcc
> 

Have you used KMM successfully previously?

Would you run KMM from the command-line to see if any errors are
reported.

Failing that, are you able to send direct to me a copy of your file.
Disguise any sensitive data if necessary, as long as that file still
fails in the same way.

Allan
Comment 2 allan 2011-10-04 19:35:45 UTC
(John sent me a copy of his QIF file)

John,

What produced the original QIF file?  Was it produced bu Quicken?  The reason I ask is that there appears to be a problem with it.

It starts with a securities list, which ties in with your observation that in KMM the Investments/Securities tab was fully populated.

The reason why only one investment account appears is that there is only one in the file.  On line 494, there is a '!Type:Invst' line, followed by a series of transactions for symbol 'TFSA', finishing on line 634.  Then, without a new '!Type:Invst' line, there starts another series of transactions for a different symbol, and then intermingled different symbols with no account to belong to.

It may be that the export from Quicken went wrong, for some reason.  So, you may have to try again to ensure all your investment accounts get exported, or you have a bit of an editing job on your hands.
Comment 3 allan 2011-10-04 23:15:12 UTC
John, apart from any private material, its best to progress this via the bug, if you would, please.  It may help others.

(John's last response follows)
Allan,

Thanks for the feedback. I am not sure what the format of the QIF 
investment file should be. Should all transactions for each security be 
grouped and preceded by a !Type:invst ? To make it easier I have got 
Quicken2000 to generate a QIF with just the transactions ie no security 
and price info as this is already imported ok. But as you can see the 
different security transactions are mixed up according to when they 
occurred.

I am happy to edit the QIF if I knew what format KMM would accept.

John

(My reply)

I'd be inclined first, if you can, to go back to Quicken.  It looks like you omitted to export your accounts.  See if you can export all accounts and their transactions.

If that's not possible, then start by doing a google for 'QIF format'.  You should find several hits.  If you need an example respond here.

Allan
Comment 4 John Blomfield 2011-10-05 17:22:14 UTC
Thank you for your help Allan.
I believe I have now SOLVED the problem with the Quicken 2000 QIF file!

a) Quicken 2000 allows users to have Securities without a Ticker Symbol 
which results in a short !Type:Security item and probably confuses the 
KMyMoney file parser. The result is that all other !Type:Security are 
replaced by the one with the short item in the Investment Account 
Ledger, even though the securities are imported into the 
Investment->Securities view list. This should be fixed in KMyMoney.

b) Quicken 2000 has an investment category ReinvInt for reinvesting 
interest in addition to a ReinvDiv for reinvesting Dividends. This makes 
a difference in some tax regimes.   KMyMoney only has Reinvesting 
Dividends so Reinvesting Interest needs to be added to KMyMoney. 
KMyMoney currently skips all transactions containing ReinvInt categories.

c) I fixed the above problems by adding a Ticker Symbols to offending 
Securities and replacing ReinvInt with ReinvDiv in my QIF file.  This is 
a tedious editing job and therefore the KMyMoney parser needs updating.

John Blomfield


On 04/10/11 16:15, allan wrote:
> https://bugs.kde.org/show_bug.cgi?id=283279
>
>
>
>
>
> --- Comment #3 from allan<agander93 gmail com>   2011-10-04 23:15:12 ---
> John, apart from any private material, its best to progress this via the bug,
> if you would, please.  It may help others.
>
> (John's last response follows)
> Allan,
>
> Thanks for the feedback. I am not sure what the format of the QIF
> investment file should be. Should all transactions for each security be
> grouped and preceded by a !Type:invst ? To make it easier I have got
> Quicken2000 to generate a QIF with just the transactions ie no security
> and price info as this is already imported ok. But as you can see the
> different security transactions are mixed up according to when they
> occurred.
>
> I am happy to edit the QIF if I knew what format KMM would accept.
>
> John
>
> (My reply)
>
> I'd be inclined first, if you can, to go back to Quicken.  It looks like you
> omitted to export your accounts.  See if you can export all accounts and their
> transactions.
>
> If that's not possible, then start by doing a google for 'QIF format'.  You
> should find several hits.  If you need an example respond here.
>
> Allan
>
Comment 5 allan 2011-11-01 21:57:46 UTC
(In reply to comment #4)
> Thank you for your help Allan.
> I believe I have now SOLVED the problem with the Quicken 2000 QIF file!
> 
> a) Quicken 2000 allows users to have Securities without a Ticker Symbol 
> which results in a short !Type:Security item and probably confuses the 
> KMyMoney file parser. The result is that all other !Type:Security are 
> replaced by the one with the short item in the Investment Account 
> Ledger, even though the securities are imported into the 
> Investment->Securities view list. This should be fixed in KMyMoney.
> 
> b) Quicken 2000 has an investment category ReinvInt for reinvesting 
> interest in addition to a ReinvDiv for reinvesting Dividends. This makes 
> a difference in some tax regimes.   KMyMoney only has Reinvesting 
> Dividends so Reinvesting Interest needs to be added to KMyMoney. 
> KMyMoney currently skips all transactions containing ReinvInt categories.
> 
> c) I fixed the above problems by adding a Ticker Symbols to offending 
> Securities and replacing ReinvInt with ReinvDiv in my QIF file.  This is 
> a tedious editing job and therefore the KMyMoney parser needs updating.
> 
> John Blomfield
> 

Part of the KMyMoney functionality is the possibility of updating prices online, for which a ticker symbol is essential.  For varying reasons, a user might use different descriptions for the same security, and being able to link them via a symbol helps considerably,  Also, different institutions sometimes use different names to describe the same security, even within the same file.

For these reasons, and probably others, the current use of them in KMM is 
fundamental to its working, and is unlikely to change any time soon.  If online updating is not required, dummy symbols could be used, as long as they are unique.

The QIF format is very broken, and attempting to import multiple
investments in a file with no !Account lines and just one !Type:Invst
is just not going to work.  Heavy editing is bound to be required.  It is not unusual for qif files to require some editing when setting up new accounts, because of the many variations in qif formats.

So far as ReinvInt is concerned, that is probably more of a real issue
and perhaps could be added at some stage.  Presumably, the requirement would be for them to be treated like ReinvDiv, but with a different description/category.
Comment 6 John Blomfield 2011-11-01 23:30:42 UTC
On 01/11/11 14:57, allan wrote:
> https://bugs.kde.org/show_bug.cgi?id=283279
>
>
>
>
>
> --- Comment #5 from allan<agander93 gmail com>   2011-11-01 21:57:46 ---
> (In reply to comment #4)
>> Thank you for your help Allan.
>> I believe I have now SOLVED the problem with the Quicken 2000 QIF file!
>>
>> a) Quicken 2000 allows users to have Securities without a Ticker Symbol
>> which results in a short !Type:Security item and probably confuses the
>> KMyMoney file parser. The result is that all other !Type:Security are
>> replaced by the one with the short item in the Investment Account
>> Ledger, even though the securities are imported into the
>> Investment->Securities view list. This should be fixed in KMyMoney.
>>
>> b) Quicken 2000 has an investment category ReinvInt for reinvesting
>> interest in addition to a ReinvDiv for reinvesting Dividends. This makes
>> a difference in some tax regimes.   KMyMoney only has Reinvesting
>> Dividends so Reinvesting Interest needs to be added to KMyMoney.
>> KMyMoney currently skips all transactions containing ReinvInt categories.
>>
>> c) I fixed the above problems by adding a Ticker Symbols to offending
>> Securities and replacing ReinvInt with ReinvDiv in my QIF file.  This is
>> a tedious editing job and therefore the KMyMoney parser needs updating.
>>
>> John Blomfield
>>
> Part of the KMyMoney functionality is the possibility of updating prices
> online, for which a ticker symbol is essential.  For varying reasons, a user
> might use different descriptions for the same security, and being able to link
> them via a symbol helps considerably,  Also, different institutions sometimes
> use different names to describe the same security, even within the same file.
>
> For these reasons, and probably others, the current use of them in KMM is
> fundamental to its working, and is unlikely to change any time soon.  If online
> updating is not required, dummy symbols could be used, as long as they are
> unique.
>
> The QIF format is very broken, and attempting to import multiple
> investments in a file with no !Account lines and just one !Type:Invst
> is just not going to work.  Heavy editing is bound to be required.  It is not
> unusual for qif files to require some editing when setting up new accounts,
> because of the many variations in qif formats.
>
> So far as ReinvInt is concerned, that is probably more of a real issue
> and perhaps could be added at some stage.  Presumably, the requirement would be
> for them to be treated like ReinvDiv, but with a different
> description/category.
>
Thanks again for the info.  In fact I did not have any problems 
importing with just one !Type:Invst line.

I have posted a bunch of tips and some Python code for parsing QIF files 
on http://forum.kde.org/viewtopic.php?f=69&t=97494 that may be of 
interest.  As you can see once the files are edited using the Python 
scripts I supplied all the imports worked fine.

John
Comment 7 allan 2011-11-02 11:08:19 UTC
> >>
> > Part of the KMyMoney functionality is the possibility of updating prices
> > online, for which a ticker symbol is essential.  For varying reasons, a user
> > might use different descriptions for the same security, and being able to link
> > them via a symbol helps considerably,  Also, different institutions sometimes
> > use different names to describe the same security, even within the same file.
> >
> > For these reasons, and probably others, the current use of them in KMM is
> > fundamental to its working, and is unlikely to change any time soon.  If online
> > updating is not required, dummy symbols could be used, as long as they are
> > unique.
> >
> > The QIF format is very broken, and attempting to import multiple
> > investments in a file with no !Account lines and just one !Type:Invst
> > is just not going to work.  Heavy editing is bound to be required.  It is not
> > unusual for qif files to require some editing when setting up new accounts,
> > because of the many variations in qif formats.
> >
> > So far as ReinvInt is concerned, that is probably more of a real issue
> > and perhaps could be added at some stage.  Presumably, the requirement would be
> > for them to be treated like ReinvDiv, but with a different
> > description/category.
> >
> Thanks again for the info.  In fact I did not have any problems 
> importing with just one !Type:Invst line.
> 
> I have posted a bunch of tips and some Python code for parsing QIF files 
> on http://forum.kde.org/viewtopic.php?f=69&t=97494 that may be of 
> interest.  As you can see once the files are edited using the Python 
> scripts I supplied all the imports worked fine.
> 
> John

OK John.

Yes, the forum is a good place to leave your scripts.  Another user may well benefit from your work.