Reconciliation answers a simple question: does the money we think we earned match the money that arrived? For card payments the answer is never a single number — it’s a chain of events with fees, refunds and disputes along the way.
The three-way match
Mature finance teams reconcile three records against each other:
- Your order system — what you sold.
- The payment platform’s transaction record — what was authorized, captured and refunded.
- The settlement report / bank statement — what was actually paid out, net of fees.
Most discrepancies live between records 2 and 3: timing differences (a capture on the 31st settles in the next period), fees netted from gross amounts, refunds and chargebacks deducted from later payouts.
A daily process that works
- Ingest events by webhook into your ledger as they happen — payment.captured, refund.completed, payout.settled.
- Each payout, match its itemized transaction list against your ledger. Every settlement should decompose exactly into transactions minus fees minus refunds and chargebacks.
- Flag unmatched items daily, while memories and logs are fresh. A ten-minute daily habit beats a two-day quarterly hunt.
Handle the awkward cases explicitly
Partial refunds, currency conversion differences, disputes that reverse months-old transactions, and payouts split across settlement currencies (USD bank transfer plus USDT wallet) each need a defined treatment in your ledger — decide once, document it, automate it.
What to ask of your payment platform
Per-payout itemization, machine-readable settlement reports, webhook events for every money movement, and stable transaction references that survive from authorization to payout. Without those, reconciliation is spreadsheet archaeology.
Payixay itemizes every payout — card, M-Pesa and USDT — in one dashboard with webhook events for each state change. See reporting and monitoring.