End-of-Day Reconciliation in an Exchange — A Practical Checklist
Closing the day is not an admin ritual; it is the cheapest insurance a bureau de change has. A seven-step day-close checklist, plus real ways to find breaks when balances do not tie.
Most exchange offices do not close the day. When work is over, they close the door and leave. Reconciliation happens when something breaks — usually a few weeks later, when a customer complains or the till comes up short.
That order is exactly backwards. Today’s error can be found today; today’s error next month has to be excavated. And the difference between the two is the difference between ten minutes and two days.
Why a fresh error is cheap
A 500-dirham difference you find today has, at most, 20 vouchers to review, and you remember all of them. There is someone you can ask: “Hasan, that dirham transaction at noon — did you pay it out or receive it?”
If the same difference sits for three weeks, there are 400 vouchers to review, nobody remembers anything, and worse: a few more errors have probably been added during those three weeks, and now the differences are layered on top of each other. Two opposite errors that cancel each other out are far harder to find than one standalone error.
Closing the day is the firewall between today and tomorrow. Once a day is closed, you should never have to go back to it.
The seven-step day-close checklist
The order matters: from the most tangible thing, the banknotes in your hand, to the most abstract thing, the profit you calculate.
1. Count the cash drawers physically
Every drawer, every currency. Write down the counted amount before looking at the system balance.
This small point matters more than the count itself. If you look at the system number first, your mind unconsciously counts up to that number and then stops. This is not a moral weakness; it is how the brain works. A blind count is the only reliable count.
2. Reconcile bank accounts against actual movements
Compare the system bank balance with the SMS alert or the bank app. Common and harmless differences:
- An issued cheque that has not cleared yet — it is in your books, but not in the bank yet.
- A deposit in transit — the customer has sent it, but the bank has not posted it yet.
- An unrecorded bank charge — small, but if you do not book it, it accumulates every month.
Each of these must have a name and a reason. “2 million difference, probably a cheque” is not reconciliation; it is a guess.
3. Check crypto wallets against the network
Compare the on-chain balance with the ledger balance. Keep pending transactions separate. Watch for two traps: network fees, which are real money and must be booked as an expense, and deposits that have arrived but have not yet been assigned to a customer.
4. Clear suspense accounts to zero
Everyone skips this step, and it has the most value.
Every suspense account — “in transit”, “unsettled”, “clearing” — should be zero at the end of the day. If it is not zero, you have a half-finished voucher: money has left somewhere and has not yet reached its destination.
A suspense account that carries an open balance for several days is almost always an omission. And that omission is exactly what will come back next month as “the balance does not tie.”
5. Review open obligations
Unconfirmed outgoing transfers, unfinished staged payments, cheques not yet due.
Here you are not looking for a number; you are looking for time. An obligation that has been open for three days has either been forgotten or has a problem. You need to know both cases today, not when the counterparty calls.
6. Review FX position and daily profit
Net open position for each currency, and average cost. Three questions:
- Am I open in a currency I did not want to be open in?
- Is today’s profit reasonable compared with today’s volume? (Strange profit usually means the wrong rate on one voucher)
- Has any trade been booked at a rate far away from the market?
The last one is an excellent error detector. An outlier rate almost always means one zero too many or one zero too few.
7. Close the day and take a backup
After everything ties, close the day: backdated postings to the closed day should either be blocked or at least leave an audit trail. Without this, all the work of the previous six steps can be undone by one edit tomorrow morning.
And take a backup. A backup that has not been tested is not a backup — actually restore it once a month.
When it does not tie: how to find the difference
First of all: look for the difference amount itself, instead of reading the ledger line by line. Searching for the exact amount in the day’s vouchers solves more than half of cases immediately.
If you do not find it, the shape of the difference is itself a clue:
| Sign | Usually means |
|---|---|
| Difference is exactly equal to a familiar amount | The voucher was not booked at all, or was booked twice |
| Difference is exactly twice a familiar amount | The voucher was booked in the wrong direction (debit instead of credit) |
| Difference is divisible by 9 | Transposed digit — for example 540 instead of 450 |
| Difference is a multiple of 10 or 100 | One zero too few or too many |
| Small scattered differences | A rounding issue, not a posting error |
The divisibility-by-9 rule is old, but it still works: any transposition of two digits creates a difference that is always a multiple of 9. If the difference is 90, look for two swapped digits, not for a missing voucher.
If you still do not find it, use binary splitting: split the day in half and see which half contains the difference; then split that half again. With 200 vouchers, you reach the offending voucher in about eight steps. That is much faster than reading 200 lines.
Three things you should not do
- Do not post an adjustment voucher just to make the difference disappear. A 300-dollar difference cleared with an “adjustment” has not gone away — it has only become invisible, and its cause will repeat tomorrow.
- Do not blame the difference on “rounding”, unless its size is genuinely within rounding range. A 50-dollar difference is not a rounding error.
- Do not postpone the work to month-end. At month-end, you have twenty tangled errors. At day-end, at most one.
Most of this should be automated
Steps 2 through 6 are machine work by nature, not human work. A human should only count banknotes, step 1, and decide what to do about anomalies. The rest is number comparison, and machines do that better and without fatigue.
In Nexto, day close is an automatic command that runs every night: balances, positions, and daily profit are calculated, and the nightly report lands in the manager’s WhatsApp. So when you open your eyes in the morning, before you reach the office, you know what happened last night — and if something did not tie, you know that same morning, not three weeks later.
Summary
Closing the day takes ten to fifteen minutes, and in return it gives you three things: you find errors while they are fresh, obligations do not get forgotten, and you sleep every night with numbers, not guesses.
If you do not close the day today, start tomorrow with the smallest version: just blind-count the cash drawers and compare them with the system. That one step catches most common errors. The rest of the checklist can be added later — and it is better to hand most of it to the system anyway.
See all of this inside Nexto
A complete, private instance with sample data — no install, no credit card.
Create free demo