Synthetic Industry

Troubleshooting guide · updated 2026-10-11

Reconciliation drift: six kinds of difference between a payment processor and a ledger

Classify differences as missing, extra, amount, duplicate, timing or currency, match by identifiers rather than totals, and decide what is escalated before a monthly list is trusted.

Drift is a difference with a cause

A difference between processor and ledger is a symptom. The useful question is which of six kinds it is. A missing entry: the processor has an item the ledger lacks. An extra entry: the ledger has one the processor does not. An amount mismatch: both have it but disagree. A duplicate: the ledger has it twice. A timing difference: the item sits in a different period on each side. A currency or rounding difference: amounts agree in one currency but not after conversion or at the last decimal. Each kind points to a different repair, which is why a single total tells you little.

Match by identifier, then add up

Totals can agree while two errors cancel: a duplicate payout and a missing refund of the same size. Matching line by line on the processor's own identifiers, such as the payout, charge, refund or transaction id, finds each one, and totals then become a consistency check, not the evidence. Count items per currency as well as summing them, because a count mismatch with an equal total is a strong sign of offsetting errors.

  • Store the processor identifier on every ledger entry that comes from it.
  • Compare counts and totals per currency and per flow.
  • Treat an unmatched item as open until it is explained with evidence.

Timing is an innocent cause to rule out early

Stripe's payout reconciliation report groups a payout by its estimated arrival date rather than the date the bank posts it, and its data follows a separate schedule, so a payout can arrive before its itemised data is ready. PayPal says executed transactions can take up to three hours to appear in its transaction report. A month-end cut-off therefore needs a rule: which date defines the period, and how late-arriving data is picked up next month. Without one, the same item shows as a difference at the end of one month and again, reversed, at the start of the next.

Tolerance and locked periods

Agree in writing whether any tolerance is acceptable and for which kind of difference; a one-penny tolerance can hide a real policy mismatch. Check whether the period is locked: Xero's lock dates stop changes to past transactions and its article names administrators as the users who can change them; the organisation endpoint reports the lock dates when they are set. A difference that falls in a locked period is not corrected by software; it is reported to the person who can decide, usually your accountant.

  • Never alter a locked or reconciled period to make a list look clean.
  • A repeated difference two months running is escalated, not re-explained.

What fits, what does not, and how it is accepted

The standing service "Detect reconciliation drift between your payment processor and ledger every month" is £295 a month, an untested published price with billing under written terms agreed first. Each month you receive a list in which every item is matched, explained with evidence or open with the next step named, and you can recompute its totals from the same two exports.

It is a data comparison, not an audit, gives no assurance and never posts or edits in your systems; corrections are separate, agreed jobs. This guide is written from vendor documentation read on 11 October 2026. 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.
  • Xero Accounting API: organisation Checked 2026-10-11.
    • The organisation endpoint returns PeriodLockDate and EndOfYearLockDate when they are set, and an IsDemoCompany flag.