Multi-Currency Invoice Reconciler
If you bill in dollars, euros or pounds but get paid into a naira, cedi, rand or rupee account, the number on your invoice and the number in your bank never match. A $1,000 invoice can become ₦1,300,000 one month and ₦1,450,000 the next, and somewhere in between a marketplace, a payout provider and a bank each took a slice. This reconciler lays the journey out payment by payment, so you can see what you earned, what the exchange rate did, and what the middlemen cost you.
Everything runs in your browser. Invoices, rates and payments are saved on your own device and never uploaded, so real client names and amounts are safe to use. If you create the invoices themselves in the Invoice Generator, copy the numbers across here.
What “reconciling” an FX invoice actually means
Bookkeepers record a foreign-currency invoice in your home currency on the day you issue it, at that day’s rate. When the money arrives, the value has usually moved. That difference is a realized FX gain or loss. Fees are a separate matter: they are a cost of doing business, not exchange-rate movement. Mixing the two is how freelancers conclude they “lost money on the dollar” when the platform fee was the real culprit.
A worked example, exactly as the tool calculates it:
| Step | Amount |
|---|---|
| Invoice issued at 1 USD = 1,400 NGN | USD 1,000.00, booked at NGN 1,400,000.00 |
| Marketplace fee (10%) | USD 100.00 |
| Converted | USD 900.00 |
| Credited to the bank | NGN 1,300,000.00 |
Fees valued at the rate you actually got come to NGN 144,444.44, and the rate moved in your favour by NGN 44,444.44. The identity always closes to the last digit: 1,400,000.00 + 44,444.44 − 144,444.44 = 1,300,000.00. Add the market rate on the payment day and a third slice appears, the conversion cost: how much the converter kept compared with the mid-market rate.
How to use it
- Choose your home currency once. It is the currency of the account that receives the money, and it locks once invoices exist.
- Add an invoice. Enter the number, client, currency, amount, date and the rate on the invoice date, read as “1 foreign = N home”. No rate yet? Leave it blank and the invoice is flagged, not guessed.
- Record each payment. Enter the part of the invoice it settles, any deductions taken before conversion (platform fee, payout fee, withholding tax, client short-pay) and what actually landed. A live preview shows the attribution before you save.
- Paste rates if you have them. Dates and rates from your bank or a central bank download let the tool fill missing invoice rates from the nearest earlier day, within a look-back limit you set.
- Open Reports. Pick a month, quarter, fiscal year or custom range, read the totals, then export.
Amounts are stored as whole minor units (cents, kobo) with the right decimals for each currency, so yen and dinar invoices round correctly.
What you get out of it
Reports total what you invoiced, what you received, realized FX, fees by type, conversion cost and bank charges, grouped by month, client or currency. Open invoices can be revalued at a period-end rate you enter, giving the unrealized gain or loss. Exports: payments and outstanding balances as CSV, a balanced journal (bank, fees and receivables, with FX and conversion cost on their own lines), an Excel workbook and a PDF summary. If your bookkeeper wants entries to import, send the journal.
Common situations this solves
- Marketplace and payout chains. The client paid $500, the platform kept $50, the payout provider converted the rest at its own rate, the bank added a charge. Enter each layer once and see which cost you most.
- One invoice, several payments. A milestone contract paid in three instalments across two months gets a separate FX result per instalment.
- Withholding tax. Record it as its own deduction type so it stays visible for your return instead of vanishing into “fees”.
- Year-end questions. Which invoices are unpaid, what are they worth at today’s rate, and how much FX gain is already realized this fiscal year?
- Pricing. Once you see fees plus conversion cost took 14% of a job, price for it. The Markup vs Margin Calculator shows what to charge so the amount you keep matches the margin you wanted.
- Bank or platform statements. Import a CSV and match its columns. Lines that can’t be tied to an invoice by number are listed for you to assign; an exact-amount match is suggested but never applied without your choice.
Privacy, storage and limits
Data lives in your browser’s local storage on this device. Clearing site data erases it, so download the JSON backup regularly; it restores in one step. The PDF and Excel exports load a small library the first time you use them. There are no live exchange rates, because that would need an outside service: you supply rates from a source you trust. This is a reconciliation aid, not tax or accounting advice. How exchange differences are taxed depends on your country and on cash versus accrual reporting, so check the figures with your accountant.
Frequently asked questions
Which rate should I use for the invoice date?
The one your accounting method calls for on the issue date, typically a central bank or mid-market rate. Consistency matters most. Every rate reads “1 foreign = N home”, and a flip button fixes rates typed the other way round.
What is the difference between realized and unrealized FX gain?
Realized means the invoice has been paid and the rate difference is fixed. Unrealized applies to invoices still open at period end: their home-currency value changes with the rate although no money has moved. The report shows them separately.
Why ask for the market rate on the payment date?
It is optional. Without it, fees are valued at the rate you actually got and conversion cost isn’t measured. With it, you see how much the converter or bank kept compared with mid-market, which is often more than the visible fee.
Can I record an overpayment or a tip?
Not against the invoice. A payment can’t settle more than what is outstanding, because the excess isn’t part of the invoice value. Leave tips out or track them elsewhere.
Does it handle currencies without decimals, or with three?
Yes. Decimal places come from the currency itself (JPY has none, KWD has three), and rates are multiplied exactly instead of with floating-point maths.
Can I include invoices in my own currency?
Yes. The rate is fixed at 1 and no FX is reported, but fees, charges and payment history still reconcile, so one list can cover every client.