Re: [GNC-dev] book currency is what ... question mark
On 12/02/2019 04:48, John Ralls wrote: On Feb 11, 2019, at 6:49 PM, Wm via gnucash-devel wrote: at the risk of appearing to be an imperialist, what is "book currency" ? I think of "home currency" as whatever currency most people close to you (the reader) use to buy and sell ordinary stuff like carbohydrate staples (rice, bread, etc) and water in the UK that is GBP, in the USA it is USD, in most of Europe it is EUR, in other places, depending on government, it might be something else. my point is, unless your government is failing, you should be able to use the same currency for your home currency and your bookkeeping. presuming I haven't gone insane yet, does anyone know what a "book currency" is? If someone really wanted to run a set of accounts in another currency gnc isn't stopping them, the underlying transaction stream works perfectly regardless. Book currency is the currency of the book's root account, which you set when you created the book. For nearly everyone it is indeed their home currency, but that's immaterial to GnuCash. OK I'll think about that. Thought about it. Invalid. The value is the same. Ummm, JohnR I should not be beating you up on simple stuff like this. Suppose, though, that while your book currency is GBP, you have accounts in EUR and RUB and you do a transaction between those two. The transaction will set the transaction currency to the account whose register you use to create it and will balance the transaction in that currency: I don't think it does or should, I just want the tx recorded naturally, I think John Ralls is a mildly naughty man making a point to a slightly younger man about an obscure point. consider if the book should record ordinary numbers and currency What do other people expect? If you start in the RUB account then it will convert the EUR amount to a RUB value and check that the credit and debit values are equal. it may for *some* value of equal. IT OFTEN GETS IT WRONG BECAUSE YOU DUMB AMERICANS DON'T UNDERSTAND ANYTHING OTHER THAN USD Since I have GBP, EUR and RUB it is ordinary for me to experience exchanges rates but I think my point stands, gnc isn't doing the sums right. What Alex is working on is to instead use the book currency for balancing: GnuCash would in this example convert both RUB and EUR amounts to GBP values and balance the transaction in GBP. It's an interesting idea but I suspect that it will be very difficult to get right, Wouldn't that mean a book for each currency? Umm, it is a nice idea and may work for some exchanges but near impossible for me a suspicion at least somewhat borne out by the fact that Alex has been working at it for at least 3 years. Indeed. I think the main problem will be getting more than one book to work together as one. Easy if you know how. -- Wm ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: [GNC-dev] book currency is what ... question mark
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 EUR7530.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 >1 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