Start with what the integration records, not what it should
Take one closed month and list, for each flow (sales, payouts, refunds, fees), what the integration writes to the ledger and with which processor identifier. A flow with no identifier on its ledger entries cannot be matched automatically, and that single finding usually explains why reconciliation is manual. Keep this list; it is the brief for anyone you ask to help.
- Which flows reach the ledger, and as what kind of entry?
- Is the processor's identifier stored on each entry?
- Is there a clearing account, or do sales go straight to the bank?
Gather evidence you can share safely
Totals and counts per flow and currency for one month, from the processor's report and from the ledger, are enough for a first conversation. Do not send exports, customer names, bank details or credentials. Say which payouts are automatic and which are manual or instant, because Stripe says it cannot tie manual or instant payouts to specific transactions, and other processors may differ.
- Counts and totals for payouts, refunds and fees on both sides.
- The payout schedule and the settlement currency.
- Whether any part of the month falls in a locked period.
Decisions that are yours
How a payout, a refund and a fee should appear in your ledger, what tolerance is acceptable, which date defines the period and how a locked period is handled are decisions for you and the accountant. A software job records and applies them; it does not make them. Corrections to posted records stay with you.
Choose the right size of help
One flow that is plainly wrong is a bounded job: for example the Stripe payout job, from £495, or the PayPal refunds job, from £445. Several flows together make a project, from £3,950, and keeping it true afterwards is a standing monthly check, £295 a month. All prices are untested and confirmed after an enquiry; payment follows agreed checks and your sign-off, and none of them is bookkeeping, tax or audit advice. Send invented examples and counts first, never credentials, bank details, invoices or customer records; real records are handled only after written agreement through a secure handoff.
Sources and limits
- Stripe: payout reconciliation report Checked 2026-10-11.
- The report groups each automatic payout's transactions by reporting category and offers summary and itemised downloads, and is not available to manual or instant payout users in the same way.
- The report groups a payout by its estimated arrival date, not the date the bank posts the deposit, and report data follows a separate processing schedule so a payout can arrive before its data is ready.
- PayPal: Transaction Search API Checked 2026-10-11.
- The list transactions call supports a maximum date range of 31 days, requires an end date, and can take up to three hours for executed transactions to appear.
- Page size defaults to 100 and can be up to 500, and the call covers the previous three years.
- Each transaction carries an event code, an amount and a fee amount.
- A transaction identifier is not unique in the reporting data: the response can list two records with the same identifier, one affecting the balance and one not.
- Xero: lock dates Checked 2026-10-11.
- Lock dates stop changes to past transactions, and the article names administrators as the users who can set or change them.