12.3. Recording and Updating Currency Exchange Rates

GnuCash allows you to update the Currency Exchange Rates both manually and automatically. This process is essentially the same as setting share prices for investments (see Section 9.6, “Setting Share Price”). In the following two sections we will work through both methods.

Before we start, let’s have a quick look at the Chart of Accounts

Initial multi currency Account Bank Setup

Initial set up of 3 bank accounts with different currencies.

As you see, the overall balances do not yet reflect any value for EUR or HKD holdings. Adding currency exchange rates will fix this.

12.3.1. Manually Updating Exchange Rates

Open the Price Editor by going to ToolsPrice Editor.

Price Editor window

Price Editor Window.

Click on the Add button to add a new currency exchange rate. A window will appear in which you can set up a new exchange rate. This window should appear like this:

Set up Euro Exchange Rate

Add Price Editor Window

Set the Namespace to Currency and the Security to EUR (Euro). Then set the exchange rate between the selected security and the selected currency. The price box defines how many units of currency are required to purchase one unit of the security. In this case, how many dollars it will take to purchase on Euro. In this example, you will set the exchange rate to 1 EUR for 1 USD.

Price Editor Window

The Price Editor window after setting the exchange rate between Euros and US Dollars

Chart of Accounts

Chart of Accounts after setting the exchange rate between Euros and US Dollars.

Observe that since you have no exchange rate for HKD, GnuCash doesn’t convert the HKD accounts to USD. This will be added in the next section.

12.3.2. Automatic Updating Exchange Rates (How-To)

In the previous section you saw how to manually define a new currency exchange rate, but GnuCash includes an automatic price update feature, which will now be described.

Open the Price Editor by going to ToolsPrice Editor.

Price Editor window

Price Editor Window before you obtain online quotes.

Click on the Get Quotes button to automatically load the various exchange rates you need.

Note

If the Get Quotes button is disabled, that means that the Perl module Finance::Quote is not installed. For information on how to install it, please see Section 9.6.3, “Configuring for Automatic Retrieval of Quotes”

Price Editor window

Price Editor Window after we obtained online quotes.

GnuCash downloads exchange rates for all currencies that are in use in your various accounts. This will happen every time you click on Get Quotes or request GnuCash to download quotes as per Section 9.6.3, “Configuring for Automatic Retrieval of Quotes”

Now when you check the main Chart of Accounts you will see that GnuCash has automatically converted the HKD amount to USD amount on the parent accounts that are in USD, as well as on the Total (USD) column. Also the Euro accounts have been been updated with the latest exchange rate.

Price Editor window

Chart of Accounts after we obtain online quotes.

12.3.3. Disabling Exchange Rate Retrieval

Whenever you create an account that uses a non-default currency, exchange rate retrieval will be automatically enabled for that currency. However, if you later delete that account, GnuCash will not automatically disable exchange rate retrieval for that currency.

If you have deleted the last account for a particular currency, and you do not wish to retrieve exchange rates for that currency anymore, do the following:

  • Open the Securities window by selecting ToolsSecurity Editor.

  • Make sure the Show National Currencies box is selected.

  • Expand the CURRENCY row.

  • Double click on the currency for which you want to disable exchange rate retrieval.

  • Deselect the Get Online Quotes box and click OK.