---
title: "Multi-Currency"
description: "Invoice customers and pay suppliers in any currency, age receivables at the closing rate and run IAS 21 revaluation that reverses itself, on every plan."
url: "https://bareledger.app/guides/multi-currency"
category: "Banking, journals & reports"
updated: "2026-11-06"
publisher: "BareLedger (Syneria Technologies OPC)"
---

# Multi-Currency

> Invoice and pay in any currency: exchange rates, foreign-currency bank accounts, and period-end revaluation.

Use this guide for multi-currency accounts receivable and payables: invoicing customers and paying suppliers in their own currency, collecting foreign-currency payments, and keeping your aging and balance sheet right at period end.

Every organization has one **base currency** (accountants call it the *functional* currency), chosen when the organization is created. Your reports are always in that currency. Invoices, bills, expenses, payments, and journal entries can be in any other currency, and every foreign-currency record carries the **exchange rate** that was used to translate it into your base currency.

BareLedger follows international accounting practice (IAS 21) here: a record is translated at the rate on the day it happened, and open balances are re-measured at the closing rate at period end. You do not need to know the standard to use the feature, but it explains why the app insists on rates and why a "revaluation" entry appears at month end.

## Step 1: Add exchange rates

Go to **Settings → Exchange Rates & FX**. Only the Accountant role manages rates; other roles can look them up. For each foreign currency you deal in, add a rate for a date: the number of units of your base currency that one unit of the foreign currency is worth on that day. Add a new line whenever the rate changes; the app always uses the most recent rate on or before the date of the record.

The app never assumes a rate of 1:1. If you save a foreign-currency record and there is no stored rate on or before its date, and you have not typed one on the form, saving fails with a message asking for a rate.

## Step 2: Create a foreign-currency document

On an invoice, bill, expense, or journal entry, pick the currency. The **Exchange rate** field fills itself from the stored rates as soon as you choose the currency and date; you can override it for that one record if you know the exact rate your bank applied. Line amounts and totals are shown in the document's currency, and the ledger stores both the document amount and the base-currency amount.

Changing a stored rate later does not touch documents that already used it. Each record keeps the rate it was saved with.

## Step 3: Get paid, or pay, in the same currency

A payment must be in the same currency as the invoice or bill it settles. If a customer pays a foreign-currency invoice, record the payment in that currency with the rate on the payment date. Any difference between the invoice rate and the payment rate is a **realized exchange gain or loss**, and the app posts it to the FX gain and loss accounts for you when the payment posts.

If money arrives in a different currency than the invoice, record it as a payment in the invoice currency at the effective rate, so the amount lands correctly against the customer's balance.

## Step 4: Foreign-currency bank accounts

A bank account can be denominated in a currency other than your base currency. Every payment, expense, or journal line that touches that account must be in the bank's currency with a rate, so the account's balance in its own currency is always derived from the ledger, not typed in. Bank reconciliation for that account compares the statement and your books in the bank's currency.

Moving money between two of your own accounts in different currencies is recorded as a manual journal entry: one line per account, each in its own currency with its rate, and any small difference to the FX gain or loss account.

## Step 5: Revalue open balances at period end

At the end of a month, anything still open in a foreign currency (unpaid invoices and bills, and foreign-currency bank balances) is re-measured at the **closing rate** for that date. Under **Settings → Exchange Rates & FX → Revaluation**, choose the "as of" date, and the preview lists every open position with its closing rate and the adjustment that would be posted. **Submit revaluation for review** prepares one journal entry for the unrealized gain or loss and sends it for sign-off — it is not in your books yet. Like any journal entry, a reviewer and then a different approver check it in **Journal Entries**; when it's approved, it posts. That entry reverses itself automatically the next day, so it never double-counts once the invoice is actually paid.

You can also leave this to the app: a scheduled job prepares the revaluation at every organization's month-end and submits it for review in the same way (it's prepared in the owner's name, so the owner can't be its reviewer or approver). Running it again for the same date while one is waiting for sign-off simply shows you the one that's waiting. If a revaluation is sent back (rejected), it can't be edited — delete the draft in Journal Entries and run the revaluation again. Preparing a revaluation needs FX management access (the Accountant role).

## How reports treat currencies

- Every report is in your base currency and says so in its header ("All amounts in …").
- **Receivables and payables aging** translate open foreign-currency balances at the closing rate for the report date.
- **Statement of Account** shows each document at the rate it was booked with, because it is a statement of that customer's or supplier's own transactions.
- **Approval thresholds** (see [Approval Workflow](https://bareledger.app/guides/approval-workflow)) compare amounts in your base currency, so a large foreign-currency invoice is judged by its translated value.

## Common mix-ups

- Expecting a foreign-currency invoice to save without a rate. Add the day's rate first, or type one on the form.
- Trying to apply a payment in one currency to an invoice in another. Record the payment in the invoice's currency.
- Wondering why yesterday's revaluation entry has a reversal today. That is by design; the next month-end will re-measure again.
- Editing a stored rate and expecting older documents to change. They keep the rate they were saved with.
