Personal Finance & Money Stack Exchange is a question and answer site for people who want to be financially literate. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have deep personal financial connections to two countries, with different currencies. (They happen to be Canada/CAD and USA/USD, but I don't think that's material.) I have multiple bank and investment and credit card accounts in each currency. I make currency conversions several times a year between the currencies. I would like my personal accounting records to treat both currencies as peers, rather than have one be dominant and one subordinate. I want to be able to see in reports the effects of exchange rate flux, e.g. as one currency is worth less relative to the other, I want to see my net worth as expressed in the second currency decline.

What is a good way to record bank accounts and especially currency conversions in personal bookkeeping software so that I come close to achieving my goals? For what it's worth, I use GnuCash 2.4.10 for Mac OS, but a good answer would be one that's general enough to apply to any sufficiently sophisticated personal accounting program.

GnuCash makes it easy to assert that one bookkeeping account is in currency A and one is in Currency B. It makes it easy to record a currency conversion as debiting the one account and crediting the other. It doesn't make it easy to compute a net exchange rate over several conversion transactions, or to make a composite net worth in one currency. I'm not satisfied with how it makes my foreign exchange risk visible.

Come to think of it, what accounting goals should I have for a multi-currency personal finance situation? Is it realistic to want to treat both currencies as peers?

I have the impression that bookkeeping in multiple currencies is easier if one currency is always primary. I'm not willing to simplify my finances in that way. Some times one currency is primary, other times the other one is.

Update: I'm hoping the method extends easily to multiple currencies, and isn't limited to just two. I'd also like for the method to cover the case where I travel in a third country, make multiple ATM withdrawls to the third country's currency, and incur expenses in that currency; I'd like to be able to calculate a net exchange rate in the main currency which I used for that trip.

share|improve this question
Hi Jim, welcome to Money.SE. Good first question! – C. Ross Dec 28 '12 at 19:23
@C.Ross I appreciate the welcome. Thank you for moderating! – Jim DeLaHunt Dec 28 '12 at 20:00

I found an answer by Peter Selinger, in two articles, Tutorial on multiple currency accounting (June 2005, Jan 2011) and the accompanying Multiple currency accounting in GnuCash (June 2005, Feb 2007). Selinger embraces the currency neutrality I'm after. His method uses "[a]n account that is denominated as a difference of multiple currencies... known as a currency trading account." Currency trading accounts show the gain or loss based on exchange rates at any moment.

Apparently GnuCash 2.3.9 added support for multi-currency accounting. I haven't tried this myself.

This feature is not enabled by default, and must be turned on explicity. To do so, check "Use Trading Accounts" under File -> Properties -> Accounts. This must be done on a per-file basis. Thanks to Mike Alexander, who implemented this feature in 2007, and worked for over 3 years to convince the GnuCash developers to include it.

Older versions of GnuCash, such as 1.8.11, apparently had a feature called "Currency Trading Accounts", but they behaved differently than Selinger's method.

share|improve this answer

Here's what the GnuCash documentation, 10.5 Tracking Currency Investments (How-To) has to say about bookkeeping for currency exchanges. Essentially, treat all currency conversions in a similar way to investment transactions.

In addition to asset accounts to represent holdings in Currency A and Currency B, have an foreign exchange expenses account and a capital gains/losses account (for each currency, I would imagine). Represent each foreign exchange purchase as a three-way split: source currency debit, foreign exchange fee debit, and destination currency credit. Represent each foreign exchange sale as a five-way split: in addition to the receiving currency asset and the exchange fee expense, list the transaction profit in a capital gains account and have two splits against the asset account of the transaction being sold.

My problems with this are: I don't know how the profit on a currency sale is calculated (since the amount need not be related to any counterpart currency purchase), and it seems asymmetrical.

I'd welcome an answer that clarifies what the GnuCash documentation is trying to say in section 10.5.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.