SI Data Ops

Troubleshooting guide · updated 2026-10-11

One Stripe deposit, many sales: why the bank line matches nothing in the ledger

Explain how an automatic Stripe payout bundles charges, fees and refunds into one net deposit and how a clearing account and a payout-level entry make the bank line match.

A payout is a settlement batch, net of fees

Stripe sends funds from your available balance to your bank as a payout. Automatic payouts follow your payout schedule and can include funds from many transactions. Every movement in or out of the balance is a balance transaction with a type such as charge, refund or stripe_fee, and the payout is itself a balance transaction. The bank therefore sees one deposit equal to charges minus fees minus refunds and similar items, usually on a different day from the sales.

Finding what is inside one payout

Stripe documents listing the balance transactions for a given payout by passing its identifier, and a payout.reconciliation_completed event that signals when reconciliation data is ready. The payout reconciliation report groups each automatic payout's transactions by reporting category and can be downloaded as a summary or an itemised file. Two limits matter: for manual payouts Stripe says it cannot identify which transactions are included, and the report is organised around automatic payouts. Instant payouts are in the same position as manual ones.

  • Check your payout schedule before designing anything; manual and instant payouts need a different approach.
  • The report groups a payout by its estimated arrival date, which can differ from the date your bank posts the deposit.
  • Report data follows its own schedule, so a payout can arrive before its itemised data is ready.

A ledger design that makes the bank line match

Record each sale gross against a clearing account, rather than straight to the bank. Record fees and refunds against the same clearing account from the payout's own transaction list. Then post one payout-level entry that moves the net amount from clearing to the bank account, equal to the deposit. When every transaction in a payout has been recorded, the clearing account is back to zero for it, and the bank line matches a single ledger entry. Xero describes clearing accounts as current-asset accounts that can accept payments. Its bank transfer records are between two bank accounts, so a bank transfer fits the payout entry only where the clearing account is itself set up as a bank-type account; otherwise your accountant chooses another entry type, such as a spend or receive money transaction or a manual journal. Your accountant chooses the entry type either way.

Refunds deserve care: Stripe says the processing fee on the original payment is not returned when it is refunded, and a refund can fail and the money return to the balance later. A refund line should therefore be read from the payout list, not recomputed from the original sale.

A safe first check by hand

Open one payout in the Stripe Dashboard, download its itemised list or report, and add up charges, fees, refunds and any other categories. Compare the total with the payout amount and with the bank line. Then look in the ledger: is there one entry equal to the deposit, and does the clearing account return to zero after it? Share only totals and counts when you ask for help.

  • Differences of a few pence point at rounding or a fee; large differences point at a missing refund or dispute.
  • Do not post anything to a closed period to make a check pass.

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

The job "Make every Stripe payout match one bank deposit line in Xero or QuickBooks Online" is from £495, an untested published price confirmed after your enquiry, paid after the agreed checks pass and you sign off. It is accepted when three test payouts each produce one ledger entry equal to the payout, each payout's gross, fees, refunds and disputes add up to it, the clearing balance equals only unpaid test transactions, and a repeat run adds nothing.

It does not cover manual or instant payouts, multiple settlement currencies or the accounting treatment of fees, which your accountant decides. This guide is written from vendor documentation read on 11 October 2026 and nothing was run against a live account. 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 Checked 2026-10-11.
    • An automatic payout can include funds from many transactions, and the balance transactions for one payout can be listed by passing the payout id.
    • Balance transaction types include charge, refund, stripe_fee and the payout itself.
    • For manual payouts Stripe cannot identify which transactions are included, so the user must reconcile them against transaction history; a payout.reconciliation_completed event signals when reconciliation data is ready.
  • 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.
  • Stripe: refunds Checked 2026-10-11.
    • Stripe's processing fees from the original transaction are not returned when a payment is refunded, and more than one refund can be issued against a charge up to the original amount.
    • A refund can fail and the amount be returned to the Stripe balance, which can take up to 30 days from the post date.
  • Xero Accounting API: bank transfers Checked 2026-10-11.
    • A Xero bank transfer is made between two bank accounts (a From and a To bank account, identified by account code or AccountID), with an amount in the currency of the From account.
  • Xero: integration best practices Checked 2026-10-11.
    • Xero's integration guidance says clearing accounts are categorised as a current asset and are enabled to accept payments, and that payment accounts are found by filtering on the EnablePaymentsToAccount flag and on account type BANK.