12.4. Recording Purchases in a Foreign Currency

Purchases in a foreign currency can be managed in two different ways.

1) Use GnuCash's built-in currency exchange functions when you do your transactions. This is mainly used for one-time transactions, and nothing which happens regularly.

2) Use separate accounts to track transactions, 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 in the native currency.

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

12.4.1. Purchase of an Asset with Foreign Currency

You are using USD as your default currency. But, you decide to purchase a boat in Jamaica. To do this, you opened a bank account in Jamaica, moved some money from the US, and then purchased your boat.

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 (USD)

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

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

Trasferimento di valuta

Trasferimento di denaro in Jamaica

Selezionare la riga della transazione in Jamaica (€9.850,00), premere il tasto destro del mouse e selezionare Modifica tasso di cambio

Modifica tasso di cambio

La finestra in cui viene specificato il tasso di cambio per una transazione in valuta

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.

Struttura dei conti prima dell’acquisto della barca

Struttura dei conti prima dell’acquisto della barca

You choose to buy a boat for JMD 509,000. To record this transaction in GnuCash, you will need to enter a simple transaction in Assets:Current Assets:Jamaican Bank withdrawing JMD 509,000 and transferring it to Assets:Fixed Assets:Boat

Struttura dei conti dopo l’acquisto della barca

Struttura dei conti dopo l’acquisto della barca

The Chart of Accounts now reflects that your bank account has been reduced by JMD 509,000, and that your Fixed Assets boat account has been increased by 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 retrieved.

12.4.2. Purchasing Foreign Stocks

This example will show how to purchase stocks that are priced in a currency other than your primary currency.

Assume that you live in New York and therefore you have set the default currency to USD. You decide to purchase a stock traded in Hong Kong that is priced in HKD. You would also like to be able to track the various income and expense amounts per stock and broker.

You decide to purchase stock in the Beijing Airport (Hong Kong). The ticker for this stock is 0694.HK on Yahoo! Since you wanted to track all various income and expense amounts, here is the necessary account structure:

Assets:Investments:Brokerage Accounts:Boom:0694.HK (0694.HK)
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)

La struttura dei conti assomiglia a questa dopo la creazione di tutti i conti necessari:

Struttura dei conti per azioni internazionali

Struttura dei conti per azioni internazionali

Le informazioni sull’azione sono visualizzabili nell’editor titoli (Strumenti+Editor titoli):

Titoli Internazionali

Titoli Internazionali

If you have not moved money (HKD 50,000) into the brokerage cash account (Assets:Investments:Brokerage Account:Boom:Bank), do so now, either using the Equity (HKD) account, or an existing bank account (Currency Transfer).

There are two ways to enter the actual purchase transaction: you can enter it from the cash account (shown below), or you can enter it from the stock account. If entered from the stock account, the stock is assumed to be priced in the currency of the parent account.

Let’s assume that the stock price is HKD 3 per share. To record the purchase, open the brokerage’s HKD cash account (Assets:Investments:Brokerage Account:Boom:Bank), and enter the following:

Buy Stocks
Assets:Investments:Brokerage Account:Boom:BankPrelievo50,000
Assets:Investments:Brokerage Account:Boom:0694Deposito49,500 (16,500 shares)

Se non viene visualizzata automaticamente la finestra del Tasso di cambio, fare clic con il tasto destro del mouse nella riga dell’azione e selezionare Modifica tasso di cambio. Nella finestra che verrà aperta, inserire il numero di azioni (16.500) nel campo Trasferisci a:

Trasferimento di fondi

Impostazione del numero di quote nella finestra del trasferimento fondi

When you return to the Chart of Accounts, you will see the purchased shares reflected in the stock account’s total.

Azioni Internazionali acquistate

Struttura dei conti con alcune azioni Internazionali

Come si può vedere, il totale in Euro potrebbe essere zero se non è stato impostato alcun tasso di cambio tra EUR e HKD. Per porvi rimedio, andare in StrumentiEditor prezzi e premere il pulsante Ricevi quotazioni per far sì che GnuCash recuperi automaticamente i vari tassi di cambio di cui si ha bisogno.


To reiterate, this example shows how stock can be purchased in any currency by entering the transaction in the register of the cash account used to make payment. It is also possible to enter the purchase in the stock account’s register, but be aware that the stock is assumed to be priced in the currency of the stock account’s parent.

In questo esempio, il conto padre (Attività:Investimenti:Conto brockeraggio:Boom) è impostato in HKD. Dato che si tratta della stessa valuta con cui viene espresso il prezzo dell’azione, l’acquisto può essere inserito tranquillamente nel registro del conto dell’azione.