Importing Fidelity QIF

Tom Vrankar twv at cox.net
Tue Jul 24 06:11:44 EDT 2007


I am a new GnuCash user, using 2.2.0 on MS-Windows. Everything USD. I'm 
having trouble importing !Type:Invst QIF files.

I've imported several CCard and Bank QIF files to create accounts, after 
adding "Account" headers and category "L"abels for the other-account 
half of the double-entry with python scripts. I think I "get" them. But 
I'm having too much trouble importing Invst QIFs, in this case from 
Fidelity (if that matters).

1. Most, but not all, transactions get split due to what appears to be 
rounding trouble in GnuCash. For example, the QIF transaction may show

D03/30/2006
NBuy
YAM CENT SM CAP VAL I(OMWS)
I10.45000
Q2.922
U30.54
T30.54

but the register will show the Price (no column heading text visible, so 
I'm guessing) as 10.4483, Tot Buy as 30.53, and .01 Imbalanced. It 
appears that it's recalculating the price based on the total and 
quantity, but then re-recalculates the total based on the quantity and 
the newly recalculated price. Not all transactions are split, just those 
where GnuCash's rounded calculations differ from those of Fidelity's -- 
which is most.

I only need Total in and out to match, and the Quantities to accumulate 
correctly in the account, right? In a case like this, I think I'd want 
the Price to be unrounded accordingly (but reasonably, to still catch 
errors?). What do I do to avoid all these splits? Has anyone else seen 
this, and if so, how do you deal with it?

2. In the import druid, I associate the entire file with the account 
Assets:Investments:Retirement (works the same when I manually add a 
!Account header). Each unique Y record (security) becomes a subaccount 
to :Retirement. Where I get confused is the other half of the double entry.

Using the above transaction as an example again, the cash to pay for the 
shares turns out to come from Assets:Investments:Retirement -- the 
secuirity's parent account. I think I want it to come from some other 
asset, or income. I've tried adding L records (the way I do for CCard 
QIFs using python), to specify the other half of the transaction, as 
either some Income or Expense account (for fees; if I had sales I'd want 
them to go to either an Asset or Expense), but that didn't work. I tried 
wrapping each transaction with an !Account header to point it to the 
subaccount, but that just made a deeper account tree.

What is the proper model to use for importing QIF !Type:Invst 
transactions where multiple securities appear in the same file? I want 
to do this not just once, but maybe every month, and have the new 
transactions just add to the existing accounts.

The files look basically like all the QIF references tell me to expect, 
except that, if it matters, they have additional U records whose value 
is the same as the T record. I haven't found a reference to the 
definition of U records.

3. The Price editor GUI looks haywire. I run Finance::Quote, I add a 
historical price or two, and then after opening and closing the tree of 
prices (clicking the triangles) a few times, entries appear to 
duplicate, text appears and disappears, and historical prices don't seem 
to be applied to historical account records (manually entered records, 
not QIF imports).

Thanks for any help.

						twv@



More information about the gnucash-user mailing list