Skip to content

Blog

Reconciling Multi-Currency Accounts from Sampath Bank in Xero

15 October 2026

A foreign-currency bank account can make a normal bank reconciliation considerably more complicated.

A foreign-currency bank account can make a normal bank reconciliation considerably more complicated. With a regular LKR account, you are usually comparing the transactions in your accounting records with the transactions shown on the bank statement. The amounts are in the same currency, so the main job is finding missing, duplicated or incorrectly recorded transactions.

A USD, EUR or other foreign-currency account adds another layer. You still have to reconcile the bank statement. But you also have to keep the foreign-currency amount separate from its value in the company’s home currency, deal with exchange-rate movements and make sure the bank account in Xero has been set up with the correct currency.

This matters for businesses using foreign-currency accounts at Sampath Bank and maintaining their books in Xero.

Sampath offers foreign-currency account products, including Personal Foreign Currency Accounts and Business Foreign Currency Accounts. The reconciliation itself is not necessarily difficult. The problems usually start when the statement data, currency settings and accounting records do not line up.

Why a foreign-currency bank account is different

Consider a company whose main accounting currency is LKR but which has a USD bank account.

The bank statement might show:

The bank is reporting what actually happened in the USD account.

Xero, however, also needs to account for what those amounts are worth in the organisation’s base currency. That is where foreign-currency accounting becomes different from a straightforward LKR reconciliation.

Setting up the Sampath account correctly in Xero

Before importing anything, check the bank account itself. If the Sampath account is a USD account, the corresponding bank account in Xero should also be set up as a USD bank account. This sounds obvious, but it is an easy place to create problems.

Xero’s current documentation specifically notes that the currency of a bank account needs to match the currency of the corresponding bank or feed account in situations where a feed is being connected. 

Xero’s multi-currency functionality keeps the foreign-currency bank account in its applicable currency. It also maintains separate accounts for realised and unrealised currency movements. 

So if the real bank account is USD, do not create it as an LKR account simply because the company’s main books are in LKR. The two currencies have different jobs.

The statement amount and the LKR amount are not the same thing

Suppose a customer pays USD 5,000 into the company’s Sampath USD account.

The bank statement records:

USD 5,000

The company’s accounting records may also need the LKR equivalent based on the exchange rate applicable to that transaction.

Later, the value of the USD balance in LKR can change even though the company has not received another USD payment.

That movement is caused by the exchange rate.

A simple example

Imagine the company receives USD 10,000 when the applicable exchange rate is:

1 USD = LKR 300

The accounting value at that point would be:

USD 10,000 × LKR 300 = LKR 3,000,000

A few weeks later, the exchange rate changes to:

1 USD = LKR 305

The company still has USD 10,000.

The bank account has not suddenly received another USD 5,000.

But the LKR value of those dollars has changed.

At the new rate, the balance would be:

USD 10,000 × LKR 305 = LKR 3,050,000

That LKR 50,000 difference is an exchange-rate movement, not a missing bank transaction.

This distinction becomes important when investigating why the foreign-currency bank account and the company’s reporting figures do not appear to move in the same way.

Xero has specific foreign-currency functionality for this. Its documentation describes bank revaluation, realised currency gains and unrealised currency gains as separate parts of its multi-currency accounting.

What happens when money moves between two currencies?

This is another common source of confusion. Suppose a company has:

  • Sampath USD account
  • Sampath LKR account

The company transfers USD 2,000 from the foreign-currency account and receives the corresponding LKR amount in the rupee account. You cannot treat this as two unrelated transactions. It is a transfer between two bank accounts.

The actual amounts appearing in the two accounts are important because the exchange rate used for the transfer can produce a difference between the currencies.

Xero’s current guidance specifically covers transfers between bank accounts with different currencies. When recording the transfer, Xero uses the actual amounts in the two accounts to calculate the exchange rate. If the calculated rate differs significantly from its reference rate, Xero can flag the exchange rate for checking. For the accountant, this means the bank statements are particularly important.

You need to know what actually left the USD account and what actually arrived in the LKR account.

Where reconciliation gets messy

A foreign-currency statement can contain several different situations.

Customer receipts

A customer may pay an invoice in USD into the USD bank account. The bank statement shows the USD receipt. The invoice may have been recorded using an exchange rate applicable on another date . That can create an exchange-rate difference when the payment is recorded.

Supplier payments

The same issue can happen in reverse. A supplier invoice may be recorded at one exchange rate and paid later when the exchange rate has changed. The amount leaving the bank account is the amount that actually matters for the bank reconciliation.

Bank charges

Foreign-currency accounts can also have bank charges recorded directly by the bank. If the charge has not been entered into Xero, the statement will contain a transaction that has nothing to match against.That is a reconciliation difference, not necessarily an exchange-rate problem.

Transfers between accounts

A transfer from USD to LKR involves two currencies and two bank accounts. It needs to be recorded as a transfer rather than treated as ordinary income or an expense.

What if there is no bank feed?

A bank feed can make reconciliation easier because transactions are brought into the accounting system automatically.But a bank feed is not the only way to get transactions into Xero.

Xero’s current documentation says that when a direct bank feed is unavailable, users can manually import bank transactions. It supports formats including OFX, QIF and CSV, and recommends OFX where possible because it can be imported without changing the bank’s export file. That gives accountants another route:

Sampath statement → transaction data → Xero → reconciliation

The problem is that the first step depends on the format you receive. If the client sends a clean OFX or CSV file, you may be able to import it directly. If the client sends a PDF, the job is different.

The PDF problem comes before the Xero problem

Suppose your client sends you a monthly Sampath foreign-currency statement as a PDF.Xero’s reconciliation screen is not the first problem you need to solve. You first need usable transaction data.

A PDF may contain dates, descriptions, references, withdrawals, deposits and balances in a layout designed for people to read rather than software to import.

A scanned PDF makes this harder because the transaction information exists as an image rather than selectable text. That means the workflow can become:

PDF → extraction → checking → CSV/Excel → Xero → reconciliation

The running balance can help here too

A running balance is useful when checking extracted statement data, including foreign-currency statements.

Suppose the opening balance is:

USD 20,000

A USD 5,000 receipt should take the balance to:

USD 25,000

Then a USD 1,500 payment should bring it to:

USD 23,500

If the extracted transactions produce a different balance from the one printed on the statement, you have a reason to investigate.

The check does not prove that every transaction has been extracted correctly. But it gives you another way to find missing or incorrectly extracted transactions before they reach Xero.


Do not convert the whole statement into LKR first

This is one of the easiest mistakes to make. If you have a USD statement, keep the statement in USD when extracting it. The accounting software can handle the currency conversion and foreign-exchange accounting.

If you convert every transaction to LKR before importing it, you can lose the relationship between the actual bank transaction and the foreign-currency account.

For example, if the bank statement contains:

USD 2,500

the imported bank transaction should represent the USD 2,500 movement in the USD account.

The LKR reporting value is a separate accounting consideration.

Xero’s multi-currency system is designed to maintain foreign-currency bank accounts in their relevant currency while accounting for currency movements separately. 

A practical workflow for Sampath foreign-currency statements

For an accountant working with Sampath statements, a practical workflow can look like this:

1. Identify the account currency

Check whether the statement is USD, EUR or another currency.

2. Check the Xero bank account

Make sure the corresponding Xero bank account uses the same currency.

3. Look for a structured statement file

If the bank or client can provide OFX, CSV or another supported format, use that where possible.

4. If you only have a PDF, extract the transactions

Keep the original currency and transaction amounts.

5. Check the extraction

Compare transaction counts, amounts, dates and descriptions against the original statement.

6. Check the running balance

Use the statement’s balance as an additional check.

7. Import into Xero

Bring the transactions into the correct foreign-currency bank account.

8. Reconcile

Match the statement lines with invoices, bills, transfers, bank charges and other transactions.

9. Investigate currency differences separately

Do not automatically treat every LKR difference as a missing bank transaction.

This separation makes the reconciliation easier to follow.

Where Banksheet can fit

Banksheet is useful before the Xero reconciliation when the statement you receive is a PDF or scanned document rather than a clean structured file.

The basic workflow is:

Sampath statement → Banksheet → Excel/CSV → Xero → reconciliation

The purpose is not to replace Xero’s multi-currency accounting.

Xero remains the accounting and reconciliation system.

Banksheet can instead help with the earlier problem of getting transaction data out of the statement and into a format you can work with.

For a scanned statement, the additional balance check is useful because it gives you another way to identify possible extraction problems before importing the data.

If the client already gives you a clean OFX or CSV file that Xero accepts, there may be no reason to add another conversion step.

Before importing a foreign-currency statement, check these

Before you click import, take a minute to check:

  • Is the Xero bank account set to the correct currency?
  • Are the original foreign-currency amounts preserved?
  • Are deposits and withdrawals in the correct columns?
  • Are negative amounts being interpreted correctly?
  • Are dates being read correctly?
  • Are bank charges included?
  • Are transfers between currencies identifiable?
  • Does the extracted running balance agree with the statement?
  • Does the opening balance agree with Xero?
  • Are you keeping the original statement for reference?

These checks are simple, but they can prevent a small extraction problem from becoming a reconciliation problem later.

For accountants working with Sampath foreign-currency accounts, that is often the most useful place to start.

If your statements arrive as clean structured files, import them directly where possible. If they arrive as PDFs or scans, extract and check the transaction data first, then move it into Xero for the actual accounting and reconciliation work.

You can try Banksheet with a real statement and see whether it makes that first part of the process easier.