Multi-currency accounting
A company keeps its books in one currency, its base currency, but its invoices, bills, receipts, payments and bank accounts can be in other currencies. This page explains how TrakIT converts those amounts, keeps the original currency amounts, and accounts for exchange differences.
Base currency and document currency
Section titled “Base currency and document currency”The base currency is the company’s Default Currency, set by a system administrator. Every journal entry balances in the base currency, and the Trial Balance, Balance Sheet and Profit & Loss are all in the base currency. The base currency cannot change once the company has an open financial year or anything posted in its books.
A document can be in another currency: its document currency. When it posts, the journal entry is in the document currency too. Each line keeps both amounts: the amount in the document currency and its value in the base currency. The journal entry shows both.
Which exchange rate a posting uses
Section titled “Which exchange rate a posting uses”| Posting | Exchange rate |
|---|---|
| Invoice, debit note, credit note, bill, and their adjustments and write-offs | The exchange rate on the document itself, its booking rate. |
| Receipt or payment | The exchange rate table, on the transaction date. |
| Internal posting | The exchange rate table, on the posting date. |
| FX revaluation | The exchange rate table, on the revaluation date. |
| Entry posted by hand | The Exchange Rate you enter on the entry. If your company takes its rates from the table, TrakIT fills it in from the table and you can change it by no more than 1%. |
From the exchange rate table, TrakIT takes the latest rate on or before the date between the base currency and the other currency, in either direction. If your company has a Max Exchange Rate Age, older rates are not used. If there is no usable rate, nothing is posted and the document cannot be finalized: TrakIT never guesses a rate.
Foreign-currency accounts
Section titled “Foreign-currency accounts”A child account in the chart of accounts can be held in a foreign currency, for example a bank account in US dollars. You choose its Currency when you create it, and it cannot change later.
Such an account keeps two balances: the amount in its currency and its value in the base currency. The Chart of Accounts page shows both, and so does the account’s own page.
Rules for foreign-currency accounts:
- Only entries in the account’s currency can post to it, so its currency amount is always recorded. The opening balances, FX revaluation and year-end closing are the exceptions: they post in the base currency and record the currency amount too.
- An entry posted by hand in the base currency, or in another foreign currency, cannot use it.
- It cannot be a default account, the retained earnings account or a write-off account.
- It can be the bank or cash account of a payment method. The method can then be used only for receipts and payments in that currency.
Accounts in the base currency, such as accounts receivable, payable, revenue and expenses, can take entries in any currency. They record the base value, and keep the document amount next to it.
Realized exchange differences
Section titled “Realized exchange differences”A receipt in a foreign currency settles invoices that were booked at their own exchange rates. By the time the money arrives, the rate has usually moved, so the money is worth more or less in the base currency than the receivable it settles. The difference is a realized exchange gain or loss.
When a receipt or payment in a foreign currency is finalized, TrakIT posts:
- the bank or cash account at the value of the money on the transaction date, from the exchange rate table;
- accounts receivable or payable at the value at which each allocated invoice or bill was booked;
- the part not allocated to any invoice or bill at the transaction-date value, so it makes no gain or loss until it is allocated;
- the difference on the FX Gain/Loss Account, as a line in the base currency only.
For example, a company whose base currency is EUR invoices USD 1,100.00 when 1 EUR = 1.10 USD. The invoice posts EUR 1,000.00 to accounts receivable. The customer pays USD 1,100.00 a month later, when 1 EUR = 1.00 USD:
| Account | Debit | Credit |
|---|---|---|
| Bank USD | EUR 1,100.00 (USD 1,100.00) | |
| Accounts receivable | EUR 1,000.00 (USD 1,100.00) | |
| FX gain/loss | EUR 100.00 |
A receipt or payment can be allocated only to invoices or bills in its own currency. The company needs an FX Gain/Loss Account before its first receipt or payment with a difference.
Unrealized exchange differences: FX revaluation
Section titled “Unrealized exchange differences: FX revaluation”Between settlements, the balances you hold in other currencies stay in the books at the rates of the days they were posted. The FX revaluation restates them at the rate of a date you choose, usually the end of a month or of the year, and posts the difference to the FX Gain/Loss Account as an unrealized gain or loss.
To run it, select FX Revaluation on the Journal Entries page, choose the date and select Revalue. It needs the Create permission on Journal Entries and an open financial year.
TrakIT revalues:
- every active foreign-currency account in the assets, liabilities and equity;
- the amounts in each other currency on the Default AR Account and Default AP Account, which come from invoices, bills, receipts and payments in that currency.
Revenue and expense accounts are never revalued: they stay at the rates of the days they were posted. Base-currency bank accounts are not revalued either: their money is already in the base currency.
For example, a US dollar bank account holds USD 5,000.00, booked at EUR 4,500.00. On 31 December, 1 EUR = 1.25 USD, so the USD 5,000.00 are worth EUR 4,000.00. The revaluation credits the bank account and debits the FX gain/loss account with EUR 500.00. The bank account still holds USD 5,000.00.
Each financial year has one revaluation in force: running it again replaces the previous one of the same year as from the new date, so reports for earlier dates do not change. Revaluations of closed years stay as they were.
Run the revaluation at each period end you report on, and always as of the last day of the year before you close it.
Year-end
Section titled “Year-end”Closing a year brings every revenue and expense account to zero, in the base currency and, for an account held in a foreign currency, in its currency too. Balance sheet accounts, including foreign-currency bank accounts, carry their balances into the next year.
Rounding
Section titled “Rounding”TrakIT converts each line separately and rounds it. So that every entry still balances in the base currency:
- on an invoice, bill, receipt or payment, the accounts receivable or payable line takes the value that makes the entry balance;
- on an entry posted by hand, a rounding difference goes to the largest line. If the difference is more than two of the smallest units of the base currency per line (0.02 per line for a currency with two decimals), the entry is refused: check the exchange rate.
- Keep the exchange rate table up to date: a missing rate stops postings.
- Choose the FX Gain/Loss Account before the first receipt or payment in another currency.
- Small exchange differences on almost every receipt and payment in another currency are normal.
- To find every exchange difference, open the FX gain/loss account on the Chart of Accounts page: its Journal Entries tab lists each entry.

