Multi-Currency

You can record a transaction in any currency. Gee Ledger keeps two amounts for every document: the amount as it was actually invoiced or paid, and the same amount converted to your business’s base currency so totals and reports can add everything together.

Your Base Currency

Every business has one, set in Settings → General. It is the currency your dashboard, P&L, and every report are stated in.

Recording a Foreign-Currency Transaction

  1. Create the income or expense as usual
  2. Change Currency to the currency of the document
  3. An Exchange Rate field appears — enter the rate to your base currency
  4. Save

The rate is the number of base-currency units one unit of the document currency is worth. If your base currency is USD and you invoice EUR 100 at a rate of 1.10, the document stays EUR 100 and your reports count USD 110.

A Foreign-Currency Document Needs a Rate

If the document currency differs from your base currency, the exchange rate is required. A document without one is refused, with a message naming both currencies:

A EUR document needs an exchange rate to USD. Without one the amount cannot be counted in USD.

This is stricter than it used to be, and deliberately so. Previously a missing rate was quietly treated as 1:1 — a EUR 1,000 invoice counted as USD 1,000 in your P&L, understating it, with nothing on screen to say anything was wrong. A refusal you can see is better than a total you cannot trust.

Same-currency documents need nothing. If the document is already in your base currency the rate is fixed at 1 whatever the form contains, so a stale value cannot distort your totals.

Rates Are Recorded, Not Fetched

Gee Ledger does not look up exchange rates. You enter the rate that applied to that transaction — the one on the invoice, the bank statement, or the rate your customer was billed at. That rate is stored with the document and never changes afterwards, so reprinting last year’s invoice shows the same figures it showed then.

Importing Foreign-Currency Transactions

The transaction CSV import has an Exchange Rate column. See Import & Export.

Rows are validated individually: a spreadsheet with one foreign-currency row missing its rate imports every other row and tells you which one it could not take. The file is not rejected as a whole.

Related