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-requ...@gnucash.org >: > > ---------- Forwarded message ---------- > From: Anton Tsyganenko <anton-tsygane...@yandex.ru> > To: gnucash-user@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. > > > _______________________________________________ gnucash-user mailing list gnucash-user@gnucash.org To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.