Problem payee on OFX import, was: oddness with blank payee and missing category
ostroffjh at users.sourceforge.net
Fri Dec 29 23:10:52 UTC 2017
On 2017.08.25 18:53, Jack wrote:
> I finally got time to start clearing up this old mess. I changed the
> name of the Payee with no name (can I call it the Payee formerly
> known as ... ?) to " missing payee" so I can distinguish that payee
> from no payee on a transaction. More below.
> On 2017.07.28 08:19, Thomas Baumgart wrote:
>> On Mittwoch, 26. Juli 2017 14:06:31 CEST Jack wrote:
>>> Question - should it also be safe just to change Payee="P000845"
>>> to Payee="" in the file directly without breaking anything else?
>>> It might end up being the fastest way, but I'm not sure I trust
>>> it. (I would definitely make several backups first :-))
>> Yes, that can be done. It leaves the transaction with no payee then.
>> Once all of them have been processed that way, you should be able to
>> delete the payee completely (giving it a name like "no payee" before
>> reduces the confusion). It's exactly what KMyMoney does internally
>> if you
>> a) rename the empty payee to "no payee"
>> b) go to a transaction and get rid of "no payee" as payee
>> c) repeat b) until no more transactions are assigned
>> which is a bit more tedious if we talk about a lot of transactions
>> compared to manipulating the file directly.
> From the Payee View, I selected the " missing payee" and then
> selected the first listed transaction. It is a "Sell shares"
> transaction. I see no mention of " missing payee" but if I right
> click, I do see entries to "go to " both the brokerage account and
> the " missing payee." From the brokerage account, I only see the
> goto the investment account. I suppose this is because there is
> generally no payee involved in a "sell shares" transaction, so there
> is no point in displaying it. However, since a payee got created on
> import (by matching the payee with no name) it may end up necessary
> for me to do this by editing the XML file.
> Any other thoughts?
As fast as I clean up the old transactions, I keep getting new ones
with a similar (but not exactly the same) issue. The underlying
problem seems to be that on OFX import, KMM assigns a payee to the
transaction, even for investment transactions such as buy and sell
shares, and dividends, which I think should not have a payee. Here is
one example transaction - this seems to be the relevant part from
ofxlog.txt (I've altered the wrapping and indentation)
<MEMO>Sale: FIRST EAGLE OVERSEAS CL C FRAC SHR QUANTITY .975
It appears the UNIQUEID is used to identify the actual security
elswhere in the imported OFX.
This is the transaction as saved to kmm-statement-1.txt
payee="Sale: FIRST EAGLE OVERSEAS CL C FRAC SHR QUANTITY .975
security="FIRST EAGLE OVERSEAS CL C FRAC SH"
memo="Sale: FIRST EAGLE OVERSEAS CL C FRAC SHR QUANTITY .975
So - it seems to assign the payee from the memo field, since there is
no payeeid field. The main problem with all of this is that the payee
cannot be altered in any way through the standard UI. Right clicking
on the transaction in the investment account lets you go to either the
brokerage account or the payee. From either of those, however, you can
only go back to the investment account.
The basic behavior is the same in both 4.8 and git master. I'm
bringing this up again in hopes that 1) others agree this is not
correct behavior, and 2) it can be fixed in time for 5.0. (I'm
guessing the fix will not be a trivial backport from master to 4.8, so
I am NOT requesting it be fixed in 4.8, as I seem to be the first
person to raise this issue.
One particularly peculiar issue with the above example, is that in this
one case, rather than create a new payee from the MEMO field, the "IRS"
(in First) matches to my payee of US Treasury, because I do have it set
to match on IRS (Internal Revenue Service, for those not familiar with
the branch of the US government which collects income taxes.)
Another aspect of this is that if I import again, these transactions
get re-imported, and do not match the originals. If I match the newly
imported one to the "corrected" one, and import again, it still imports
it as a new transacion. Shouldn't it match based on the trasnaction
ID, or is something funny going on with that also?
Is there any point in my creating an actual OFX download file with a
small number of transactions which can be used to demonstrate this
problem in a clean KMM file?
Any other thoughts?
More information about the KMyMoney-devel