Which Stripe Export Is the Close, and Which One Lies
Stripe offers several exports that all look like "the transactions," and they answer different questions. For a month-end close, the wrong export is the most common reason a Stripe total refuses to match anything.
The one to close on: Balance change from activity (itemized)
In Stripe's balance reporting, the Balance change from activity section covers every transaction that changed the Stripe balance except payouts: charges, refunds, disputes, other adjustments, and fees. Downloaded as an itemized CSV, each row carries a reporting category (charge, refund, and so on), gross, fee, and net amounts, and a created date.
That is the export where the month's gross sales is the sum of the charge rows, and where refunds, disputes, and fees sit on their own lines instead of being buried in a net figure.
The others, and what each is for
- Balance summary. Starting balance plus activity minus payouts equals ending balance. It is the report for proving what Stripe still holds at month-end. It is a balance statement, not a sales report.
- Payout reconciliation. It groups transactions by the payout that settled them, so it can include transactions from before the selected period if they were paid out inside it. Its total is not the month's sales. Use it to match a bank deposit to the transactions behind it.
- Payouts list. It shows what was sent to the bank. Payouts are batched and net of fees and refunds, so they can never tie to gross sales or to Box 1a.
- Payments export. It is a list of individual payments. Depending on the filter it can include failed and uncaptured payments, and the Fee column appears only if you select it. It is fine for looking a payment up and risky as the basis for a total.
Set the timezone before you download
Stripe's reports let you choose a timezone, and the created time on each row follows it. A charge at 11 p.m. on the 31st is a June transaction in one timezone and a July transaction in another. Pick one timezone per client, use it every month, and write it on the workpaper.
A quick test before you trust a file
- Is there a category column with charge and refund rows? If not, it is probably not the itemized balance export.
- Do the charge rows add up to Stripe's own figure for the same period and timezone? If they do not, the date range or timezone is different.
- Are payout rows mixed in? Payouts move money to the bank. They are not sales.
- Were failed or uncaptured payments included? They never moved money and should not be counted.
Where the tool fits
The reconciliation tool is built around the itemized balance export. It also accepts a Payments export, leaving out failed and uncaptured payments and using the fee column when there is one. It declines a payout report with an explanation rather than producing a total that cannot be right.