I have been following this discussion rather closely. I am American (not something to be proud of right now), but I do travel a lot on business worldwide, dealing with a lot of currencies. It'll be interesting to see how this resolves.
On Tue, Aug 20, 2019 at 4:21 AM Jeff Abrahamson <[email protected]> wrote: > When I said price editor, I meant the price database. I've been > assuming that the rates there are used for proposing rates on new > transactions. > > Anyway, it sort of goes to my point that I think the documentation is > less than clear for those of us who have regular transactions in > multiple currencies due to the vagaries of where we're standing when we > make a purchase, even while it's probably perfectly clear for those > whose foreign currency transactions are limited to holidays. > > I didn't know that about reports. I'm still learning clearly. > > Jeff > > > On 20/08/2019 12:20, David Carlson wrote: > > I thought this thread was discussing only transactions, not reports. > > Jeff, the Price Editor does not come in to play in individual > > transactions. Transactions are self-contained with whatever exchange > > rates happen therein. > > > > The Price editor exists for reports that are not tied to individual > > transactions, but to aggregate values, either of assets or of incomes > > and expenses. Since some reports are supposed to be frozen at some > > instant of time, say, at the end of a reporting period, and others are > > supposed to accumulate over an interval of time, there is more than > > one way to perform the aggregation appropriate to a particular report. > > > > Discussion of that feature is often heated, sometimes found to be > > incorrect for this or that example, but not to be confused with > > individual transactions that are fixed as a unit. > > > > > > David Carlson > > > > On Tue, Aug 20, 2019 at 2:36 AM Jeff Abrahamson <[email protected] > > <mailto:[email protected]>> wrote: > > > > It's not entirely unuseful that some of the discussion happens here > on > > the user list. User input may be of interest. > > > > I'll add only one point, which is that I think the current English > > language documentation doesn't explain as well as it might how to use > > gnucash in the presence of more than one currency. If I may say > > it more > > bluntly, it says it in a way that strikes me as useful to > > Americans who > > use non-local currency quite occasionally and less to Europeans > > near the > > UK or Swiss borders who use multiple currencies regularly. (I can't > > speak for the rest of the world.) > > > > Just one tiny and minor example. The docs say that the price editor > > will store only one FX rate per day for a currency pair. Now > > suppose I > > purchase a croissant in the morning and a tea in the afternoon, > > both on > > my bank card, and my card says that the I paid x1 and x2 in GBP > > respectively and they were debited from my account as y1 and y2 in > > EUR. > > That constitutes two different exchange rates in one day. (This is > an > > experiment I've been meaning to try, but based on the documentation, > > assuming it all works, it still won't leave me confident that > > there's a > > contract between me and gnucash to behave this way.) > > > > All that said, I still have to read up on the trading features > (wasn't > > at all obvious to me before this thread that this was relevant for FX > > flow) and do a few experiments to understand it all better. > > > > Jeff > > > > > > On 20/08/2019 00:36, Mike Alexander wrote: > > > I’ve been thinking for a while about how the register could be > > changed to better handle multiple currency transactions with > > trading accounts turned on. Back when I implemented trading > > accounts I knew this was a problem. However at that time it was > > expected that the Register2 rewrite of the register code would > > make the old register code obsolete so I didn’t worry about it too > > much. This is clearly no longer a valid assumption. > > > > > > It seems to me that the simplest solution, and one that might > > work reasonably well, is to make it possible (via a view option) > > to switch any register into the format used for non-currency > > registers where there are separate columns for shares, price, and > > value for each split. The labels would need to be changed for > > currency splits since “shares” becomes the value in the split’s > > currency, “price” becomes exchange rate, and "value" remains the > > value in the transaction currency. Getting all the details right > > might be tricky, but this seems to have possibilities. > > > > > > The current code shows only one of those three values, and which > > one depends on whether trading accounts are turned on. If they > > are on it shows the value in the split’s currency. If off, it > > shows the value in the transaction's currency. This adds still > > more confusion to the situation. A simple change would be to make > > it always show the value in the split’s currency. At least then > > there wouldn’t be this confusion about what is being shown. I > > didn’t do this at the time because one of the goals was to make > > GnuCash work identical to the way it worked before if trading > > accounts were turned off. > > > > > > If I get some free time I might try to play around with this > > idea and see where it goes. If anyone else thinks this might work > > and wants to take a crack at it, be my guest. My time for > > software development is very limited these days. > > > > > > Mike > > > > > > PS: this probably should be moved to the Dev list if someone > > wants to continue the discussion. > > > > > >> On Aug 16, 2019, at 2:12 PM, John Ralls <[email protected] > > <mailto:[email protected]>> wrote: > > >> > > >> It's a difference in the way that the register works with or > > without trading accounts. If trading accounts are turned off then > > the register displays all splits converted to that register > > account's currency. If they're on then it displays each split in > > its own account's currency, with symbols for all but the current > > register's currency. > > >> > > >> When dealing with multiple currencies "balance" can adopt > > different meanings. GnuCash requires that a transaction must > > balance in the transaction currency, which is generally the one > > for the account in whose register the transaction was created (or > > the first parent account denominated in a currency if the register > > is for a non-currency account). Since in a currency register the > > transaction currency value and the exchange rate between the > > register currency and transaction currency are hidden that can be > > difficult, especially in split view where the user is responsible > > for getting the (possibly invisible) values right. The more > > currencies involved in the transaction the harder it gets. > > >> > > >> Regards, > > >> John Ralls > > >> > > >> > > >>> On Aug 16, 2019, at 9:39 AM, Jeff Abrahamson <[email protected] > > <mailto:[email protected]>> wrote: > > >>> > > >>> Thanks, that's great, I'll have a play with that after work. > > >>> > > >>> Two points concern me: > > >>> > > >>> 1. I don't see currency symbols in my registers. Is this a > > setting? > > >>> > > >>> 2. I've been taught in accounting that transactions must > > balance, and > > >>> so I was expecting to see the GBP register all in GBP, the CHF > > register > > >>> all in CHF, and the EUR register all in EUR. That is, if one > > sums the > > >>> columns of a register, the Dr and Cr columns should have the > > same sum. > > >>> Am I confused about this principle? > > >>> > > >>> I'll need to read about the trading accounts feature. As > > someone who > > >>> regularly spends money in several currencies, I don't really > > think of > > >>> these transactions as P&L related, though I'm aware they could be > > >>> modeled that way. > > >>> > > >>> Jeff > > >>> > > >>> > > >>> On 16/08/2019 18:13, Adrien Monteleone wrote: > > >>>> So the Cafe’s price was CHF 5.70? > > >>>> Your card was debited GBP 4.67? > > >>>> > > >>>> The Expense:Coffee account is set to EUR? > > >>>> > > >>>> > > >>>> First, yes, you’ll need Trading Accounts turned on. > > >>>> > > >>>> Second, open the price db and fetch rates, then check the > > EUR-GBP rate, you’ll need it later. (I don’t see a way around this > > at present) For this example, we’ll use 1.0957 which I fetched > > just now. > > >>>> > > >>>> > > >>>> Third, start your transaction by entering the following to > > ‘fund’ the card with CHF: > > >>>> > > >>>> Cr. Transferwise GBP 4.67 > > >>>> Dr. Transferwise_CHF CHF 5.70 > > >>>> > > >>>> (GnuCash will prompt for a GBP-CHF exhange rate, use the > > ‘debit’ radio button and field and enter the CHF amount, in this > > case, “-5.70") > > >>>> > > >>>> The transaction should now read something like: > > >>>> > > >>>> > > >>>> ----- > > >>>> > > >>>> Account Debit > > Credit > > >>>> > > >>>> Assets:Current Assets:Transferwise > > 4.67 > > >>>> Assets:Current Assets:Transferwise_CHF SFr.5.70 > > >>>> > > >>>> ----- > > >>>> > > >>>> > > >>>> (the 4.67 has no currency symbol because it is in the > > account’s currency - GBP) > > >>>> > > >>>> Fourth, enter the actual expense part of the transaction: > > >>>> > > >>>> Dr. Expenses:Coffee EUR 5.12 > > >>>> > > >>>> The EUR 5.13 price is based on today’s rate between EUR-GBP > > above and calculated either on the side, or directly in the > > debit-entry field. (enter as: GBP*rate or 4.67*1.0957) We’re using > > the EUR-GBP instead of CHF-EUR because this transaction is being > > entered in the Transferwise (GBP) account. > > >>>> > > >>>> When GnuCash prompts for the exchange rate, simply commit the > > FX window. We couldn’t wait to fetch the rate here, because we’d > > have to back out and re-enter the amount in the register to match. > > >>>> > > >>>> Now, the transaction reads like this: > > >>>> > > >>>> > > >>>> ----- > > >>>> > > >>>> Account Debit > > Credit > > >>>> > > >>>> Assets:Current Assets:Transferwise > > 4.67 > > >>>> Assets:Current Assets:Transferwise_CHF SFr.5.70 > > >>>> Expenses:Coffee €5.12 > > >>>> > > >>>> ----- > > >>>> > > >>>> > > >>>> Fifth, you need to balance this with CHF funds taken from the > > card: > > >>>> > > >>>> Cr. Transferwise_CHF 5.70 > > >>>> > > >>>> (GnuCash will again prompt for exchange rate, use ‘debit’ and > > “5.70” for the amount) > > >>>> > > >>>> The transaction now looks like this: > > >>>> > > >>>> > > >>>> ----- > > >>>> > > >>>> Account Debit > > Credit > > >>>> > > >>>> Assets:Current Assets:Transferwise > > 4.67 > > >>>> Assets:Current Assets:Transferwise_CHF SFr.5.70 > > >>>> Expenses:Coffee €5.12 > > >>>> Assets:Current Assets:Transferwise_CHF > > SFr.5.70 > > >>>> > > >>>> ----- > > >>>> > > >>>> > > >>>> Sixth, since you have Trading Accounts turned on, when you > > hit `Enter` to commit this transaction GnuCash will add the > > balancing splits so your transaction looks like this in final form: > > >>>> > > >>>> > > >>>> ----- > > >>>> > > >>>> Account Debit > > Credit > > >>>> > > >>>> Assets:Current Assets:Transferwise_CHF SFr.5.70 > > >>>> Expenses:Coffee €5.12 > > >>>> Trading:CURRENCY:GBP £4.67 > > >>>> Assets:Current Assets:Transferwise > > 4.67 > > >>>> Assets:Current Assets:Transferwise_CHF > > SFr.5.70 > > >>>> Trading:CURRENCY:EUR > > €5.12 > > >>>> > > >>>> ----- > > >>>> > > >>>> You can of course, make the transaction more ‘complete’ (or > > complicated as per your perspective) by also using actual CHF-GBP > > and CHF-EUR rates and accounting for the conversion fee rather > > than using the ‘debit’ option for those two splits. > > >>>> > > >>>> You could also separate this into two transactions, one to > > ‘fund’ the CHF, then another to spend that on Coffee. > > >>>> > > >>>> Note, that I tried doing this from the Expense account, but > > it was messy. I also couldn’t find a way to get GnuCash to > > calculate the EUR price of the transaction for me using the > > fetched rate. Maybe someone else has a trick up their sleeve. > > >>>> > > >>>> Regards, > > >>>> Adrien > > >>>> > > >>>> > > >>>>> On Aug 15, 2019, at 9:38 AM, Jeff Abrahamson <[email protected] > > <mailto:[email protected]>> wrote: > > >>>>> > > >>>>> I purchased a coffee in Switzerland using my GBP-based > > Transferwise > > >>>>> card. That card could hold a CHF balance, but on that day > > it held only > > >>>>> GBP. My local currency is EUR. So I can think of my coffee > > purchase as > > >>>>> two FX transactions: funding (GBP -> CHF) and an expense > > (CHF -> EUR). > > >>>>> > > >>>>> What Transferwise tells me is the amount of the purchase and > > the amount > > >>>>> of the transaction. (I can also poke further and find the > > exchange rate > > >>>>> they used and the minuscule fee, but the important point to > > me is the > > >>>>> the two endpoints.) > > >>>>> > > >>>>> Now what makes sense to me based on reading about accounting > > principles > > >>>>> for multiple currencies is that I should make one > > transaction thus: > > >>>>> > > >>>>> Coffee (CHF) <-- Bank (GBP) # This is the funding > > part of > > >>>>> the transaction. > > >>>>> Expense acct <-- Coffee (CHF) # Here I'm tracking > > the actual > > >>>>> expense. > > >>>>> > > >>>>> I put those in a single transaction for easier understanding > > later. > > >>>>> Here I've created a bank account for Transferwise (GBP) as > > well as > > >>>>> subaccounts of that called Transferwise_CHF and some others, > > denominated > > >>>>> in the indicated currencies. Those three accounts are transfer > > >>>>> accounts: I usually expect them to have zero balance. > > >>>>> > > >>>>> Transferwise_CHF <-- Transferwise (GBP) # This is the > > >>>>> funding part of the transaction. > > >>>>> Expense/cafe <-- Transferwise_CHF # Here I'm > > tracking > > >>>>> the actual expense. > > >>>>> > > >>>>> Gnucash asks me for some exchange rates, and I answer for > > the CHF - GBP > > >>>>> part with the specific numbers provided by Transferwise and > > for the GBP > > >>>>> - EUR part with the exchange rate I've downloaded for that > date. > > >>>>> > > >>>>> I expect to see this in the account Transferwise_CHF > > >>>>> > > >>>>> 5.70 <-- 5.70 # This is the funding part of the > > transaction. > > >>>>> 5.70 <-- 5.70 # Here I'm tracking the actual expense. > > >>>>> > > >>>>> and this in the Transferwise (GBP) account > > >>>>> > > >>>>> 4.67 <-- 4.67 # This is the funding part of the > > transaction. > > >>>>> 4.67 <-- 4.67 # Here I'm tracking the actual expense. > > >>>>> > > >>>>> and something similar looking at the splits in the > > (euro-denominated > > >>>>> expense account). > > >>>>> > > >>>>> But what I see (from the perspective of the CHF account) is > > this, which > > >>>>> makes no sense to me: > > >>>>> > > >>>>> Gnucash has entered the 2.80, and deleting that split just > > makes it pop > > >>>>> up again. Something is terribly wrong if any account's > > view of the > > >>>>> transaction doesn't balance. (This is gnucash 3.4, ubuntu, > > build id > > >>>>> 3.4+ (2018-12-30). > > >>>>> > > >>>>> Is this my error or a bug in gnucash? Any pointers? > > >>>>> > > >>>>> > > >>>>> Somewhat related, I thought to import historical currencies, > > as I'm back > > >>>>> filling some data for analysis purposes. I grabbed 10 years > > of daily > > >>>>> quotes and imported them (3600 or so rows of data per > > currency). All ok > > >>>>> for GBP - EUR. When I do the same for CHF - EUR, gnucash > > says it's done > > >>>>> it, but the price database doesn't show more than a > > handful. When I do > > >>>>> it for JPY - EUR, gnucash says it's done but the price > > editor shows none > > >>>>> of them. The proposed exchange rates when entering > > transactions are > > >>>>> consistent with what the price editor thinks it knows. > > >>>>> > > >>>>> Is there a limit on FX rates? (This is about 4000, which > > doesn't strike > > >>>>> me as terribly large.) > > >>>>> > > >>>>> -- > > >>>>> > > >>>>> Jeff Abrahamson > > >>>> _______________________________________________ > > >>>> gnucash-user mailing list > > >>>> [email protected] <mailto:[email protected]> > > >>>> To update your subscription preferences or to unsubscribe: > > >>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user > > >>>> If you are using Nabble or Gmane, please see > > https://wiki.gnucash.org/wiki/Mailing_Lists for more information. > > >>>> ----- > > >>>> Please remember to CC this list on all your replies. > > >>>> You can do this by using Reply-To-List or Reply-All. > > >>> -- > > >>> > > >>> Jeff Abrahamson > > >>> +33 6 24 40 01 57 > > >>> +44 7920 594 255 > > >>> > > >>> http://p27.eu/jeff/ > > >>> http://transport-nantes.com/ > > >>> > > >>> _______________________________________________ > > >>> gnucash-user mailing list > > >>> [email protected] <mailto:[email protected]> > > >>> To update your subscription preferences or to unsubscribe: > > >>> https://lists.gnucash.org/mailman/listinfo/gnucash-user > > >>> If you are using Nabble or Gmane, please see > > https://wiki.gnucash.org/wiki/Mailing_Lists for more information. > > >>> ----- > > >>> Please remember to CC this list on all your replies. > > >>> You can do this by using Reply-To-List or Reply-All. > > >> _______________________________________________ > > >> gnucash-user mailing list > > >> [email protected] <mailto:[email protected]> > > >> To update your subscription preferences or to unsubscribe: > > >> https://lists.gnucash.org/mailman/listinfo/gnucash-user > > >> If you are using Nabble or Gmane, please see > > https://wiki.gnucash.org/wiki/Mailing_Lists for more information. > > > > > > > > -- > > > > Jeff Abrahamson > > +33 6 24 40 01 57 > > +44 7920 594 255 > > > > http://p27.eu/jeff/ > > http://transport-nantes.com/ > > > > > > _______________________________________________ > > gnucash-user mailing list > > [email protected] <mailto:[email protected]> > > To update your subscription preferences or to unsubscribe: > > https://lists.gnucash.org/mailman/listinfo/gnucash-user > > If you are using Nabble or Gmane, please see > > https://wiki.gnucash.org/wiki/Mailing_Lists for more information. > > ----- > > Please remember to CC this list on all your replies. > > You can do this by using Reply-To-List or Reply-All. > > > > > > > > -- > > David Carlson > > -- > > Jeff Abrahamson > +33 6 24 40 01 57 > +44 7920 594 255 > > http://p27.eu/jeff/ > http://transport-nantes.com/ > > _______________________________________________ > gnucash-user mailing list > [email protected] > To update your subscription preferences or to unsubscribe: > https://lists.gnucash.org/mailman/listinfo/gnucash-user > If you are using Nabble or Gmane, please see > https://wiki.gnucash.org/wiki/Mailing_Lists for more information. > ----- > Please remember to CC this list on all your replies. > You can do this by using Reply-To-List or Reply-All. > -- Clint (JOATMON) Chaplin _______________________________________________ gnucash-user mailing list [email protected] To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information. ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.
