Your default account currency is set in the Account tab under
→
(
→
on macOS
).
Similarly, GnuCash
offers an option to set your preferred currency for displaying reports (like the
balance sheet and income statement). The option is called Default Report
Currency, and is in the Reports tab of the
GnuCash Preferences screen. You’ll want to set both options when
you start using GnuCash
because if (for example) your accounts are all in Canadian Dollars
but the generated reports are all in US Dollars, the reports will just say that there are
«no data/transactions (or only zeroes) for the selected time period».
When you create a new account, you have the option to define the commodity in which that account is
denominated. For accounts denominated in a currency, you can specify any of the currencies
supported by GnuCash
by simply selecting it from the currency commodity list. You will
notice that the default currency is the currency that is defined for the parent account of
the new account.
As an example, let’s set up a bank account scenario where you mostly work in US Dollars, but do also have a European bank account using the Euro currency, as well as one bank account in Hong Kong using Hong Kong Dollars. So, set up 3 bank accounts, one denominated in US Dollars, one using Euros, and the third in Hong Kong Dollars. One possible account structure for this would be:
-Assets (USD)
-Current Assets (USD)
-US Bank (USD)
-European Bank (EUR)
-HK Bank (HKD)
-Equity (USD)
-Opening Balances (USD)
-USD (USD)
-EUR (EUR)
-HKD (HKD)
Nota | |
---|---|
The currency of each account is shown in parenthesis. |
Since in this example you mostly work in USD, all of the parent accounts are set to USD. Of course, if you mostly work in Euros, you could change the currency of these parent accounts to EUR. The totals shown in the account tree window will always be converted to the currency of each particular account. Notice, we also set up 3 Starting Balances equity accounts, used to initially populate the 3 banks.
Nota | |
---|---|
You could also set up just a single Starting Balance account and use a currency transfer to populate the «different currency» accounts. However, this is more advanced option, which is explained in a later section (Sezione 12.4.1, «Purchase of an Asset with Foreign Currency»). |
Below you see the result of this example, in which you start with USD 10,000, EUR 10,000 as well as
HKD 10,000 in the three bank accounts. Notice that the total of the parent accounts only
shows the value of the currency of sub-accounts with matching currencies. In other words,
the Total Assets and Total Equity values only reflect USD amounts, because GnuCash
has no
way of evaluating the value of EUR or HKD yet. Once you set up exchange rates between the
currencies, the parent accounts will calculate the converted value of all sub-accounts.
See the later section (Sezione 12.3, «Recording and Updating Currency Exchange Rates») on ways to do this.
Si noti che la colonna Totale (Resoconto) è visualizzata. Questa opzione è configurabile facendo clic sulla nella riga di intestazione delle colonne e selezionando «Totale(EUR)».
Usually when we talk about currencies, we mean government-backed currencies (or more precisely,
currencies defined in ISO 4217). GnuCash
does not
allow you to create your own currencies. If you want to track non-ISO
currencies, you can use either of two workarounds, depending on which fits your needs
better.
The first method is is to treat these as if they were a security—that is, like a stock or mutual fund. The second method is to use one of the «dummy» currencies for them.
Let’s say for example that you want to track loyalty points you’ve earned by buying from a certain group of businesses. The account which tracks your loyalty points will be Assets:Other:LoyaltyGroupRewardMiles.
In the first method, you define a new security, of type FUND, called RewardMiles. This is pretty straightforward—when you create the new LoyaltyGroupRewardMiles account, just set the account type to Stock or Mutual Fund, click the button next to the Security/currency: box, and click to define a new security of type FUND.
This is not really what the stock and mutual fund account types are meant for, but GnuCash
will allow
it. The downside is that you’ll have to enter a «price» for every
transaction involving this account, because GnuCash
needs the prices to figure out the
monetary value of the points and treat them as one of your assets.
In the second method, you use one of the dummy currencies to track the loyalty points. These currencies are «XTS (Code for testing purposes)» and «XXX (No currency)». If you use one of these for your LoyaltyGroupRewardMiles account, you can enter transactions into the account without having to enter share prices for every transaction. And, you can keep using the same two dummy currencies to track all sorts of amounts—vacation dollars earned and used so far this year, vacation hours earned and used, health insurance benefits allowance used and remaining, and so on.
The drawback with this second method is that you cannot define exchange rates for the dummy currencies to convert them to ISO currencies. If you want to do that, you really should use the first method.