Most money transfer operators do not close the month in their ledger. They close it in a spreadsheet that someone built three years ago, fed by exports that need reformatting, with a tab of "adjustments" nobody can fully explain. It works until an auditor asks why a balance moved, or until the person who owns the spreadsheet is on leave. A close that runs on the ledger itself is faster, easier to hand over and far easier to defend.
This guide is for finance leads and the people who run the close each month. It sets out a day-by-day routine, how to reconcile the four pools of money a transfer business holds, how to clear exceptions before the books are locked, and what to put in front of an auditor.
RemitSo is one way to run this. Its double-entry accounting engine records every payment, payout, refund, fee and FX movement automatically, and the admin panel provides the exports, reports and alerts described below. Your finance team still owns the judgement: deciding what a correction should be, approving it and signing off the month. The routine works on any platform that keeps a proper ledger.
Why spreadsheet closes break down
A spreadsheet close is not wrong in principle. The problem is what it does to evidence. Every time data leaves the system of record, is reshaped by hand and then summarised, the link between a number in the board pack and the transactions behind it gets weaker. Three failure patterns recur.
- The export is not the ledger. Transaction exports and accounting balances are produced differently. When they disagree, the spreadsheet usually wins by default, because it is what people are looking at.
- Corrections live outside the books. An "adjustments" column fixes the report but not the ledger, so next month the same difference appears again and is fixed again.
- Nobody can trace a balance. When an auditor picks a figure and asks what makes it up, the answer is a chain of files rather than a list of entries.
The fix is to treat the ledger as the only place a number can come from, and to use exports and reports as views of it rather than inputs to a separate model.
A month-end checklist from day minus two to day plus three
A close goes wrong when everything is left to the first working day of the new month. Spreading the work across six days means the exceptions are already handled by the time balances are taken. Adjust the timings to your own banking cut-offs and reporting deadlines.
| Day | Task | Owner | Done when |
|---|---|---|---|
| Day −2 | Clear open exceptions: unmatched deposits, duplicate payments, recalls, chargebacks, payments needing action | Operations with finance | Every open item has a decision or a named owner and a date |
| Day −1 | Check payouts overdue at partners and payouts not sent; confirm partner balances | Operations, treasury | Nothing in flight is unexplained |
| Day 0 (last day) | Let the day's activity settle; note bank cut-off times; no manual journals after cut-off | Finance | Cut-off recorded in the close file |
| Day +1 | Run transaction exports from saved templates; take ledger balances for the four money pools | Finance | Exports and balances saved with run date |
| Day +2 | Reconcile each pool to bank and partner statements; prepare and approve manual journals | Finance preparer and approver | Every difference explained or posted |
| Day +3 | Run regulatory reports; assemble the evidence pack; sign off the month | Finance lead, compliance | Sign-off recorded; pack filed |
The two days before month end matter most. Every exception left open on the last day turns into a reconciling item, and reconciling items are where closes slow down.
How to reconcile the four money pools
A transfer business holds money that belongs to different people for different reasons. Reconciling it as one figure hides problems; reconciling it as four pools makes them visible. The names below are generic, so map them to your own chart of accounts.
Customer funds
Money received from customers for transfers not yet paid out. The ledger balance should equal what is held for customers in your safeguarding or client accounts, less anything legitimately in transit. Reconcile it to bank statements and list every in-transit item by transfer. If customers hold wallet balances, where your licence allows them, those belong in this pool too and should be reconciled the same way.
Partner payables and prefunding
What you owe payout partners for payouts they have made, or what they hold for you if you prefund. Reconcile to each partner's statement. Differences usually come from timing (a payout made on the last day and reported the next) or from a payout one side counts as returned and the other does not.
Fees and costs
Fee income earned from customers, and the costs of earning it: bank fees, partner fees and promotional discounts. Keep these in separate accounts rather than netting them. A fee line that looks healthy can hide a partner fee increase or a promotion that ran longer than planned.
FX
The difference between the rate you charge customers and the rate you settle at with partners or your FX provider. Reconcile realised FX by currency against what the rate history says you charged and what your settlement statements say you paid. A large unexplained FX balance is often a sign that something else, such as an unrecorded refund, has been booked to the wrong place.
Rule of thumb: if a difference cannot be explained by timing, treat it as an error to be found, not a balance to be carried. Carried differences grow, and they are the first thing an auditor samples.
How to clear unmatched deposits and chargebacks before close
Exceptions are the main reason customer funds do not reconcile. Each type needs a different decision, and each should be resolved, or at least recorded with a decision, before balances are taken.
- Deposit received but matched nothing. Money has arrived with no transfer to apply it to, usually because of a wrong reference or an unexpected amount. It belongs to a customer, so it sits in customer funds as a liability until it is matched or returned. Decide which, and record why.
- Duplicate payment captured. The customer has paid twice for one transfer. The second payment is a refund liability. Refund it with a recorded reason rather than leaving it to offset a future transfer informally.
- Bank took money back. A recall reverses a deposit you may already have acted on. If the payout has gone, you now have a receivable from the customer and possibly a loss. Book it as such; do not leave the transfer looking funded.
- Chargeback raised on a payment. Treat the disputed amount as at risk from the day it is raised, not the day it is decided. Note the evidence submitted and the expected decision date in the close file.
Watch for: exceptions that are "resolved" by a manual journal with no link to the underlying payment. The ledger balances, but the evidence trail breaks, and the same customer issue can resurface next month with no record of what was done.
How to post manual journals with approval discipline
A well-run ledger needs few manual journals, because the platform posts routine activity itself. The ones that remain carry most of the audit risk. Four habits keep them defensible.
- Separate preparing from approving. The person who enters a journal should not be the person who signs it off. Where your platform lets you, make reading the ledger and entering a journal separate permissions, so most of the finance team can investigate without being able to post.
- Reverse, never edit. If an entry is wrong, post a reversal and a correct entry. Both stay visible, and anyone looking later can see what was wrong and when it was fixed.
- Write a narrative a stranger could follow. "Correction" is not a narrative. "Reverse partner fee booked to customer funds on transfer reference X; repost to partner fees" is.
- Keep a journal register for the month. List every manual journal with preparer, approver, reason and supporting document. It becomes part of the evidence pack.
Scenario: a close with three loose ends
The numbers below are illustrative, chosen to show the reasoning rather than to describe any real operator.
A finance lead at an operator sending to three corridors starts the close on day −2. The exception list shows four unmatched deposits, one duplicate payment, one bank recall and two open chargebacks.
Day −2: clear what can be cleared
Three of the unmatched deposits carry references with one character wrong; operations matches them to the right transfers. The fourth has no usable reference and an amount that matches no transfer, so it is held in customer funds and the customer is contacted. The duplicate payment is refunded with a recorded reason. The recall relates to a transfer already paid out, so the amount becomes a receivable from the customer and is flagged to compliance. The two chargebacks are logged with their evidence and expected decision dates.
Day +1: take balances
Transaction exports run from the saved template; nobody reformats columns. Ledger balances are taken for each pool by selecting the account in the chart of accounts and reading the entries behind it.
Day +2: reconcile
Customer funds differ from the bank statement by 1,240.00. The list of entries shows that 1,180.00 is two transfers funded on the last evening after the bank's cut-off: timing, documented, no journal needed. The remaining 60.00 is a partner fee booked against customer funds instead of the partner fees account. The preparer posts a reversal and a correct entry; the approver signs it off; both appear in the journals list and the register.
Partner payables reconcile except for one payout the partner reports as returned on the last day. It is returned in the ledger on day +1, so it appears in next month's activity, and the close file notes the timing difference.
Day +3: report and sign off
The regulatory report runs from its saved shape for the month. The preview looks right, and the check confirms every in-scope transfer is included. The evidence pack is filed and the month is signed off with one manual journal, one held deposit and two open chargebacks, each explained.
What to put in the evidence pack for auditors
Auditors are not looking for a perfect month. They are looking for a month where every number can be traced and every judgement was made by someone with the authority to make it. A good pack answers their questions before they ask.
| Item | What it proves | Source |
|---|---|---|
| Trial balance at month end | The books balance and every account is accounted for | Ledger |
| Reconciliation per money pool | Ledger agrees to bank and partner statements, with each difference explained | Ledger balances, statements, close file |
| Transaction exports | The activity behind the balances, in a consistent layout month to month | Saved export templates |
| Manual journal register | Corrections were prepared, approved and explained | Journals list, register |
| Exception log | Unmatched deposits, duplicates, recalls and chargebacks were decided, not ignored | Alerts, close file |
| Regulatory reports and completeness check | What was reported matches what happened | Regulatory reporting |
| Sign-off | A named person accepted the month | Close file |
Takeaway: use the same export layout and the same pack structure every month. Consistency is itself evidence: an auditor who has seen one month's pack can test the next in a fraction of the time.
Doing it with RemitSo
RemitSo's admin panel keeps the ledger as the source of every figure, so the close is a matter of reading and checking rather than rebuilding. Your finance team still decides on corrections, approves them and signs off the month.
- Double-entry accounting engine: every payment, payout, refund, fee and FX movement is recorded automatically, so routine activity never needs a manual entry.
- Chart of accounts: select any account to read the entries behind its balance, so tracing a figure for an auditor is one step, not a chain of files.
- Journals, newest first: manual corrections are posted there, and entries are never edited; mistakes are reversed and both stay visible, so the history of every correction is intact.
- Separate permissions: reading the general ledger and entering a journal by hand are separate permissions, so you can open the ledger to investigators without letting them post.
- Costs in their own accounts: bank fees, partner fees and offer discounts each sit in their own account, so fee reconciliation shows what each cost really was.
- Transaction export templates: predefined, reusable column layouts, released in August 2026, so exports come out the same way every month without manual reformatting.
- Regulatory reporting: saved report shapes, Excel or CSV output, an on-screen preview, and a check that every in-scope transfer is included, so the report and the transactions reconcile.
- Exception alerts: "Deposit received but matched nothing", "Duplicate payment captured", "Bank took money back" and "Chargeback raised on a payment" go to the people subscribed to them as they happen, so exceptions are worked during the month, not discovered at close.
- Scout: measures every five minutes and groups payments needing action, such as a provider that has not answered or a refund that failed, so the day −2 list is already built.
See the full list of admin features, read the release notes for the export template update, or book a demo.
Frequently asked questions
Do we still need spreadsheets at all?
Possibly for the reconciliation workings themselves, such as listing timing differences against a bank statement. What should go is the spreadsheet as a second ledger: a place where balances are recalculated and corrections are made outside the books.
Why reverse a wrong entry instead of correcting it?
Because an edited entry erases the evidence that something was wrong. A reversal and a new entry show the mistake, the fix and when each happened, which is what an auditor needs to see that controls worked.
How should we treat a deposit we cannot match by month end?
As customer money. Hold it in customer funds as a liability, record the steps taken to identify the customer, and either match or return it. Do not move it to income or a suspense account that falls outside your customer fund reconciliation.
Who should be allowed to post manual journals?
As few people as practical, and never the same person who approves them. Investigating balances is a much wider need, which is why it helps when reading the ledger and posting to it are separate permissions.
What does the regulatory report completeness check tell us?
It tells you whether every transfer that should be in the report for the period made it in. It does not replace your own review of the content, but it removes the most common reporting error: a transfer quietly left out.