[GNC] importing account info

David Cousens davidcousens at bigpond.com
Sun Feb 9 16:32:20 EST 2020


Alan,

As the message says, the imported record is in a currency/security that does
not match the that of the account that GnuCash has assigned to it. This
could mean either  the commodity data in the input record is incorrect or
the matcher already has stored  map information which is assigning it an
account which is in the wrong currency. It is unlikely the data from your
broker may be incorrect unless the name of the security registeredon the
exchange has been changed. Just to be sure I would check at least for the
first record that the input OFX file has the commodity that is assigned to
the account you expect the transactions's second split to be assigned to.

"Invesco Preferred ETF" is not the name of an account  but should be the
name of the commodity/security specified in the input data. The GnuCash
assigned account has a commodity name "iShares Russell 2000"  which is the
same as the account name, also wierd. I would think that the "iShares
Russell 2000" account would likely have a USD ( or whatever is appropriate
to your locale) currency. If it is not a n account of type stock that may be
causing the confusion

Did you manually choose the account "iShares Russel 2000" or did GnuCash
supply that as a match? If it was the latter then somehow the account
matching data may have been screwed up. I had some wierd account assignments
when I first transition to V3 but haven't had that on the later v3 minor
version transitions.

If you choose Yes in the popup, you should get the account assignment dialog
where you can assign the correct account then at least that record is
correct. I would check the commodity of the account you wish to assign and
make sure it matches the commodity identified in the qfx input data file
first (in the Accounts tab, highlight the account, right click and select
Edit Account from the pop up menu. The security/currency box should match
the code in the input data). If assigning the correct transfer accounts
allows that record to be imported and then repeats the same error on the
next record, my guess is that the matcher data is screwed up.  

There are two approaches from here. Either manually correct each record by
pressing Yes and assigning the correct account. A pain if you have a lot of
records but if you complete the import process, the new data will be
imported into the matching data for an account.

The second approach is to use the Tools->Import Map Editor to edit the
information that the account assignment is based on. This post
http://gnucash.1415818.n4.nabble.com/GNC-import-map-editor-td4699101.html
may contain some useful information. Section 6.15.8 in the help manual has a
little information. It is pretty generic (I wrote it) as my understanding of
this part of the code is still very limited.  The matcher works by
tokenizing information in the descrition field (not sure about the memo
fields) and matching that to a list of tokens associated with transactions
which have been imported in the past and matched to a specific account.
Gnucash calculates a score for the number of matching tokens in the
description and each account to which assignments of transaction splits
weighted by the count of the frequency of each tokens appearance in
transactions which have been assigned in past imports and assigns the
highest scoring account. This is my current understanding of the account
matching operation and it is only from a fairly cursory exploration of the
code at this stage and a little but not much experimentation. I have
intended to get back and explore it in more detail but life catches up with
me sometimes.

if you examine the token strings for the account Gnucash is incorrectly
assigning and the tokens associated withthe account you want to be assigned
along with the input record description you may be able to identify why the
wrong account is being assigned and delete the appropriate tokens from the
account. This has a high risk of stuffing up future account assignments.  I
would play with it on a copy of your data file and a small import data
subset until you can get it to work if you take this route.  The account
matching data is stored in the XML data file so any work done on the copy
will not automatically transfer back to your main datafile.

If the datafile contains a lot of incorrect matching information as it is a
Bayesian system continuing to fix the assigned accounts and completing the
import will eventually fix things as it will change the weightings on tokens
in the files. Maybe importing in smaller batches, fixing each batch up as
you go may be the safest way to approach this.

I would like to see a feature which would allow the existing transactions in
selected accounts to be used in generating the match data in addition to
just the imported data. If this was resticted by date range one could
selectively use the existing data for transactions to an account to provide
training information as well as imported data.

Good luck

David Cousens

hope this helps on sorting the problem





-----
David Cousens
--
Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-User-f1415819.html


More information about the gnucash-user mailing list