Bug 406345 - Transfers from one foreign currency a/c to another show up in the target account with that account's name
Summary: Transfers from one foreign currency a/c to another show up in the target acco...
Status: RESOLVED INTENTIONAL
Alias: None
Product: kmymoney
Classification: Applications
Component: general (show other bugs)
Version: 5.0.0
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-08 21:15 UTC by jswami
Modified: 2019-04-09 19:33 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Entry in Egyptian pounds account (119.11 KB, image/png)
2019-04-08 21:40 UTC, jswami
Details
Entry in US dollar account (86.66 KB, image/png)
2019-04-08 21:42 UTC, jswami
Details

Note You need to log in before you can comment on or make changes to this bug.
Description jswami 2019-04-08 21:15:37 UTC
SUMMARY


STEPS TO REPRODUCE
1. 
2. 
3. 

OBSERVED RESULT


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 jswami 2019-04-08 21:34:16 UTC
SUMMARY: 
Suppose I transfer an amount from "cash - Egyptian pounds" to "cash - US dollars." I manually fill out both the "To" and "Transfer to" fields with "cash - US dollars." All seems to go well. But when I look at my "cash - US dollars" account, the amount transferred shows up as coming from "cash - US dollars." The same happens with other foreign currency accounts (except, for some reason, my UK pounds account).

STEPS TO REPRODUCE:
1. Go to the ledger page for the source account (e.g., "cash - Egyptian pounds").
2. Click "New" and "Transfer."
3. Click the "From" dialogue to change "From" to "To." 
4. Fill in "To" and "Transfer to" with "cash - US dollars" (autofill assists).
5. Visually reverify that "To" and "Transfer to" are still there and that the fields are filled in with "cash - US dollars."
6. Fill in the date and amount. 
7. In the pop-up exchange dialogue, supply the target amount in US dollars.
8. Enter the transaction. 
9. Go the ledger for "cash - US dollars."

OBSERVED RESULT: 
The transaction seems to go fine. But in the details of the transaction in the "cash - US dollars" ledger the "From" field reads "cash - US dollars" instead of "cash - Egyptian pounds." (The "Transfer from" field correctly shows "cash - Egyptian pounds".) In the ledger view showing all the transactions, the transaction shows up as if from "cash - US dollars." All else seems fine. 

EXPECTED RESULT: 
In my "cash - US dollars" ledger, the transaction should show up as being From "cash - Egyptian pounds" (or whatever the account).
Comment 2 jswami 2019-04-08 21:40:49 UTC
Created attachment 119304 [details]
Entry in Egyptian pounds account

Here all seems well.
Comment 3 jswami 2019-04-08 21:42:58 UTC
Created attachment 119305 [details]
Entry in US dollar account

In the "cash - US dollars" ledger, the transfer is shown as being From "cash - US dollars."
Comment 4 jswami 2019-04-08 21:57:51 UTC
Okay, filling in *only* the "Transfer to" field gives the desired result. And this is sensible because, after all, the transaction is a transfer. 

But the interface here is counter-intuitive. The two blank fields give the impression that both are to be filled in. If, for a transfer, the "Pay to" field should not be used, then better for it to be greyed out and inaccessible or else not shown.

That apart: Let me take this opportunity to thank the devs for this excellent program.
Comment 5 jswami 2019-04-08 22:11:35 UTC
To switch between "Pay From" and "Pay to," we click a dialogue box that sits on the first line. I think this further contributed to my wrongly thinking that the first line required an entry.
Comment 6 Jack 2019-04-08 22:17:08 UTC
I have not yet tested this, but I think you misunderstand those two fields.  The first field "Pay to:" sets the payee for the transaction.  The second field (Category for a deposit or withdrawal) "Transfer to:" sets the account to which the funds are transferred.  Even though you put the same string in both, they are different items, and have different effects.  (Just for information, I always leave the To: or From: field blank for transfers, since it is moving money between two accounts - that money is not coming from a Payer, not is it going to a Payee.  I think what is happening is that a transfer always has two splits.  The "From" side and the "To" side.  In your case, the "Transfer to:" and "Transfer from:" fields make sense, since they indicate the other account than the one you are looking at.  However, a transfer has only one Payee - and it is the same for both splits.  When you look at the "From" side of the transaction, the Payee is labeled as "From:" and seeing the US Dollar just seems wrong to you.  I think your solution would be to not use the Payee field at all for a transfer.  To me, a payee named "Cash - any currency" does not make sense, since that is not an entity to which you transfer money, either to or from.
Does this make sense?
Comment 7 Jack 2019-04-08 22:20:28 UTC
Your conclusion is correct - you do not need to specify a Payee in a transfer transaction., Do note, however, that changing between "Pay to" and "Pay from" on that first line is what switches the direction of the transfer, thus also changes between "Transfer to:" and "Transfer from:".
Comment 8 jswami 2019-04-08 23:08:12 UTC
Thank you, Jack. I get your logic, mostly. (The exception: To my non-accountant's customary way of thinking, "Cash - any currency" *is* an entity which I transfer money to or from, in the sense that a separate account is some kind of "entity." I'm not saying I'm right. I'm just reporting: Right or wrong, that's how I think.)

I also get that changing between "Pay to" and "Pay from" on that first line switches the direction of the transfer, and so the change between "Transfer to:" and "Transfer from:". Neatly conceived!

Now the only issue remaining is that as a naive user I have run into confusion about how to accomplish something in the program. When it comes to accounting, I believe I'm entitled to think of myself as an "intelligent ignoramus" -- largely in the dark, but not stupid. 

So if I have become confused, so too may others like me. And this is something you might want to do something about. Hence my suggesting about greying out or hiding that field.

Thank you again.
Comment 9 Thomas Baumgart 2019-04-09 06:20:36 UTC
I don't want to gray out (i.e. disable) the payee field for transfers. It is needed e.g. for the following use case:

I as a user maintain my own accounts and those of my family in one KMyMoney file. Now I want to transfer funds from one family member's account (A) to another member's account (B). On A's account I want to see is as "To B" and on B's account I want to see it as "From A". The account names for both are not related to any of the family members name.

Initially after entering the transaction, KMyMoney will show 'To B' and 'From B' but the user can manually modify it to 'From A' by editing the transaction in the B account. The payee in the A account is not affected, in fact, KMyMoney asks if you want to change it as well or keep it as is.
Comment 10 jswami 2019-04-09 16:17:38 UTC
This all makes sense. Perhaps the (excellent!) documentation could offer some help about properly entering transfers.

Many thanks again.

Best wishes.
Comment 11 Jack 2019-04-09 16:29:55 UTC
It won't show up in time for the 5.0.4 release, but I'll definitely expand the description in the section on transfers to discuss this issue.
Comment 12 jswami 2019-04-09 19:33:20 UTC
Excellent. 

All the best.