I decided to make my own double entry accounting program that deals with multicurrency. However, I am facing an issue in dealing with following scenario:

I have two bank accounts:

From: Opening Balance ($)  200$
To:   Bank ($)             200$

Similar entry for Euro bank account with 100 Euro.

Assume current Exchange rate is 1 Euro=1.1$, assume base currency is USD, this makes current total assets is 200+1.1*100=310$.

Assume that at some day, when the exchange rate was 1 Euro=1.2$ I exchanged 50 Euros to 50*1.2=60$, so now on balance I have 100-50=50 Euro and 200+60=260$, then total assets according to todays rate 1.1 is 260+50*1.1=315$.

So here we get the issue that we have unbalanced state, 310$ in total as an opening balances, but 315$ as an Assets, I do not understand what to do and how to register the unrealized exchange rate gain of 5$.

Any help on this?

Addition: I really do not understand how this can be, but I just tried to make the same scenario in the infamous GnuCash, and gess what... the Assets vs. Equity became also unbalanced with 5$ difference, how it can allow such a thing? strange, or I miss understand something here... enter image description here

  • If the value of assets goes up, you debit those assets. So now you need to book a credit - as you've already said, this is an "unrealized gain". Therefore credit a gain on your income statement. But the real question is - why are you using double-entry accounting for personal investments? I foresee that this will cause you more aggravation than it will save you... Sep 1, 2016 at 13:40
  • Thx, I'm using DE because I have operations that single entry makes them a pain, like giving a loan to somebody, having deposits etc.. However I am not sure that understood your point, can you please write down the exact double-entry record you refering?
    – TMS
    Sep 1, 2016 at 13:51
  • 1
    @TMS gnucash.org/docs/v2.6/C/gnucash-guide/currency_concepts1.html In GNUCash, enable Trading Accounts. Then you will see unrealized gains in the Balance Sheet.
    – base64
    Sep 2, 2016 at 9:17
  • @base64 Oh I see thx, did that, it actually just generated a mirror records under Trading account to override the difference. I actually thought about that, but was not sure if this satisfies accounting standards, can you please confirm that it dose? thank you.
    – TMS
    Sep 2, 2016 at 9:35
  • You have separate assets in EUR and USD and you keep them separate and do not add them up. Same as having gold and silver they are different and can't be added together, If you need one figure do the same as you would to get one figure from gold and silver
    – mmmmmm
    Sep 2, 2016 at 9:35

1 Answer 1


In GNUCash, enable Trading Accounts. Then you will see unrealized gains in the Balance Sheet.


A set of books can only contain 1 currency. Foreign currency should be treated as if they are quantifiable investments. The initial value of foreign currency should be stored. When part of it is used, the realized gains should be entered into Income Statement. At the Balance Sheet date (usually end of year), appreciation in foreign currency should be recorded into other Reserves.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .