[Kmymoney-devel] Matching mystery - another mystery
aga
agander93 at gmail.com
Tue Mar 24 12:01:04 UTC 2015
On 12/03/15 21:12, aga wrote:
>
>
> On 12/03/15 17:46, aga wrote:
>>
>>
>> On 12/03/15 15:27, Cristian Oneț wrote:
>>> Judging by the import log and cross-referencing it with the code it
>>> seems that this code in mymoneystatementreader.cpp is reached:
>>>
>>> //
>>> // Fill in other side of the transaction (category/etc) based
>>> on payee
>>> //
>>> // Note, this logic is lifted from
>>> KLedgerView::slotPayeeChanged(),
>>> // however this case is more complicated, because we have an
>>> amount and
>>> // a memo. We just don't have the other side of the transaction.
>>> //
>>> // We'll search for the most recent transaction in this account
>>> with
>>> // this payee. If this reference transaction is a simple 2-split
>>> // transaction, it's simple. If it's a complex split, and the
>>> amounts
>>> // are different, we have a problem. Somehow we have to
>>> balance the
>>> // transaction. For now, we'll leave it unbalanced, and let
>>> the user
>>> // handle it.
>>> //
>>>
>>> Maybe you have a previous transaction involving that payee and that
>>> stock.
>>>
>>> Regards,
>>> Cristian
>>>
>>
>> Yes, I did say that there are reinvest dividend transactions referencing
>> both accounts. However, Fidelity is an investment company with a very
>> large range of investments. I have a number of different ones, but
>> generally they appear in that checking account with the investment name,
>> rather than Fidelity. The majority are reinvest dividend. There are
>> also dividend entries, but the payee name for these is variable, and
>> does not reference the actual investment. I try to standardise the
>> payee name, and then have to determine the actual investment concerned.
>> It is these that I am looking at now.
>>
>> I'll try to have a look at that code, to try to get a better idea of
>> what is supposed to happen as against what actually happens.
>>
>
> I don't know if this is correct, or good enough, or sufficient,but what
> I've done is, after
> line 1135 MyMoneyAccount splitAccount = file->account(s.accountId()),
> I've added
> if (!splitAccount.accountType() == MyMoneyAccount::Stock) {
> to bypass the following four lines.
>
> Then, deleting the already imported transaction and re-importing, all
> looks good. I wondered if MyMoneyAccount::Investment might also need
> including/excluding.
>
> Or, perhaps I'm missing something.
I was about to add my proposed fix. So, to be able to test afterwards,
I tested first.
Using the same files, I cannot now reproduce this issue. The file I was
intending to edit was mymoneystatementreader.cpp, and this has had no
change since January.
So, I await further developments.
Allan
>>> 2015-03-12 17:18 GMT+02:00 aga <agander93 at gmail.com>:
>>>>
>>>>
>>>> On 12/03/15 14:49, Cristian Oneț wrote:
>>>>>
>>>>> I'm guessing that the transaction is created with a quantity of 49.56
>>>>> because between the £ of and E000002 there is a price of
>>>>> 49.59/40.09=1.236. Is that true? Please check your price entries. This
>>>>> was added to fix BUG 339262.
>>>>>
>>>>> Regards,
>>>>> Cristian
>>>>>
>>>>
>>>> Thanks Cristian.
>>>>
>>>> That could be a clue. If I open the split editor on this
>>>> transaction, I'm
>>>> presented with the price editor, showing Currency GBP to
>>>> GB0006838097, To
>>>> amount = 49.56, Price £1 = 1.2362, GB0006838097 1 = £0.8089.
>>>>
>>>> The last price I have, for 2 Feb, is 0.8089.
>>>>
>>>> But I don't understand the leap to this particular stock. I'm
>>>> intrigued.
>>>> It doesn't make sense to me.
>>>>
>>>> Allan
>>>>
>>>>
>>>>> 2015-03-12 16:29 GMT+02:00 aga <agander93 at gmail.com>:
>>>>>>
>>>>>> I'm having difficulty importing a particular transaction. It is an
>>>>>> example
>>>>>> of a regular transaction, where the payee name often varies. I
>>>>>> have the
>>>>>> matching set up to include a few variations.
>>>>>>
>>>>>> In this particular case, the payee is 'FIDELITY FNW INC ' and I
>>>>>> have an
>>>>>> entry to match that to 'FIDELITY'. There is no default account.
>>>>>>
>>>>>> This is what happens on import -
>>>>>>
>>>>>> Statement with 1 transactions ready.
>>>>>> KMyMoneyPlugin::KMMStatementInterface::import start
>>>>>> Importing statement for 'NatWest Current Plus 8355'
>>>>>> Processing transactions (NatWest Current Plus 8355)
>>>>>> Process on: '2015-03-02', id: '2015-03-02-7fafe70-1', amount:
>>>>>> '40.09',
>>>>>> fees:
>>>>>> '0.00'
>>>>>> Start matching payee
>>>>>> Found match with 'FIDELITY FNW INC' on 'FIDELITY'
>>>>>> Single matches
>>>>>> Adding second split to Artemis High Income(A000454)
>>>>>> Setting second split shares to E000002 -49.56
>>>>>> Looking for a match with transaction: "2015-03-02" , "FIDELITY" ,
>>>>>> "40.09"
>>>>>> (referenced account: "NatWest Current Plus 8355" )
>>>>>> Considering 0 existing transaction(s) for matching
>>>>>> Looking for a match with transaction: "2015-03-02" , "FIDELITY" ,
>>>>>> "40.09"
>>>>>> (referenced account: "NatWest Current Plus 8355" )
>>>>>> Considering 17 schedule(s) for matching the transaction
>>>>>> Processing transactions done (NatWest Current Plus 8355)
>>>>>> Importing statement for 'NatWest Current Plus 8355' done
>>>>>>
>>>>>> So, what has happened is that a Sell transaction has been created,
>>>>>> for
>>>>>> the
>>>>>> amount of £40.09, and a Quantity of 49.56 has been invented.
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> I can't see any reason why this should happen. There are reinvest
>>>>>> dividend
>>>>>> transaction referencing both accounts.
>>>>>>
>>>>>> Has anyone any clue please? I'm stumped.
>>>>>>
>>>>>> Allan
More information about the KMyMoney-devel
mailing list