Reference🏦 Bank reconciliationIntermediate⏱ 14 min read

⚖️ Reconciliation principles

Why sales, PSP collections, bank payouts and the books must be reconciled, and how to structure the work in three levels

Why reconcile: four sources of truth that never agree

Reconciliation proves, line by line, that every euro sold became a euro collected, and then a euro booked. Between the order on the website and the general ledger entry, the money passes through several systems, each with its own clock, its own level of detail and its own definition of the amount. The same payment shows up with several amounts and several dates, each one correct in the system it comes from.

Salesorders / tillsPSPsettlement reportBanknet payoutStatementsbank statementsEnginereconciliationMT940camt.053CFONB120Matchingn transactions ↔ 1 payoutExceptionsfees · chargebacks · timingERP / Accountingautomatic cash applicationmatchingbreaksadjustment
🛒
Sales
ERP, e-commerce platform, POS system: the €120 order including VAT at time T, gross, in the display currency.
💳
PSP / acquirer collections
The payment provider sees authorized, then captured transactions, grouped into settlement batches, minus its fees.
🏦
The bank
The account receives only aggregated payouts, often net, on D+1 to D+7, sometimes with a cryptic description.
📚
Accounting
The general ledger requires complete, documented entries: gross revenue, fees booked as expenses, VAT, and clearing accounts brought back to zero.

These four sets of records never match on their own. A sale made on Monday evening is captured on Tuesday, settled by the PSP on Thursday in a batch that also contains two refunds and a chargeback, and then paid out net. The resulting bank transfer matches no individual sale, because its amount nets out transactions that move in opposite directions. Without proper reconciliation tools, the differences pile up in suspense accounts and quickly become impossible to audit, because no document links the amount received to the sales behind it.

🔑
The question reconciliation answers
The question is where each euro is, and why the amount received in the bank differs from the amount sold. The answer must break down into fees, refunds, chargebacks, FX, timing differences and reserves. Any difference left unexplained means an error, fraud or lost revenue.

The three levels of reconciliation

A mature reconciliation process has three nested levels, each defined by the sources it compares, its level of detail and the discrepancies it reveals. Level 1 compares sales with PSP transactions, level 2 compares those transactions with the settlement batch, and level 3 compares the batch with the bank statement. Collapsing all three into one check (“the transfer roughly matches the week's sales”) leaves every discrepancy unexplained, and the open items that result can never be cleared, because the intermediate document is missing.

LevelQuestion it answersSources comparedGranularityFrequency
1. Transaction levelDoes every order have exactly one captured payment transaction?ERP / e-commerce ↔ PSP transaction reportsIndividual transaction (order reference ↔ pspReference)Daily, ideally continuous
2. Settlement levelDoes the settlement batch contain the right transactions with the right fees, and is the stated net amount correct?Transaction reports ↔ PSP settlement reportsThe batch and its gross-to-net breakdownEvery batch (daily or weekly)
3. Bank levelDid the payout announced by the PSP reach the bank, for the right amount and on the right date?Settlement reports ↔ bank statements (CFONB120, MT940, camt.053) ↔ general ledgerThe bank entry (aggregated payout)Daily (statement on D+1)
The three levels of reconciliation
Following one euro from sale to books (typical online sale)
Customer
Pays €120 by card
Authorization, then capture (D)
PSP / acquirer
Collects the funds through the card network
Interbank settlement (D+1)
PSP
Builds the settlement batch and deducts its fees
Batch (D+1/D+2): gross €120, net €118.94
PSP
Sends the aggregated payout by credit transfer
1 transfer for n transactions (D+2)
Merchant's bank
Credits the account and delivers the statement
camt.053 / CFONB120 (morning of D+3)
Accounting
Records, reconciles and matches
Gross revenue, fees in 627, clearing account cleared
ℹ️
Level 2 is the one most often skipped, in favor of matching sales directly against the bank statement. That shortcut works as long as each transfer corresponds to a clean batch of sales. It breaks down with the first batch that contains refunds, a chargeback and a fee adjustment, because the transfer amount can no longer be explained without the settlement report.

Ledger matching: making reconciliation visible in the books

In French accounting, matching (lettrage) tags the entries in an account that offset each other with the same code (AA, AB, etc.). A receivable is cleared against its payment, and a gross sale against the net payout plus fees. Once an account is properly matched, its balance contains only unmatched entries: funds still in transit or anomalies to investigate. The balance therefore reflects transactions that are still being settled, not a buildup of old entries that were never offset.

D · the salein transitD+n · the bank transferThe day of the salerevenue earned, VAT dueThe day the bank is creditedthe money arrives, minus feesD 5112 · collection 165.50C 707 · sales 137.92C 44571 · VAT 20% 27.58D 512 · bank 163.96D 627 · PSP fees 1.54C 5112 · collection 165.50€165.50 debit€165.50 credit5112 · Items in collectiontransit account, the pivot of reconciliationAccount 5112 must return to zeroa residual balance = a missing payoutnever 707 = the net payout (French GAAP, PCG Art. 112-2)gross revenue · PSP fees booked as expensesThe sale is booked on delivery, not when the transfer arrives: the transit account bridges the two.
  • 411 (Customers): matched invoice by invoice against payments.
  • 511 (Items in collection): checks and bills deposited, awaiting credit to the bank account.
  • 512 (Bank): reconciled against the bank statement with a bank reconciliation statement, not matched in the strict sense.
  • 467 / 471-472 (clearing and suspense accounts): one sub-account per PSP (467-Adyen, 467-Stripe, etc.) is the key to a readable reconciliation.
  • 627 (Bank charges): PSP fees, account maintenance fees, chargeback fees.
  • 654 (Bad debt losses): chargebacks that are definitively lost.
General ledger excerpt: the PSP clearing account matches down to zero
# Account 467 "PSP Adyen" acts as a buffer between sales and the bank.
# Match code AA offsets gross sales against the net payout + fees.

467100 - PSP Adyen, funds receivable              Debit        Credit    Match
--------------------------------------------------------------------------------
07/08  Card sales for 07/08 (automatic         12,638.45                  AA
       feed from the e-commerce platform)
07/10  Payout batch 42 (offset account 512)                  12,500.00     AA
07/10  Fees batch 42 (offset account 627)                       138.45     AA
                                                 ---------    ---------
                                                 12,638.45    12,638.45
# Balance of match AA = 0: sales for 07/08 are fully accounted for.
# Any unmatched entry = funds in transit OR an anomaly to investigate.
⚠️
The trap of the growing suspense account
A 471 account balance that grows month after month is the classic sign of broken reconciliation, since every unresolved difference is parked there until someone explains it. Auditors look at this account first, because it holds the transactions nobody has documented. Hence the golden rule every back office should adopt: no entry in a suspense account older than 30 days without an open, dated investigation assigned to a named owner.

Types of discrepancies: the usual suspects

A reconciliation discrepancy is any difference between two sets of records that remains after matching, with no identified offsetting item. A good reconciliation engine does more than detect these discrepancies: it classifies them automatically using a stable taxonomy that does not depend on the provider. Almost every discrepancy seen in production falls into one of the families below, and that classification determines the automated treatment that follows.

Settlement batch No. 43€165.50 in sales → €28.95 paid out on July 11, 2026interchange 1.00 · scheme 0.17 · commission 0.22 · markup 0.15− €1.54 in PSP feesthe four components above− €30.11 refund30.00 returned + 0.11 not refunded− €89.90 chargebackthe original sale reversed in full− €15.00 chargeback feeflat fee billed per batch, no sale attachedgross €165.50= 163,96 €= 133,85 €= 43,95 €= 28,95 €Transfer received: €28.95the bank sees only this lineThe bank statement shows a single line: €28.95.The four deductions only show up in the PSP's report.Σ net credits − Σ net debits = 0.00
DifferenceDriverTypical patternProcessing
FeesA “net” PSP deducts its fees from each payout; a “gross” acquirer invoices them separatelyPayout below total sales; difference = sum of the fee columns in the settlement reportBook in 627, check against the contract's rate card
RefundsRefunds are deducted from the next payoutNegative lines in the batch; payout sometimes negative (the PSP debits the merchant)Link each refund to its original transaction
ChargebacksRetroactive debit of the transaction + flat fee (€15 to €50 depending on the PSP)Stand-alone debit several weeks after the sale, carrying the original transaction referenceReinstate the customer receivable in 411 or book a loss in 654; track the representment cycle
Foreign exchange (FX)Sale in a foreign currency, settlement in euros; scheme/PSP rate ≠ the day's accounting rateA few tenths of a percent off on foreign-currency transactionsIn France, FX gains and losses in 656/756 (trade items, PCG as revised in 2025); check the contractual FX markup
Timing differencesCapture on D, settlement on D+1/D+2, payout on D+2/D+7, weekends and public holidaysFriday's sale hits the bank on Wednesday; month-end cutoffMatching windows of ± n days; cut-off entries at period close
Rolling reserveThe PSP holds back 5% to 10% of volume for 90 to 180 days (high-risk sectors: travel, ticketing)Payout consistently x% lower; deferred releasesReceivable from the PSP, tracked in a dedicated account with a release schedule
Partial / multiple capturesAuthorized amount ≠ captured amount(s) on split shipmentsn settlement lines for 1 orderOne-to-many matching on the order reference
RoundingCurrency conversion and pro-rated fees, rounded line by lineRecurring differences of ± €0.01One-cent matching tolerance, rounding differences account
Typical discrepancies between sales, PSP settlement and the bank
⚠️
Rolling reserves, the classic blind spot
A 10% reserve held for 180 days ties up the equivalent of about 18 days of revenue in cash at the PSP. Unless it is tracked as a dated receivable, it distorts both the cash forecast and payout reconciliation, since payouts then fall short of gross sales for no apparent reason.

Why it matters: cash, audit, fraud detection

4
sets of records to reconcile: sales, PSP, bank, accounting
D+1 to D+7
typical delay between a card sale and funds available in the bank
€175.3B
in French e-commerce sales in 2024, every euro of it to be reconciled
FEVAD, 2025 annual report
> 90 %
auto-match rate achievable when references carry through end to end
  • Cash management: knowing, day by day, how much cash is actually available and how much is still “in transit” at the PSPs.
  • Revenue completeness: catching captured transactions that were never settled (PSP failure, technical dispute). They do happen, and no one else will claim them for the merchant.
  • Fee control: recalculating fees and spotting billing errors or pricing creep (FX surcharges, scheme fees passed on incorrectly).
  • Internal and external fraud detection: refunds with no original sale, diverted payouts, cash register discrepancies.
  • Auditability: documenting every clearing account balance at period close, with no catch-all provision.
🔑
Reconciliation is a daily control process whose end product is the books, not a month-end accounting chore. The closer to real time it runs, the cheaper discrepancies are to resolve and the easier it is to follow the trail that explains them. An open item takes minutes to clear on D+1, and hours on D+30.