What is reconciliation?
Without it, the day your balance stops matching the bank is not the day you find out.
Reconciliation
payment reconciliationaccount reconciliation
Reconciliation is the practice of proving that two independent records of the same money agree, and explaining every difference between them. In payments that usually means your own ledger against a bank statement or a processor's payout report.
Two systems count the same money and neither one is wrong on purpose. Your ledger records what you believe happened. The bank records what moved. Reconciliation is the routine that compares them, matches each line, and gives every leftover an owner.
A leftover has a name: a break. Most breaks are boring. Fees were netted out of a payout. A refund landed in the next period. A payment arrived twice because the webhook did. Boring is fine. Unexplained is not.
Daily reconciliation keeps the search small
You get a small search space. A break found today sits inside one day of activity. The same break found at month end sits inside thirty days, and you have to read all of them to find it.
It also decides whether you can answer questions later. An auditor asks what a customer's balance was on 3 March. A customer disputes a charge from April. Both questions need history that a nightly match keeps honest.
- 01Fees taken out of a payout, so the deposit never matches the sum of the sales.
- 02Refunds and chargebacks that land in a different period from the payment.
- 03Currency converted at a different rate or a different moment than you recorded.
- 04Cutoff times in Eastern time while your servers think in UTC.
- PullBank and processor files.
- MatchLine to ledger entry.
- BreakAnything left over.
- ExplainOwner and reason.
- CorrectA new entry, never an edit.
The last step is the one teams get wrong. You post a correcting entry. You do not go back and change history.
Related questions
01How is reconciliation different from accounting?
Reconciliation compares two records of money against each other. Accounting classifies and reports the money once you trust it. Reconciliation is what makes the accounting trustworthy, so it runs first and far more often.
02Can AI do reconciliation?
AI is good at one part of it and useless at another. Matching a messy bank description to an internal reference is a genuine machine learning job, and so is suggesting why a break happened. Correctness itself comes from your schema and its constraints, not from a model, so nothing here should be left to a prediction.
03What causes a break that nobody can explain?
Almost always an event processed twice or out of order. Stripe states plainly that it does not guarantee event delivery order. Its docs also warn that an endpoint might receive the same event more than once. A handler that assumes otherwise creates breaks that look mysterious and are not.
04Do we still reconcile if the processor sends a report?
Yes, and the report is one of the two records being compared, not the answer. The processor knows what it did. Only your ledger knows what you promised a customer, so the comparison is the whole point.
Related reading
- Settlement vs authorisation →Why the amount you authorised and the amount that settles can differ.
- Idempotency key →How a retried payment avoids becoming a second charge and a break.
- Why you never use floats for money →The rounding error that shows up as a one cent break.
- Fintech software development →Where we do payments and ledger work.

