Re: [GNC-dev] book currency is what ... question mark

2019-02-14 Thread Wm via gnucash-devel

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

2019-02-14 Thread David Cousens
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