Multi-Currency Invoice Reconciler
If you invoice or get invoiced across more than one currency, reconciling what’s actually been paid against what’s owed turns into a small spreadsheet project every month — exchange rates move between invoice date and payment date, and “did they actually pay in full” stops being a simple yes/no. The Multi-Currency Invoice Reconciler lines up invoiced amounts, payment amounts, and the currencies involved, converts everything to a base currency using the rate at the relevant date, and flags what’s outstanding, overpaid, or fully settled.
Invoice data is client-identifying by nature — names, amounts owed, payment timing — and for freelancers or small businesses that’s effectively a slice of your client list and your cash flow, both things you’d rather not have sitting on a third-party server. The conversion and reconciliation logic here runs locally, so the client names and figures you’re working with stay in the browser rather than getting logged somewhere as a side effect of doing currency math.
To use it: list each invoice with its currency, amount, and date, then log payments the same way as they come in. The tool converts both sides to your chosen base currency using the exchange rate closest to each transaction date, then shows the reconciled status per invoice — paid in full, partial, overpaid (common when a client pays before a rate shift, or rounds up), or outstanding. Running a full client ledger through it at month-end is usually faster than doing the same conversion math manually per line.
For the invoices themselves, if you’re generating them rather than just reconciling payments against ones you already have, the Invoice Generator handles the creation side. And if part of what you’re reconciling includes trade or asset settlements rather than client invoices, the Crypto/Stock FIFO Gains Calculator covers that adjacent but different calculation.
FAQ
Why does the same invoice show different totals depending on the date I use for conversion?
Exchange rates move daily, so the reconciled amount depends on whether you’re converting at invoice date, payment date, or today’s rate — the tool defaults to payment date since that’s usually what matters for “was I paid correctly,” but you can change this.
What counts as “overpaid” if the client just used a slightly different rate?
Anything above your set tolerance threshold (a small percentage buffer you can adjust) gets flagged as overpaid rather than treated as an exact match, since minor rate discrepancies are normal and shouldn’t count as an error.
Can I reconcile invoices in more than two currencies at once?
Yes — each invoice and payment carries its own currency independently, and everything converts to your single base currency for comparison, so mixing currencies across a client list isn’t a problem.