TrakIT keeps the books in one base currency per company while fully supporting documents, bank accounts and settlements in other currencies. This page explains the model.
Everything in the ledger balances in the base currency. When a foreign-currency document or manual entry is posted:
Each line is converted to base at the entry's exchange rate.
The original foreign amounts are stored alongside the base amounts, so entries and reports can show both.
Line-by-line rounding differences are absorbed automatically so every entry balances to the exact cent (or whole unit, for currencies without decimals).
Rates live in the exchange rate table (Finance > Exchange Rates), each with an effective date. Postings pick the latest rate on or before the transaction date; companies can limit how old a usable rate may be. Invoices and bills carry their own booking rate captured when they are raised.
Currencies also carry their number of decimal places (2 for most; 0 for currencies like XOF and JPY; 3 for currencies like KWD and BHD), and all conversions round accordingly.
A postable account can be designated for one foreign currency when it is created (typically bank accounts, and inter-company or loan accounts). Such accounts track two balances — the currency balance and its base value — and are protected by strict rules:
They can only be posted through entries in their own currency, so the currency amount is always recorded. (System entries — year-end closing and opening balances — are the exception; they record the currency amounts too.)
They cannot be used as auto-posting default accounts.
Ordinary base-currency accounts (AR, AP, income, expense) can appear in foreign-currency entries freely; they simply record the converted base value plus the foreign amount for reference.
When a foreign-currency receipt or payment is applied to invoices or bills, the money is worth its settlement-date value in base currency, while the receivable/payable was booked at each document's own rate. The difference is a realized exchange gain or loss, posted automatically to the FX Gain/Loss account at settlement time. No manual work is needed — but the FX Gain/Loss default account must be configured.
Between settlement dates, exchange rates move while foreign-currency balances sit on the books at their historical values. The FX Revaluation button (Journal Entries page) restates things at the closing rate:
Every foreign-currency designated balance-sheet account is remeasured: its currency balance times the closing rate becomes its new base value, with the difference posted to FX Gain/Loss.
Income and expense accounts are not remeasured — they stay at their transaction-date rates, as accounting standards require.
Running revaluation again in the same Financial Year replaces the previous revaluation entry, so the books always carry one up-to-date remeasurement per year. Revaluations of closed years remain untouched.
Run it at every period end you report on, and always as at the year-end date before closing the year.
The year-end close transfers income and expense balances to Retained Earnings in base currency and also clears the foreign-currency balances of any foreign-currency income/expense accounts, so nothing rolls into the new year on the P&L side. Balance-sheet currency accounts carry their balances forward as normal.
Keep the rate table current; a missing rate blocks posting rather than guessing.
Configure the FX Gain/Loss account before the first foreign-currency settlement.
Expect small FX Gain/Loss postings on almost every foreign settlement — that is normal and correct.
On reports, foreign-currency account rows show the currency balance next to the base value; the statements themselves are entirely in base currency.