CSV Drop

Home · Guide

Why a Stripe payout does not match the bank deposit

The bank is not missing money in the usual case. It received a net payout. Stripe’s sales list is gross charges. Those are different numbers. This page shows which two CSVs prove it, without connecting your Stripe account.

Need the check now? Open the in-browser explainer (first payout free; files stay in this tab).

What the bank line actually is

Stripe does not send each customer payment to your bank. It holds funds, then pays you on a schedule (often daily, two business days after the charge). That transfer is a payout. One payout can include many charges, plus negative items.

A typical net looks like:

payout amount = charges − Stripe fees − refunds − disputes/adjustments ± other balance transactions in that payout

If you sum Payments (successful charges) for “today” and compare that sum to today’s bank credit, it will almost never match. Wrong grain: charges vs payout. Wrong clock: charge date vs payout arrival date.

Stripe’s own reconciliation model is: list balance transactions filtered by payout id. The sum of those rows should equal the payout, to the cent. Then match that payout amount to the bank deposit (allowing for weekends and bank posting lag).

Export the two CSVs (no API)

  1. Payouts CSV. Dashboard → Payouts (under Balances, or Payments → Payouts). Use Export. You need at least payout id, amount, currency, and arrival/created date. This file is the list of bank-sized numbers.
  2. Balance transactions CSV. Dashboard → Reports → Balance / balance change from activity (wording moves around). Export transactions and include the payout id. This file is the ingredients: charge, stripe_fee, refund, dispute, payout itself, and other types.
  3. Do not start from Payments-only. A charges export without payout id cannot tell you which bank line a fee or refund belongs to.
  4. Optional: your bank CSV, if you want amount matching. The paid plan of the tool can lock that. The free run still explains the first payout in the file.

Paths above follow the current Dashboard. Stripe renames menus; if Payouts moved, search the Dashboard for “Payouts” and export from that table. Reports remain the place for a full balance-transaction dump.

Mistakes that look like a “missing deposit”

What this site does (and does not)

The Stripe payout explainer joins those two CSVs in your browser and writes one sentence per payout: this bank-sized amount is these charges minus these fees minus these refunds. It is not tax advice. It does not replace A2X, QuickBooks, or Xero. It does not post a journal. It answers the founder/bookkeeper question: “What is this deposit?”

FAQ

Why doesn’t my Stripe payout match the bank deposit?

Compare payout-to-bank, not charge-to-bank. The deposit is net of fees, refunds, and other balance transactions in that payout. Gross sales will be larger.

Which two Stripe CSVs do I need?

Payouts export + Balance transactions export with payout id. Payments-only is the wrong grain.

Do refunds hit the same payout as the original charge?

Often no. They usually reduce a later payout. That is the usual “this week’s sales look fine but the deposit is short” case.

Is this A2X or bookkeeping software?

No. No OAuth, no general ledger. One job: explain a payout line from CSVs in the browser.

Do you upload the files?

No. Unpack runs locally in the tab.

Explain a payout from CSV

Not affiliated with Stripe. Official payout docs: Receiving payouts and Payout reconciliation.