[GNC] multiple currencies in one transaction

Jeff Abrahamson jeff at p27.eu
Thu Aug 15 10:38:10 EDT 2019


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
+33 6 24 40 01 57
+44 7920 594 255

http://p27.eu/jeff/
http://transport-nantes.com/



More information about the gnucash-user mailing list