Wm, My apologies for being long winded in the following, but I think it is necessary to achieve clarity in what is proposed or intended.
The "book currency" is the currency assigned as the default currency, i.e the currency of the root account, when you create a new book or file using the File->New File. I can create a new file with a default currency of USD even though my "home currency" i.e. the currency where I live, is AUD and I may choose maintain a separate book or file with AUD as its root or default currency. I can't think of a good reason why unless I happen to commute between the US and Oz on a regular basis but I could choose to do it. When you create a new account, it will by default have that "book currency" unless you change it to another currency. In what way do you think what John said is invalid? For a transaction crediting an account in RUB and debiting one in EUR for 100 EUR at an exchange rate of iEUR=75.30 RUB(e.g. asset saving) the register for Savings EUR appears as Debit Credit Savings EUR 100.00 Savings RUB 100.00 and the register for Savings RUB as Savings EUR 7530.00 Savings RUB 7530.00 when the transaction is carried out from the Savings EUR register (with presumably the description field linking the two to show they are one and the same transaction. If it is initiated from the Savings RUB account the transactions appear exactly as above in each register (provided of course the same exchange rate is used. The advantage of the above for me is that the value of the transaction in each currency is clear and the exchange rate used is clear and calculable from the balances (as well as being able to check the price editor.) and it is clear that the transaction is balanced in both currencies. If I start in Savings RUB , select the Savings EUR account and enter 100 it is assumed to be in RUB not EUR as GnuCash operates at present. This is clear, both registers are balanced and it is clear that they are correct. I am presuming what you would like is to be able to start in the Savings RUB register, select the Savings EUR account, enter 100.00 as the amount and have that interpreted as !00.00EUR, even though the register currency is RUB and then when you tab to the next line select Savings RUB have the currency dialog popup, enter or fetch the exchange rate, and then display the amount against the Savings RUB account in RUB. And similarly if you start in Savings EUR and repeat the procedure. I.e. no matter what register is in use, the register would display the amount of a split in the currency of the account that the split is being made to not the currency of the register . e.g. would appear in the entries for both registers Debit Credit Savings EUR 100.00 (EUR) Savings RUB 7530.00 (RUB) I personally would be quite happy if this were the way GnuCash registers behaved, particularly if the currency symbol were to appear at the end of each line to indicate the currency applicable to the split, but I find the current system of displaying amounts in the currency of the register being displayed, equally as clear. When I made my first multicurrency transaction, it took me all of 5 seconds to follow what was happening. I have some reservations about Alex's proposal to convert the amounts to the "book currency" to check the balance. I may be misunderstanding the intention here but it is not reallynecessary to check the balance as long as the amounts in the splits are in agreement with any exchange rates and their respecive currencies. It is the equality of amount in currency 1 = amount in currency 2 If the book currency is USD (or AUD or any other third currency) then the currency conversion becomes EUR<->USD<->RUB. The double conversions involved to the EUR and RUB may introduce scope for rounding errors to produce slightly different results on conversion back. It also assumes that EUR->USD-> RUB will give the same result as EUR->RUB. Where the exchange rates are good to 6 significant figures, this appears to be OK using today's figures (https://www.xe.com/currencyconverter): 1 EUR=75.3052 roubles 1 EUR =1.12958 USD 1 USD = 66.6667 RUB => 1 EUR = 75.3054 RUB. If you transfer amounts of >10000 roubles or equivalent this could start to introduce significant errors into what is recorded. My view is that the recording of foreign currency transactions really needs to follow and reflect the events associated with the transaction as they occurred. I.e. no conversion to an intermediate currency unless that is what actually occurred. I do not see how converting a transaction between accounts in EUR and RUB via a third currency affects any entries in the "book currency" until such funds are actually converted to that "book currency" in any case and it is the price of that conversion when that conversion actually occurs which ensures the integrity of the book in the "book currency". Reports could/should report a foreign currency balance at either a specified exchange rate or the current exchange rate but should make clear what that is, but that is a separate issue. I am not sure what >IT OFTEN GETS IT WRONG BECAUSE YOU DUMB AMERICANS DON'T UNDERSTAND >ANYTHING OTHER THAN USD contributed to the discussion of this point though Wm. David Cousens ----- David Cousens -- Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-Dev-f1435356.html _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel