Reconciling bank accounts and transactions in multiple currencies adds complexity but Light handles most of it automatically. This article explains how multi-currency reconciliation works.
What is this page about
This page covers reconciling in more than one currency: what Light parses from a cross-currency payment, how it matches and adjusts for FX, which date drives the exchange rate, and what to watch for with pending transactions. Read it if any of your bank accounts settle payments in a currency other than the invoice currency.
On this page
- Multi-Currency Account Setup
- Imported Transaction Data
- Matching Multi-Currency Transactions
- FX Adjustments
- Posting Multi-Currency Entries
- FX Rate Sources
- Reconciliation with FX Rate Overrides
- Dealing with Pending Transactions
- Reconciliation Accuracy
- Group vs. Local Currency Reconciliation
- Automation Rules and Original Amounts
- Common Multi-Currency Scenarios
- Reporting and Analysis
- Best Practices
- Related Articles
Multi-Currency Account Setup
A bank account operates in a single currency, its base currency:
- USD account: all transactions are in USD
- EUR account: all transactions are in EUR
However, you can receive deposits or make payments in other currencies, which the bank converts to the base currency.
When setting up a bank account in Light, you specify its currency (USD, EUR, GBP, etc.). Bank providers only deliver transactions in the account's currency, so every imported bank transaction amount is already in the account currency. Any FX gain or loss is calculated automatically when the matched documents are cleared.
Imported Transaction Data
Every imported bank transaction has a single amount in the bank account's currency. For cross-currency payments, Light's AI additionally parses metadata from the transaction reference (or provider metadata), including:
Original Amount: transaction amount in the currency the payer used, for example 100 GBP
Original Currency: the currency of the original amount (GBP)
Received Amount: the amount actually received, where available
Fees: any bank fees mentioned in the reference
End-to-end ID and Partner: payment reference and counterparty details, where available
The transaction Date is an input to matching (used for FX rate determination), not something parsed from the reference. Light uses this parsed metadata to match GL entries in other currencies. Banks do not provide a conversion rate field; conversion rates come from Light's FX rate sources (see below).
Matching Multi-Currency Transactions
When matching a bank transaction to a GL entry in a different currency:
- Bank transaction: 120 USD on a USD account (originally a 100 EUR payment)
- GL entry: Created for a 100 EUR invoice
- Light uses the AI-parsed original amount (100 EUR) to find the matching invoice
- As a sanity check on the parsed data, Light converts the original amount to the account currency and requires it to be within 10% of the bank transaction amount
- Any remaining difference between the GL amount and the bank amount is handled as FX gain/loss when the match is cleared
If the parsed original amount fails the 10% sanity check, the transaction is not auto-matched and is left for manual review.
FX Adjustments
When the exchange rate changes between transaction date and posting date, FX gain/loss occurs:
Scenario:
- Invoice created on Jan 1: 100 GBP at rate 1.20 = 120 USD posted to GL
- Payment received on Jan 15: 100 GBP at rate 1.25 = 125 USD received
FX Gain/Loss:
- Expected: 120 USD
- Actually received: 125 USD
- FX Gain: 5 USD (you gained money due to GBP appreciation)
Light automatically calculates and posts the FX adjustment when the match is cleared:
- GL entry for 120 USD (original posting)
- Bank transaction for 125 USD (actual payment)
- FX adjustment: 5 USD to FX Gain account
- Now both sides match at 125 USD
Posting Multi-Currency Entries
When posting an accounting document in a foreign currency:
-
Enter the amount in the document currency (GBP, JPY, etc.)
-
Specify the valuation date, which drives the FX rate used. If a document has no valuation date set, Light falls back to its posting date instead
-
Light converts to:
- Local currency (company entity's currency)
- Group currency (consolidated reporting currency)
-
All three amounts are stored and used in matching and reporting
When reconciling, Light matches using the amount in the bank account's currency.
FX Rate Sources
Light uses exchange rates from:
ECB (European Central Bank): for EUR and many other currencies, with a fallback external exchange rate API for currency pairs ECB doesn't cover
Daily Published Rates: updated daily, automatically fetched
Manual Override: you can define custom monthly rates at the company or entity level. Entity-level rates take precedence over company-level rates, which take precedence over system rates
Rates are determined by the document's valuation date. Where a document has no valuation date set, Light uses the posting date instead. If your published rate falls on a weekend or holiday, Light rolls back to the most recent date a rate was actually published.
If your FX comes out differently than expected, check the valuation date first, since that's the field driving the rate rather than the posting date.
Reconciliation with FX Rate Overrides
You can override the default rate on a document to match your own rate policy, for example an internally locked monthly rate. This is a document-level field you set through Light's API, rather than something you click through on screen. There is no in-app "FX Rates" section or override toggle today.
Use rate overrides for:
- Internal transfer pricing
- Special negotiations with trading partners
- Companies that lock a rate internally rather than using the daily published rate
See API access and custom integrations for how to authenticate and post documents with a rate override.
Dealing with Pending Transactions
Multi-currency pending transactions can be tricky:
Problem: Bank shows amount as "pending" at rate 1.20, and you posted the GL entry at the same rate. Next day the rate changes to 1.18 and the bank finalises, so the amounts don't match.
Solution:
- Don't reconcile pending transactions until they're finalized
- Once finalized, the bank shows the actual settled amount
- If rates changed, the difference is posted automatically as FX gain/loss during clearing
Good to know: Some banks show provisional FX rates for pending transactions. Always wait for the transaction to finalize before reconciling.
Reconciliation Accuracy
Light does not have a configurable matching tolerance. FX differences between the GL amount and the bank amount are calculated and posted to the FX gain/loss accounts automatically during clearing. This isn't something you select, it happens whenever a currency mismatch exists.
For other amount differences, you choose a deviation reason:
- Selecting Bank fees as the deviation reason creates a journal entry for the fee amount
Group vs. Local Currency Reconciliation
For consolidated companies:
Local Reconciliation: entities reconcile to local GL in their base currency
Group Reconciliation: corporate office reconciles consolidated GL in group currency
Light handles both:
- Local entities match local currency amounts
- Group GL shows converted group currency amounts
- FX differences roll up to group level
Automation Rules and Original Amounts
Automation rules can use the AI-parsed original amount of a transaction:
- Go to Accounting → Bank reconciliation → Automation rules
- Create a rule with conditions on bank transaction fields: account, date, amount, original amount, reference, or fees
- Choose the action to apply (for example, match with a journal entry)
Rule conditions do not include the original currency or an FX tolerance — FX differences are handled automatically during clearing rather than through rule tolerances.
Common Multi-Currency Scenarios
Scenario 1: Foreign Customer Payment
- Customer in UK sends 10,000 GBP
- You created invoice for 10,000 GBP
- Bank receives at rate 1.25 = 12,500 USD
- GL entry for 10,000 GBP × 1.20 = 12,000 USD
- Difference: 500 USD FX gain (GBP appreciated)
- Light posts the 500 USD FX gain automatically during clearing
Scenario 2: Multi-Currency Vendor Invoice
- Invoice from supplier in Switzerland: 5,000 CHF
- Paid in USD: 5,500 USD (at rate 1.10)
- GL entry for 5,000 CHF was posted at rate 1.10 = 5,500 USD
- Bank transaction: 5,500 USD
- Perfect match; reconcile directly
Scenario 3: Hedged Transaction
- You have forward contract: 100,000 EUR at fixed 1.18 (cost: 118,000 USD)
- Invoice created at spot rate 1.20 = 120,000 USD
- On payment date, pay forward at 1.18 = 118,000 USD
- Create adjustment entry for 2,000 USD gain (hedge benefit)
- Reconcile to bank at 118,000 USD
Reporting and Analysis
For multi-currency accounts:
- Go to Accounting → Bank reconciliation → Reports
- View FX gain/loss figures and a report showing which exchange rates were applied to your transactions
Use this to understand your FX exposure. A dedicated volatility-by-currency-pair report and export option aren't currently available.
Best Practices
- Match frequently: reconcile weekly for volatile currency pairs
- Monitor rates: track rate changes to understand FX impact
- Use consistent conventions: always post in the original currency first
- Understand your counterparties: know which currencies customers and vendors use
- Calculate reserves: for pending transactions, estimate FX impact
- Review FX gains and losses: understand and explain FX impact in reports
- Consider hedging: for large multi-currency positions, consider hedging strategies outside Light and record their effect with journal entries
Related Articles
Was this article helpful?
Thanks for the feedback!