[GNC] gnucash-user Digest, Vol 235, Issue 46

Patrick Pöndl patrick at poendl.de
Thu Oct 20 12:21:49 EDT 2022


I am a new GnuCash user and currently busy setting everything up. I have
done a lot of thinking and testing on the multi-currency issue in order to
hopefully get it right from the start.

So far my conclusion is this - and please, more experienced users, correct
me if there is a flaw in my thinking:

- For asset and liability accounts, multi-currency accounts make obviously
a lot of sense if you hold assets and liabilities denominated in multiple
currencies. Changes in value in respect to your base currency are perfectly
taken care of by using the automatic trading accounts.

- BUT: For income and expense accounts, multi-currency accounts seem to be
a total disaster. Why? Because all PAST transactions on both income and
expense accounts will be valued at the CURRENT exchange rates. Consider
an extreme example which illustrates the problem drastically: Imagine you
dined at a restaurant in Argentina in January 2018. You paid 250 ARS in
cash, which equaled about 11 EUR at the time. If you had recorded this on
an expense account denominated in ARS and you looked at your GnuCash book
today, it would show you that you spent only 0.88 EUR for that meal in
2018. The peso lost almost all of its value since then. Your data in
GnuCash will be almost worthless. GnuCash does record the difference
between 11 and 0.88 EUR in your trading accounts as a loss of value of
"your" ARS 250 (that you don't have any more because you spent them in
2018), but for all transactions that have been recorded in the ARS expense
account, it will only show just the total loss you have had over the years
in ARS vs EUR. If there were many transactions, you would have no idea what
you really paid in your base currency at the time of each transaction.
Trading accounts are meant to track changes in value of assets and
liabilities you are currently holding, but most definitely not for expenses
and income from the past, which has already happened and cannot be changed
anymore.

Therefore, my current conclusion is that for all transaction that involve
income or expense accounts, the amount has to be converted into the base
currency using the exchange rate on the day the transaction occurred, or at
least closely. Exchange rates normally do not move a lot from day to day,
but over many months or even years there can be huge moves - and those will
ruin the data in your GnuCash book if you don't consider this effect.

If somebody has another solution, please let me know, as the extra effort
to make the conversion for each transaction is obviously anything but fun.

Best regards,
Patrick Poendl


Am Mi., 19. Okt. 2022 um 02:47 Uhr schrieb <gnucash-user-request at gnucash.org
>:

>
> ---------- Forwarded message ----------
> From: Anton Tsyganenko <anton-tsyganenko at yandex.ru>
> To: gnucash-user at gnucash.org
> Cc:
> Bcc:
> Date: Tue, 18 Oct 2022 13:34:13 +0400
> Subject: [GNC] Enhancement request: multi-currency accounts
> Let's take a look on accounts that are created in gnucash by default.
> Generally most of the accounts may be multi-currency, i. e. not bond to
> a specific currency: you may have cash in multiple currencies, your
> opening balances may be in multiple currencies, you may have incomes and
> expenses in multiple currencies. Bank accounts generally have only one
> currency, but there are some banks that offer multi-currency cards and
> deposits. These surely can be considered as just a few different
> accounts, but it may be more convenient to group them together.Now I
> solve that by creating sub-accounts for each currency I need for each
> account where I need it. It looks like:
> Expenses:Dining:USD
> Expenses:Dining:EUR
> Expenses:Dining:CAD
> Expenses:Transport:USD
> Expenses:Transport:EUR
> Expenses:Transport:CAD
>
> It's very painful to create all of them. I know that I may have only one
> account in my _main_ currency, but I prefer all currencies to be equal
> and not perform redundant currency conversions, for example when I spend
> CAD cash for dining in Canada.
>
> So my proposal is:
>
> All accounts that user creates are "multi-currency", like placeholder
> accounts without any specific currency. Sub-accounts for each currency
> are created automatically, when the first operation in this currency in
> this account is made. If a multi-currency account is deleted and
> operations are moved to another account, operations in all the
> subaccounts are moved to the corresponding subaccounts of the second
> account. Balances can be shown as a sum of (non-null) amounts in
> different currencies (but sometimes can be converted to one currency).
> In a multi-currency account's view (basic ledger) there should be just
> an additional column -- currency of an operation (editable as a
> drop-down menu). So user opens account "cash" and sees something like:
>
> Date | Description | Transfer | Debit | Credit | Currency | Balance
>
> 2022-10-18 | Dinner in a restaurant | Expenses:Dining | | 25 | EUR | 100
> USD + 55 EUR
>
> That operation is a transfer of 25 EUR from Assets:Cash:EUR to
> Expenses:Dining:EUR.
>
> I would be happy to discuss the concept.
>
>
>


More information about the gnucash-user mailing list