multi-currency transactions

Jan Nielsen nielsenjan@tin.it
Mon, 06 Jan 2003 12:55:12 +0100


Derek, Christian,

I am convinced that I am not able to follow your reasoning about this 
issue ( I have a feeling that you are talking implementation instead of 
functionality, but so be it).

I'll try to make a simple example again to illustrate what I think 
should happen when editing transactions between two different 
currencies. I realize that the situation is more complicated than what I 
cover, but I still think simple things should be simple to do.

Assume the following simple situation:

2 bank accounts a) AccountUS with currency USD and b) AccountGB with 
currency GBP.

On 2/1/2003 a transaction is entered in account AccountUS withdrawing 
10USD and transferring it to AccountGB using a To-Amount mechanism 
specifying that AccountGB will be credited 6GBP.

A ledger view of this might look like this:

-------------------------------------------------------------------
AccountUS
Date        Desc     Transfer        Deposit   Withdrawal   Balance
2/1/2003    Tx GB    AccountGB                 10.00        10.00


AccountGB
Date        Desc     Transfer        Deposit   Withdrawal   Balance
2/1/2       Tx GB    AccountUS       6.00                   6.00
-------------------------------------------------------------------

First observation: For my personal use of gnucash it would be preferable 
that the transfer dialog is always popped up automatically when making a 
transfer between two account with different currencies (independently of 
whether it is a stored transaction or there is a price available from 
somewhere). Now, I don't personally care too much about whether the 
actual implementation underneath stores all this using exchange rates, 
all in USD, some in USD, some in GBP etc. What I see in the ledger is 
the above.

Now, for some reason I have a need to adjust the above transaction. My 
typical need arises from having to adjust the "to-account", but I think 
this might be immaterial.

In my example I need to adjust the AccountGB as the bank has 
communicated that they have credited my account with GBP 6.15.
So _what I would like_ to see is:

-------------------------------------------------------------------
AccountUS
Date        Desc     Transfer        Deposit   Withdrawal   Balance
2/1/2003    Tx GB    AccountGB                 10.00        10.00


AccountGB
Date        Desc     Transfer        Deposit   Withdrawal   Balance
2/1/2       Tx GB    AccountUS       6.15                   6.15
-------------------------------------------------------------------

Observation 2: The simple way to achieve this would be to simply open 
the AccountGB ledger and change the deposit amount to 6.15. However, in 
current gnucash (CVS 28122002) this also changes the AccountUS as 
follows (which I do _not_ like):

-------------------------------------------------------------------
AccountUS
Date        Desc     Transfer        Deposit   Withdrawal   Balance
2/1/2003    Tx GB    AccountGB                 10.25        10.25


AccountGB
Date        Desc     Transfer        Deposit   Withdrawal   Balance
2/1/2       Tx GB    AccountUS       6.15                   6.15
-------------------------------------------------------------------

I think the natural use of the to-amount functionality is that a change 
made directly in the ledger should have the effect of simply changing 
one side of the equation if the original transaction has been made using 
"to-amount" (which by the way comes natural to an old Quicken user such 
as me). I do realize that this requires a flag to store this 
information, but then so be it.

3rd Observation: If this on the other hand is not possible I would think 
that using the "Edit Exchange Rate" dialog, it should be possible to 
simply change either the "Amount", "To Amount", or "Exchange rate" 
fields to obtain the same result.

I.e. the dialog should really have a multi choice of "Amount", "Exchange 
Rate" and "To Amount" where one of the three can be selected for editing 
and one (another one) for keeping fixed. E.g. to make my example above 
the method would be to select "To Amount" for editing and  "Amount" for 
keeping fixed. The result would be that the exchange rate changes and 
that the resulting ledger would be as I would like:

-------------------------------------------------------------------
AccountUS
Date        Desc     Transfer        Deposit   Withdrawal   Balance
2/1/2003    Tx GB    AccountGB                 10.00        10.00


AccountGB
Date        Desc     Transfer        Deposit   Withdrawal   Balance
2/1/2       Tx GB    AccountUS       6.15                   6.15
-------------------------------------------------------------------


I hope this was clear(er)

Cheers

Jan