How to reconcile a Stripe payout against your books
A payout is a batch, not a day. It nets fees, refunds and disputes over a window that never matches your sales day. Match the batch, post the fee as an expense.
Your sales report says $2,910.00 for Friday. Stripe put $2,847.13 in the bank on Monday. Nothing is broken and nothing on the sales side needs fixing — the two numbers answer different questions. Here is how to take a payout apart, and what to enter so the month closes.
The short answer
A payout is a batch, not a day. Stripe sends it on a schedule you pick, covering whatever settled since the last one, net of processing fees, net of refunds you issued, and net of any dispute that landed while the batch was building. Match the batch to the deposit, post the fee total to a fee expense account, and never edit a sale to make a deposit agree.
What a payout actually contains
Monday's $2,847.13, taken apart:
- Gross card charges in the batch, 11 payments — $3,014.00
- Less Stripe processing fees — −$83.23
- Less a refund issued Thursday against an August 21 sale — −$83.64
- Net deposited — $2,847.13
Sanity-check the fee before you accept it. $83.23 on $3,014.00 of card volume is 2.76% all-in, about what you would expect from a mostly in-person day: Stripe's published US standard rates are 2.9% + 30¢ per successful transaction for online domestic cards and 2.7% + 5¢ for in-person (checked 12 September 2026; your own rates may differ by agreement).
Stripe's Payout reconciliation report
produces that breakdown. It "helps you match the payouts you receive in your bank account with the
batches of payments and other transactions that they relate to", grouped by reporting category —
charge, refund, dispute, fee — and the itemized CSV carries an automatic_payout_id on every line.
That column is the whole trick. It gives you the exact list of transactions behind one deposit
instead of a guess.
Why a payout is never a day's sales
Three clocks are running and none of them agree.
Your sales day. Friday's $2,910.00 is every tender: $2,410.00 on cards, $500.00 in cash and checks. The cash never goes near Stripe.
Stripe's settlement clock. A charge is not payable the moment it is approved. Stripe describes settlement timing as "the amount of time it takes for your funds to become available… typically expressed as 'T+X' days", and lists 2 business days as the initial settlement timing for US accounts. The payout schedule — manual, daily, weekly or monthly — is a separate setting, and Stripe is explicit that "choosing a payout schedule doesn't change how long it takes for your pending balance to become available. It only controls when payouts are sent."
Your bank's posting clock. The arrival date Stripe shows and the day your bank posts the credit are not always the same.
So Monday's $3,014.00 of gross charges is Thursday's after-cutoff card sales of $604.00 plus Friday's card sales of $2,410.00. The $500.00 of cash is still yours. It is just not in that deposit.
Read one payout down to its parts
- Open the payout in the Stripe Dashboard. Note its ID and arrival date.
- Pull the Payout reconciliation report for a range covering it, and download the Itemized version, not the summary.
- Filter the CSV to that one
automatic_payout_id. - Subtotal by
reporting_category. Charges and refunds carrygross,feeandnetcolumns, and thenetcolumn sums to the deposit. - Find the deposit in your bank feed by amount and date. Only now open your books.
- Tick the charge lines against the orders they came from. Anything left over is a real question, not a rounding difference.
Do not go looking too early: Stripe computes report data daily and says it is "normally available in reports by 12:00 pm on the next day."
The entries that make it close
Run card takings through a clearing account — call it Stripe clearing, an asset — rather than posting card sales straight to the bank. Three entries, and the clearing account empties itself.
As card sales are taken over the batch window
- Debit Stripe clearing $3,014.00
- Credit Sales revenue, and sales tax payable if you charge it, $3,014.00
When the refund is issued, dated the day you issued it
- Debit Refunds and allowances $83.64
- Credit Stripe clearing $83.64
When the payout lands
- Debit Bank $2,847.13
- Debit Merchant processing fees $83.23
- Credit Stripe clearing $2,930.77
$3,014.00 in, $83.64 out for the refund, $2,930.77 out to the payout: the clearing account is back to zero on that batch. Two rules do the work.
The fee is an expense, not a discount on revenue. Post the net $2,847.13 as sales and your revenue is understated by $83.23, your expenses are understated by the same $83.23, and no account anywhere in your books can tell you what card acceptance cost you last year.
A refund goes against the original sale, and the fee does not come back with it. Stripe states it plainly: "Stripe's processing fees from the original transaction aren't returned." Refunding an $83.64 sale in full still leaves you out the fee you already paid on it. Book it as a refund, not as a negative sale that quietly shrinks today's revenue.
What a chargeback does to a month you already closed
When a cardholder disputes a payment, Stripe "Debits the disputed amount, plus a dispute fee, from your Stripe account", and the funds "are held for the entire duration of the dispute". The US standard dispute fee is $15.00. Card networks typically allow 120 days from the original payment to file; you then get 7–21 days to respond, the issuer takes 60–75 days to decide, and the full lifecycle runs 2–3 months.
So a June sale can pull money out of a September payout. Do not reopen June. Post it on the date Stripe took it:
- Debit Chargebacks $649.00
- Debit Dispute fees $15.00
- Credit Stripe clearing $664.00
If you win, the issuer "returns the debited chargeback amount to Stripe" and Stripe passes it back to you — reverse the $649.00 on the day it lands. The $15.00 stays gone: outside Mexico, the fee for receiving a dispute is non-refundable. (Stripe does return the separate dispute countered fee if you win.) If you lose, the entry you already made is the final answer.
What goes wrong
You reconcile to the bank line instead of the payout report. The tell is a fee expense account with nothing in it, or a gross margin a point or two better than the business feels. A bank line is one net number with no structure inside it. The payout report is the structure.
Someone edits a sale so the deposit matches. This is the expensive one. A $1,299 order gets changed to $1,262 because that is what showed up, and now the customer's invoice, your inventory cost and your books disagree permanently with no record of why. Deposits differ from sales for good reasons. Fix the reconciliation, never the sale.
Instant payouts. Stripe is direct: "You control the timing and amount of instant payouts, so Stripe can't identify which transactions are included in each payout. You're responsible for reconciling instant payouts against your transaction history." Press that button on a slow week and you have opted out of the report that makes this easy.
You forget the Stripe balance at month end. On 31 August there is real money that is yours, settled or pending, and not yet in the bank. It belongs on the balance sheet as an asset — the clearing account balance is exactly that. Leave it out and August looks poorer than it was while September looks richer.
The monthly check
One number. On the last day of the month, your Stripe clearing balance should equal Stripe's ending balance from the Balance summary section of the payout reconciliation report. If they agree, every charge, fee, refund and dispute has landed somewhere. If they do not, the difference is the size of what you missed.
Do it monthly. A $4.00 drift found in October is a ten-minute phone call; the same drift found in February is a weekend.
How UpChannels handles this
Two optional add-ons cover this work, and neither is on by default.
Integrated payments connects your store's own Stripe account, so your business stays the merchant of record and payouts go to your bank on Stripe's normal schedule — UpChannels never holds the funds. Card payments record against the order that earned them, so a charge taken through UpChannels has an order behind it when you go looking. Refunds issued from the Return Order screen go back through Stripe and allocate across that order's card payments, oldest first. Disputes arrive from Stripe by webhook with their amount, reason, status and evidence deadline, linked back to the order whenever the disputed payment can be traced to one. Settings → Payments reads your available and pending Stripe balance, and your recent payouts with amount, status and arrival date, live from Stripe.
Bank reconciliation is the second add-on, and it is where the matching happens: a connected bank feed as two columns, bank lines against book entries, with Suggested, Matched, Unmatched and Needs-attention buckets. It recognises a batched card payout specifically. When one deposit covers several card payments, the matcher proposes the whole group and derives the fee as the gap between the signed payments and the net deposit, then makes you deal with it. A fee-bearing match is never auto-confirmed — you either link a fee expense you already recorded or post one, so a person always decides where the $83.23 lands. Statement periods are anchored on the start and end balances you type from your actual statement, and the close button unlocks at a difference of zero. Unmatching inside a closed period posts a dated reversing entry and reopens it rather than deleting anything.
The boundaries, both of which matter before you buy. Reconciliation needs a bank that Plaid supports, with no statement-file upload to fall back on, and one account per store is marked Primary and is the one reconciled. UpChannels does not itemize a payout for you — that breakdown comes from Stripe's own report, and UpChannels matches the deposit to the batch of payments behind it. And it reconciles; it does not advise. This is not accounting or tax advice.
Sources
All checked 12 September 2026.
- Payouts — payout schedules and settlement timing
- Payout reconciliation report — report contents, itemized columns, instant payouts, data availability
- Refund and cancel payments — processing fees are not returned
- How disputes work — debits, holds, timelines and fee treatment
- Stripe pricing — US standard card and dispute fees
The parts of UpChannels this touches
Read next
- How to record a lease-to-own sale so your margin is right
Ring the full ticket, record the provider as the tender, and post the gap between the ticket and the deposit as a fee — not as a discount on the item.
- How to price delivery zones and haul-away fees
Work out the fully loaded cost of one stop, draw zones off drive time instead of map radius, price haul-away as its own line, and cap free delivery by zone.
- Move your stock off spreadsheets without losing serial numbers
Your stock comes across as a CSV. Your customer history does not. Clean the file before you import, run catalog and quantities as two passes, and count on day one.