# How to Reconcile a Foreign Currency Bank Account

- Author: PreciseBankFlow (https://www.precisebankflow.com)
- Published: 2025-06-15
- Updated: 2025-06-15
- Category: Bank reconciliation
- Canonical: https://www.precisebankflow.com/blog/reconcile-a-foreign-currency-bank-account

> How to reconcile a foreign currency bank account: reconcile in the account's currency first, then book the revaluation, with a worked euro example.
To reconcile a foreign currency bank account, match the statement to the ledger in the account's own currency first, so euros agree with euros. Only then translate the reconciled balance into your reporting currency at the month-end rate and book the difference as an unrealized exchange gain or loss. Never reconcile on converted amounts.

## Why reconcile a foreign currency bank account in its own currency first?

A foreign currency bank account must be reconciled in its own currency because that is the only currency the bank keeps. The statement shows euros, so only the euro side of your ledger can match it line for line. Dollar figures carry exchange rates, and rates change between the day you book an item and the day it clears.

Think of the account as holding two separate questions. The first is whether every euro is accounted for. That is a bank reconciliation, and it has nothing to do with exchange rates. The second is what those euros are worth in dollars today. That is a valuation, and it has nothing to do with the bank.

Mixing the questions creates noise. A payment booked at one rate and cleared at another shows a small dollar difference that looks like an error but is not. Separate the two and each answer is clean: the euro reconciliation agrees exactly, and the revaluation explains the whole dollar movement.

This only works if the ledger records the foreign amount for every transaction, not just the dollar equivalent. Check that yours stores both. If it stores only dollars, start a side register in euros before the next close, and set its opening figure from a statement you trust. [Setting the opening balance for a first bank reconciliation](/blog/first-bank-reconciliation-opening-balance) explains how to pick and prove that starting point.

## The two balances on a foreign currency bank account

A foreign currency bank account has two balances in your books. The transaction-currency balance is the number of euros you hold, and it should equal the reconciled bank figure. The reporting-currency balance is what those euros are carried at in dollars, built up from the historic rates used on each entry.

The two move for different reasons:

| Balance | Changes when | Should agree with |
| --- | --- | --- |
| Euro balance | Money enters or leaves the account | Adjusted balance per bank statement, in euros |
| Dollar balance | Each euro entry is booked at its rate, and at each revaluation | The euro balance times the month-end rate, after revaluation |

Before revaluation, the dollar balance is a mix of rates from different days. It is a bookkeeping figure, not a market value. After revaluation it equals the euro balance at today's rate, which is the figure that belongs on the balance sheet.

## Revaluing the foreign currency balance at month-end

Revaluation restates the reconciled foreign currency balance at the closing exchange rate. Multiply the euro balance by the month-end rate, compare it with the dollar balance in the ledger, and post the difference to an unrealized foreign exchange gain or loss account. Cash is a monetary item, so it is revalued every period.

Steps for the revaluation:

1. Finish the euro reconciliation. Do not revalue a balance that has not agreed.
2. Pick the closing rate from one documented source, and use the same source every month. Note the rate, the source and the time it was taken in the workpaper.
3. Compute the target: reconciled euro balance times closing rate.
4. Compare with the ledger's dollar balance for the account.
5. Post the difference. A higher target is a gain: debit cash, credit unrealized gain. A lower target is a loss: debit unrealized loss, credit cash.

Your system may post this entry for you, and it may reverse it on the first day of the next month. Either approach works if it is applied consistently. Find out which yours does, because a reversing revaluation that is also posted manually will double the gain.

### Realized and unrealized differences

An unrealized difference comes from restating a balance you still hold. A realized difference comes from an actual conversion, such as selling euros for dollars or paying a dollar invoice from the euro account. Keep the two in separate accounts. The realized figure is final, because the money has changed currency. The unrealized figure will move again next month as the rate moves, and it says nothing about cash you have gained or lost.

When euros are converted to dollars, the dollar account receives a fixed amount and the euro account gives up a fixed number of euros. Book the euro leg at the carrying rate and the dollar leg at what the bank actually paid. The gap between the two is the realized gain or loss on that conversion.

## Worked euro example: a foreign currency bank account in a dollar ledger

The example below follows a fictional company with a euro account and a dollar ledger through March. Every amount and exchange rate is an example value, chosen to make the arithmetic easy to follow.

### Activity in March

| Date | Item | EUR | Rate (USD per EUR) | USD booked |
| --- | --- | ---: | ---: | ---: |
| 1 Mar | Opening balance | 50,000.00 | 1.08 | 54,000.00 |
| 10 Mar | Customer receipt | 20,000.00 | 1.09 | 21,800.00 |
| 20 Mar | Supplier payment | (12,000.00) | 1.10 | (13,200.00) |
| 31 Mar | Supplier payment, sent late in the day | (3,000.00) | 1.11 | (3,330.00) |
| | Ledger before adjustments | 55,000.00 | | 59,270.00 |

The bank statement for March shows the receipt, the 20 March payment and a bank charge of EUR 25.00 that nobody had booked. The 31 March payment has not cleared. The statement closes at EUR 57,975.00.

### The euro reconciliation

| Line | EUR |
| --- | ---: |
| Balance per bank, 31 March | 57,975.00 |
| Less: outstanding payment of 31 March | (3,000.00) |
| Adjusted balance per bank | 54,975.00 |
| Balance per books, 31 March | 55,000.00 |
| Less: bank charge not yet booked | (25.00) |
| Adjusted balance per books | 54,975.00 |

The euro side agrees. Book the charge at the rate in force on the day it was taken, say 1.10, so it costs USD 27.50. The ledger's dollar balance becomes 59,242.50.

### The revaluation

The closing rate in this example is 1.12. The reconciled balance of EUR 54,975.00 at 1.12 is USD 61,572.00. The ledger carries USD 59,242.50. The difference of USD 2,329.50 is an unrealized gain.

| Account | Debit (USD) | Credit (USD) |
| --- | ---: | ---: |
| Cash, euro account | 2,329.50 | |
| Unrealized foreign exchange gain | | 2,329.50 |

After this entry, the account carries EUR 54,975.00 and USD 61,572.00, and the two agree at the closing rate. The finished workpaper should show both tables, the rate source and the entry, so a reviewer can redo the arithmetic. [The bank reconciliation statement format](/blog/bank-reconciliation-statement-format) gives the layout for the euro table; add the revaluation as a second block underneath. If you keep reconciliations in a shared spreadsheet, [a bank reconciliation template Google Sheets can run](/blog/bank-reconciliation-template-google-sheets) can carry both blocks, with an extra column for the foreign amount.

## What if the foreign currency account still shows a dollar difference?

A dollar difference that remains after the euro reconciliation agrees and the revaluation is posted comes from the dollar entries themselves, not from the bank. The usual causes are an item booked in dollars only, a wrong historic rate, a revaluation posted twice, or a transfer from a dollar account booked at the wrong rate.

Check these in order:

| Cause | How it shows | Fix |
| --- | --- | --- |
| Entry with no foreign amount | Dollar balance moves, euro balance does not | Add the euro amount, or move the entry to the right account |
| Revaluation posted twice | Gain or loss is double the expected size | Reverse one; check whether the system auto-reverses |
| Transfer from a dollar account at a different rate | Each side of the transfer uses a different rate | Use one rate for both legs and book any difference as realized |
| Rounding on many small items | Difference of a few cents | Accept under a written threshold, or book to the exchange account |

The euro balance is the anchor. If it agrees with the bank, every remaining dollar difference is a translation problem, and it can be fixed by looking only at the dollar column of the ledger.

## Mistake: matching foreign currency bank lines on converted dollar amounts

Matching foreign currency bank lines on dollar amounts fails because the dollar figure depends on the rate, and the rate on the ledger is rarely the rate on the day the bank posted. A EUR 12,000.00 payment booked at 1.10 and compared with the same payment converted at 1.11 will not match, though nothing is wrong.

The mistake usually starts with a convenient report. A ledger export shows dollars by default, the bank statement shows euros, and someone converts the statement at one month-end rate to compare the two. Every line then looks slightly off. People chase the differences, or worse, book them as adjustments, and the account fills with entries that have no source.

The fix is to match on the currency the bank uses. Export the foreign amount column from the ledger, set it beside the statement, and tick euro against euro. The same rule applies when payments arrive against invoices issued in euros. Matching a payment to an invoice on the foreign amount is far more reliable than on a translated figure, which is one of the tests discussed in [automated invoice reconciliation against payments](/blog/automated-invoice-reconciliation).

PreciseBankFlow's checks start from the statement itself, footing the balance and matching lines to the ledger, and its FAQ describes the statements it reads as mostly US checking, savings and credit card. The [PreciseBankFlow homepage](/) lists what it supports today, so check there before relying on it for a foreign currency account.
