Reconciliation · checked against the sources on

Stripe's payout reconciliation report, read line by line

Stripe's payout reconciliation report lists every charge, refund, dispute, fee and adjustment that each automatic payout carried; download the Itemized CSV. In each row net is gross minus fee, and the net of a payout's rows adds up to what reached your bank. The report groups payouts by their estimated arrival date, not the day your bank posts them. It does not cover instant payouts, and manual payouts go through the Balance report instead, because Stripe cannot say which transactions each one paid out.

“Stripe can't identify which transactions are included in each payout.”

Stripe: Payout reconciliation (API guide) (read 9 Oct 2026)

“not the date your bank posts the deposit”

Stripe: Payout reconciliation report (read 9 Oct 2026)

Prepared for your review. Not tax or accounting advice.

Where it is

Stripe Dashboard → Reports → Payout reconciliation. Pick a date range around the payout's expected arrival date, find the payout, and download the Itemized CSV. Through the API, list balance transactions with the payout's ID (Stripe's guide).

The columns

ColumnWhat it holds
automatic_payout_idthe payout (po_…) this row was paid out in
automatic_payout_effective_atthe payout's expected arrival date, which is when it leaves your Stripe balance
balance_transaction_idthe row's own ID (txn_…)
createdwhen the charge, refund or fee happened
available_onwhen its money became available in your Stripe balance
grossthe amount before fees; negative for refunds and disputes
feeStripe's fees on this row, positive when charged
netgross minus fee: what this row added to or took from the payout
reporting_categorywhat kind of row it is (below)
descriptionthe charge's or refund's description

How it adds up

Sum net over a payout's rows and you get the payout, which is the amount that reached your bank. Sum gross for charges to get gross sales, and fee for Stripe's fees. When a payout's rows add up to something else, the download did not hold all of them: widen the date range around its arrival date.

The categories you will meet most

reporting_categoryMeans
chargea payment from a customer, by card or another method
refundmoney returned to a customer
partial_capture_reversalthe uncaptured part of an authorization; count it against the original sale, not as a refund
feea fee row of its own, such as a Stripe fee
payout_reversala failed or cancelled payout's money coming back to your balance
transfermoney sent to a connected account (Connect)

Disputes and dispute reversals have categories of their own: a lost dispute is the disputed amount out plus a dispute fee, and a won one comes back as a reversal (Stripe's reporting categories).

What it leaves out

Check your own, on your machine

npx --allow-git=root github:agentwares/tieout statement.csv stripe-payouts.csv stripe-itemized.csv
  1. Export your Stripe payouts (Dashboard → Balances → Payouts → Export) and the bank statement for the same months as CSV.
  2. For each payout, find the bank credit of exactly its amount on its arrival date or up to five days after. One payout, one deposit.
  3. A payout with no deposit: check its status (a failed or cancelled payout went back to your Stripe balance), its method (an instant payout often goes to a debit card) and its destination account.
  4. A deposit that left Stripe in one month and reached the bank in the next was in transit at that month's end: list it as a reconciling item, not an error.
  5. Download the itemized payout reconciliation report and book each payout gross: sales in, then fees, refunds and disputes out, so the deposit is the net.

It reads the CSV exports you name, makes no network request and calls no LLM, and writes a dated tie-out sheet: every payout and its deposit, every month of the books against the statement, and what does not tie with its likely reason. Source (MIT)

Catch-up bookkeeping by agent, priced per month behind, is not built. The months that do not tie, done for you: every transaction categorized, every Stripe payout booked gross with its fees, refunds and disputes, and every account-month tied to its statement, reviewed by a person before delivery.

Not built. It would be priced per month behind; no price is set. It gets built only if enough people ask.

Count me in

Sources

Other reconciliation questions