Stripe payout reconciliation report and how to use it
The Stripe payout reconciliation report lists every transaction that went into each automatic payout to your bank: charges, refunds, fees, disputes and adjustments. Use it to prove that each bank deposit equals its charges minus refunds and fees, then to match those charges to your invoices or orders and book the fees separately.
Why Stripe deposits never match a single sale
Stripe does not send each payment to your bank separately. It collects charges into your balance, subtracts refunds, fees and dispute amounts, and pays out the net amount on a schedule. Your bank statement shows one deposit, often with only a generic description and a payout reference, while your ledger shows dozens or hundreds of individual sales.
Without a breakdown, the only thing you can confirm is that some money arrived. With the payout reconciliation report, you can explain every cent of that deposit. This guide covers what the report contains, how to use it at month end and where teams usually get stuck. For the product side, see our page on Stripe reconciliation.
What the report contains
Stripe offers several reports in its dashboard. The one built for this job is the payout reconciliation report, which is available for accounts on automatic payouts. It groups balance transactions by the payout that settled them. Depending on the columns you choose, each row typically shows the transaction ID, the type such as charge, refund, dispute or fee, the gross amount, the fee, the net amount, the currency, the payout ID and the date the funds became available.
Two views are useful. The summary shows totals per payout and per category, which is what you compare to the bank. The itemized export gives one row per transaction, which is what you match to your orders or invoices. Column names and options change over time, so check the current report in your dashboard rather than relying on an old template.
If your integration passes an order number or invoice number into the charge metadata, include that column in the export. It turns charge matching from guesswork on amount and date into an exact lookup, and it is the single change that removes the most manual work from Stripe reconciliation.
- Payout ID and arrival date, to link each group to a bank deposit
- Transaction type, to separate charges, refunds, disputes and adjustments
- Gross, fee and net amounts, to rebuild the payout total
- Metadata such as order or invoice number, if your integration sends it
Reconciling one payout step by step
The routine is the same for every payout, so once it works for one, it works for the month.
- Export the itemized payout reconciliation report for the period, including the payout ID column.
- Pick one payout and filter the rows that belong to it.
- Add up gross charges, subtract refunds and dispute amounts, subtract fees and include any adjustments. The result must equal the payout amount.
- Find the deposit on your bank statement with the same amount and an arrival date close to the one in the report.
- Match each charge to an order or invoice by metadata, customer or amount and date.
- Book fees to an expense account and refunds and disputes to their own accounts, not as negative revenue.
As an illustration, say a payout of $4,820 arrives on the 14th. The report shows 46 charges totaling $5,140, one refund of $150 and fees of $170. Charges minus the refund minus the fees gives $4,820. The payout agrees, and the bank side is done.
Payouts at month end and in transit
Charges made in the last days of the month often pay out in the first days of the next one. On the 31st, those amounts sit in your Stripe balance or in transit, not in the bank. Treat them like deposits in transit in a bank reconciliation: recorded in your books, not yet on the statement, and expected to clear within the normal payout delay.
The cleanest way to handle this is a clearing account for Stripe. Sales are recorded against the clearing account, payouts move money from the clearing account to the bank, and fees and refunds hit the clearing account too. At month end, the clearing balance should equal your Stripe balance plus payouts in transit. If it does not, something was booked twice or missed.
A clearing account also makes the review quick. Instead of reading hundreds of sales lines, the reviewer looks at one balance and one list of payouts in transit. If the balance is explained, revenue, fees and refunds for the month are explained too, and the bank account reconciliation becomes a simple check of payout totals against deposits.
Common problems with Stripe payout reconciliation
Most of the leftovers after a payout reconciliation come from a few sources.
- Missing metadata: charges created without an order or invoice number force matching by amount and date, which breaks with repeat amounts.
- Disputes: the disputed amount and the dispute fee are withdrawn from a payout, and a won dispute returns the amount later in a different payout.
- Currency conversion: charges in one currency settling in another create conversion differences that need their own entry.
- Manual payouts or instant payouts: these do not follow the automatic schedule and need separate handling.
- Fees booked net: recording the deposit as revenue understates both revenue and costs, and the gap only shows when someone rebuilds the gross figure.
When the same issue returns every month, the guide to reconciliation discrepancies shows how to classify and fix each type at its source.
A monthly checklist for Stripe payouts
Use this short list at every month end, in this order, and keep it with your close file.
- Export the itemized payout reconciliation report and the balance summary for the month.
- Confirm that every payout in the report appears on the bank statement, and every Stripe deposit on the statement appears in the report.
- Rebuild each payout total from charges, refunds, disputes, fees and adjustments.
- Match charges to orders or invoices and list charges without an order.
- Book fees, refunds and disputes to their own accounts and clear the Stripe clearing account.
- Note payouts in transit at the period end with their expected arrival date.
- Have a second person review the clearing account balance against the Stripe balance.
Teams that follow the same list every month find problems in days rather than at year end, when the audit sample lands on a payout nobody can explain.
Automating the Stripe payout reconciliation report
The matching in the routine above is mechanical, which is why it is a good fit for software. Reconciles reads the payout export and the bank statement, rebuilds each payout from its charges, refunds and fees, matches the payout to the deposit and the charges to your open invoices or orders. Payouts that do not add up and charges without an order go to the exceptions queue with a reason for each.
Every match shows why it was made and a confidence score, and nothing posts to your ledger until someone reviews it. Fees and refunds go back to your books as journal entries in a file, for example for QuickBooks or Xero. If you also sell through other channels, the same approach covers PayPal and Shopify payouts, described on the payment reconciliation software page.