10.6. Recording Purchases in a Foreign Currency (How-To)

You can do it in two different ways.

1) Use GnuCash build in currency exchange between accounts when you do your transactions. This is mainly used for one time transactions, and nothing which happens regurarly.

2) Use separate accounts for this Purchase, where all involved accounts use the same currency. This is the recommended method, since it allows much better tracking and follow up. In this way, you do one currency exchange transaction, and after that you do normal transactions.

The rest of this section will explain more based upon option 2)

10.6.1. Purchase of an asset with foreign currency

Your normal place of residence is in Florida, therefore you are using USD as your default currency. But, you do like to travel to Bahamas and go fishing. You like it so much so you decided to purchase a boat there. To do this, you opened a bank account in Jamaica, moved some money from US, and then purchased your dream boat (smallest version)

To record this in GnuCash we use the following basic account structure


-Assets                          (USD)
   -Current Assets           (USD)
      -US Bank                 (USD)
      -Jamaican Bank       (JMD)
   -Fixed Assets           (USD)
      -Boat                (JMD)
-Equity                          (USD)
   -Opening Balances
      -USD            (USD)

Note: the currency of each account is shown in parenthesis.
 

First you need to transfere some money ($10,000) to Jamaica, and you use your normal US bank account (whith balance of $100,000) for that. The bank give you an exchange rate of USD 1 = JMD 64, but charges you USD 150 to do transfer the money.

Currency transfer

Transfer money to Jamaica

Select the Jamaica transaction line ($9,850.00), right click and select Edit Exchange Rate

Edit Exchange rate

A dialog window where the exchange rate in a currency transaction is specified

As Exchange Rate you enter 1 USD = 64 JMD, since this is the rate your bank gave. Press ok in the Transfer Funds (Edit Exchange Rate) window, and then save this split transaction. Below is how it now looks in the main Chart of Accounts.

Chart of Accounts before purchasing the boat

Chart of Accounts before purchasing the boat

You find the boat, and since it's a bargain at JMD 509,000 you decide to buy it. To record this transaction in GnuCash, you will need to enter a simple transaction in Assets:Current Assets:Jamaican Bank withdrawing 509,000 and transfering it to Assets:Fixed Assets:Boat

Chart of Accounts after purchasing the boat

Chart of Accounts after purchasing the boat

The Chart of Accounts now reflects that your bank account has been reduced with the value of the boat (JMD 509,000), and that your Fixed Assets boat account has been increased with the same amount. If you also have turned on the CoA (Column Choice) "Total (USD)" you will see the corresponding value in USD. The USD value will always reflect the latest currency exchange rate you have either automatically or manually updated GnuCash with.

10.6.2. Purchasing foreign stocks

A more complicated example

This example will show how to deal with having stocks in a different currency than your normal currency.

In this example you live in America and therefore you have set the default Currency to USD. You decide to purchase some stocks in Hong Kong.

You would also like to be able to track the various income and expenses per stock and broker.

The stock you want to purchase are Beijing Airport (Hong Kong) (Afterall the 2008 Olympics in Beijing should bring in a lot of business to the airport)

Note

The above stock (Beijing Airport) are just choosen for this particular example, and should not be taken as any kind of stock purchase advice

You need to find out what the stock ticker is for this stock. To do this, you do a bit of investigation on the Internet, and in particular on Yahoo! Finance - Ticker Symbol Lookup (http://finance.yahoo.com/lookup). This gives you the following:

  • Beijing Airport has the Stock Symbol 0694.HK at Yahoo

Since we wanted to be able to track all various incomes and expenses, we come up with the following Account structure


Assets:Investments:Brokerage Accounts:Boom:0694.HK     (Beijing Airport)
Assets:Investments:Brokerage Accounts:Boom:Bank        (HKD)
Equity:Opening Balances:HKD                            (HKD)
Expenses:Commissions:Boom.0694.HK                      (HKD)
Income:Investments:Dividend:Boom:0694.HK               (HKD)
      

The Chart of Accounts looks like this after creating all the needed accounts

Chart of Accounts for international stocks

Chart of Accounts for international stocks

The various commodities (Tools -> Security Editor) looks like this

International commodities

International commodities

Note

There is currently a small bug ( 335101 ) in GnuCash, that makes it impossible to buy a stock in a different currency than the default directly from the commodity account. The simple workaround is to open the associated bank account and enter the transaction from here.

If you have not moved some cash (HKD50,000) to the corresponding stocks bank account, do so now. Either using the Equity (HKD) account, or by transfering money from an existing bank account (Currency Transfer).

To record this stock purchase, you have to open the stocks associated bank account (Assets:Investments:Brokerage Account:Boom:Bank), and there enter the following information


Buy Stocks 
Assets:Investments:Brokerage Account:Boom:Bank  Withdrawal 50,000
Expenses:Investments:Commission:Boom_HKD Deposit 500
Assets:Investments:Brokerage Account:Boom:0694  Deposit 49,500 (16,500 shares)
    

If the "Exchange Data" dialog popup do not appear, open it manually by right click on the last row, and select Edit Exchange Rate In the following pop up window, enter the actual number of stocks (16,500) as the To Amount:

Transfer Funds

Setting To Amount in the Transfer Funds dialog

When you exit the exchange dialog, and Enter this transaction GnuCash will update the stock purchase transaction with all relevant data.

If you now go back to the main Chart of Accounts, you will see something like this

Purchased international stocks

Chart of Accounts with some international stocks

As you can see, everything is in its own Currency, and this is because GnuCash do not have any exchange rates between USD and HKD. To remedy this go to Tools -> Price Editor and click on the Get Quotes button to automatically load the various exchange rates you need.