Reconciliation in a money transfer business answers one question every day: does the money we hold match what our records say we should hold? A cross-border transfer touches a customer's bank or card, a payment provider, your own collection accounts, a payout partner and your books. Each keeps its own figures, on its own timetable. When they disagree, you either find out the same day, or you find out at month-end with a spreadsheet and a headache. This guide is for finance, treasury and operations leads at established operators who own that daily answer.
It covers three layers: matching each deposit to the transfer it pays for, explaining each provider settlement, and keeping the ledger in step with both. If your main worry is customers paying twice after a retry, read how to prevent duplicate payments first; this post touches duplicates only where they show up in the books. Figures in the examples are illustrative.
What you are actually reconciling
| Layer | Question | When | Owner |
|---|---|---|---|
| Deposit matching | Does each incoming payment belong to one transfer, for the exact amount declared? | As each deposit arrives | Operations, with finance for exceptions |
| Settlement reconciliation | Does what each provider paid us, net of fees and chargebacks, match the transfers it captured? | Daily, when the provider settles | Finance |
| Ledger reconciliation | Do the balances in our books match the bank and partner balances? | Daily for cash, monthly in full | Finance, signed off by the finance lead |
The layers depend on each other. A deposit matched to the wrong transfer makes the settlement look wrong. A settlement that was never explained leaves the ledger off. Fix problems at the lowest layer you can, as early as you can.
Matching deposits to the cent
For bank transfer payments, the customer declares an amount and pays it from their own bank. The deposit must be matched to that transfer. The rule that saves the most trouble is strict: a deposit is matched only when the amount matches what the customer declared, to the cent. Anything unclear is held, and money does not move on a near-miss.
It feels harsh when a customer pays £499 against a £500 declaration. But a loose match is how wrong payouts start. If £499 is accepted against £500, someone has to decide who pays the missing pound: the customer, the recipient or you. That decision belongs to a person, not to a matching rule.
Four exceptions come up again and again:
- Short or over payment: the amount does not match the declaration.
- No match at all: a missing or mistyped reference, or a payment from an unknown account.
- Payment for a closed transfer: the customer cancelled, or the payment window expired, and then the money arrived.
- Paid twice: the same transfer funded by two payments.
One Tuesday's reconciliation, line by line
A UK operator collects bank transfers into one GBP account and card payments through one card provider. Here is Tuesday.
| Outcome | Count | Amount | What happens next |
|---|---|---|---|
| Matched to the cent | 236 | £95,120.00 | Transfers clear and move towards payout |
| Short paid (declared £500 and £300; paid £490 and £299) | 2 | £789.00 | Held. Operations contacts each customer: top up, or refund and re-quote |
| No reference | 1 | £406.00 | Held. Operations traces the payer from the bank details |
| For a transfer cancelled an hour earlier | 1 | £500.00 | Matched to the cancelled transfer and held. The customer chooses: re-send or refund |
| Total | 240 | £96,815.00 | Statement and platform agree; £1,695.00 explained and held |
The point is not that every deposit matched. It is that every pound on the statement has a named place: cleared, or held with a reason. Nothing is unexplained.
| Line | Amount | Where it sits in the books |
|---|---|---|
| Captures for 120 transfers | £38,400.00 | Customer payments for those transfers |
| A second capture on one transfer | £250.00 | Flagged as a duplicate; owed back to the customer |
| Gross captured | £38,650.00 | |
| Provider fees | −£290.00 | Provider fees account |
| Chargeback on a transfer from last month | −£150.00 | Chargeback, recorded in the books when it was raised |
| Net paid into the bank | £38,210.00 | Should equal the credit on Wednesday's statement |
If Wednesday's statement shows £38,210.00, the card side is done in minutes. If it shows £38,060.00, you are looking for £150: most likely a second chargeback the provider has netted off and nobody has recorded yet. Because each kind of money sits in its own account, the gap points to where to look.
Useful habit: close each day with one line per account: statement balance, book balance, difference, and the named items that make up the difference. If the last column is empty and the difference is not zero, stop and find it before the next day's figures pile on top.
Doing it with RemitSo
RemitSo, a white label remittance platform, handles the matching and the bookkeeping as transfers happen, and tells your team about each exception in plain language. Your finance team still compares provider settlements and bank statements with the books, decides on refunds and signs off the close.
| Mismatch | What the platform does | Where your team sees it |
|---|---|---|
| Amount differs from the declaration | Holds it; the money does not move until a person decides | The held transfer |
| Deposit matches no transfer | Holds it for a person to place | Alert: Deposit received but matched nothing |
| Payment for a just-cancelled transfer | Matches it to that transfer and holds it | Alert: Payment received on closed attempt |
| Same transfer paid twice | The transfer clears on one payment; the second is flagged the moment it is captured | Alert: Duplicate payment captured |
| Provider has not answered about a payment | Nothing is paid out before the payment clears | Scout: payments needing action (provider not answered, poller gave up) |
| Refund failed at the provider | Lists it for your team to resolve | Scout: payments needing action (refunds that failed) |
| Bank recall or chargeback | Flags it the moment it happens and writes its own entries in the books | Alerts: Bank took money back; Chargeback raised on a payment |
| Payout reversed, or a partner stops answering | A payout nobody answers about is never cancelled on its own | Alert: Payout reversed; Scout: payouts needing action |
| Provider message received but never applied | Every incoming message is saved before processing; retry in one click | Scout: system health |
Scout checks every five minutes, and each group of figures can be granted to the role that owns it. Alerts reach only the people subscribed to them, so route deposit exceptions to operations and chargebacks to finance. See alert routing for money transfer teams.
Underneath, a double-entry engine records every payment, payout, refund, fee and FX movement automatically. Entries are never edited: a mistake is reversed and both stay visible. Bank fees, partner fees and offer discounts each sit in their own account, which is what made the £150 gap in the example easy to place. Click any balance in the chart of accounts to see the transactions behind it. Manual corrections are posted as journals, and reading the ledger and entering a journal by hand are separate permissions. For more on the books themselves, read double-entry accounting for remittance.
A daily reconciliation routine
| Step | What to do | Done when |
|---|---|---|
| 1. Clear yesterday's holds | Work through held deposits: short payments, unmatched deposits, payments for closed transfers | Each hold is released, refunded or has a named next step |
| 2. Deposits against the statement | Compare the collection account statement with matched and held deposits | Every credit is cleared or held with a reason |
| 3. Settlements | For each provider, rebuild the net settlement from captures, fees, duplicates and chargebacks | The net figure equals the bank credit |
| 4. Payouts | Check partner balances against payouts sent, and any reversed or overdue payouts | Differences are named; overdue payouts are with an owner |
| 5. Ledger | Compare each cash and partner account balance with the statement | One line per account with a zero, or an explained, difference |
Watch out: do not release a held deposit just to make the day balance. A held amount with a reason is a reconciled amount. A released amount nobody can explain is the start of next month's problem.
Month-end then becomes a check of thirty days that were already closed, not a rebuild. See month-end close without spreadsheets and matching deposits to the cent. For how provider retries should be built, see a reliable payment retry system.
See the admin features, the release notes, or book a demo.
Frequently asked questions
What is the difference between payment reconciliation and settlement reconciliation?
Payment reconciliation checks that each payment belongs to one transfer, for the right amount. Settlement reconciliation checks that what a provider paid you, net of fees and chargebacks, matches the payments it captured. You need both, and the first makes the second much easier.
Why hold a deposit that is only a pound short?
Because someone has to decide who covers the difference, and that should be a person, not a matching rule. In RemitSo, a deposit that does not match the declared amount is held and the money does not move.
What happens when money arrives for a cancelled transfer?
RemitSo matches it to that transfer, holds it and raises a "Payment received on closed attempt" alert, so your team can re-send or refund it.
Does RemitSo do the settlement reconciliation for us?
No. It records every payment, fee, refund and chargeback in a double-entry ledger as it happens, with each kind of money in its own account. Your finance team still compares each provider's settlement and the bank statement with those balances and signs off.
How often should an operator reconcile?
Deposits as they arrive, settlements and cash balances daily, and the full ledger at month-end. Daily work keeps month-end short.