What you see
The deposit in your bank feed is a different number from the sales in Stripe for the same day, and you cannot match it to any single invoice or sale.
Why it happens
Stripe groups balance transactions into payouts. Its payout reconciliation report exists to match "the payouts you receive in your bank account" with the transactions inside them, and the itemized CSV lists "every payment, refund, dispute, fee, and other balance transaction included in the payout".
Payouts are grouped by their expected arrival date, which is not always the day your bank posts the deposit.
Stripe's balance report does not link payouts to the payments they contain, which is why a balance export alone cannot explain a deposit.
How to fix it
- In the Stripe Dashboard open Reports, then Payout reconciliation, pick a date range that includes the payout's expected arrival date, and download the itemized CSV of the Payout reconciliation section.
- Drop the file into the converter above. It is recognised as a payout reconciliation report.
- Set the account names to the ones in your chart of accounts (sales, fees, bank, clearing) and download.
- Import the file in QuickBooks Online under Import data, Journal entries, then match each bank line to the deposit in your bank feed.
What this does not fix
- Stripe only produces this report for automatic payouts. For instant payouts Stripe says it cannot identify which transactions are included, so those cannot be matched this way.
- Every account named in the file must already exist in QuickBooks, or the import stops.
- This is not accounting advice: how to treat refunds, disputes and fees is up to you and whoever prepares your return.
Before and after
Before: the Stripe payout reconciliation CSV as downloaded
"automatic_payout_id","automatic_payout_effective_at","balance_transaction_id","created","available_on","currency","gross","fee","net","reporting_c... "po_7X2TestPayoutA0001","2025-02-04 00:00:00","txn_7X2TestBBBB00001","2025-01-30 16:31:18","2025-02-04 00:00:00","usd","102.00","3.26","98.74","cha... "po_7X2TestPayoutA0001","2025-02-04 00:00:00","txn_7X2TestBBBB00002","2025-01-31 10:05:00","2025-02-04 00:00:00","usd","49.99","1.75","48.24","char... "po_7X2TestPayoutA0001","2025-02-04 00:00:00","txn_7X2TestBBBB00003","2025-01-31 12:00:00","2025-01-31 12:00:00","usd","-10.00","0.00","-10.00","re... "po_7X2TestPayoutA0001","2025-02-04 00:00:00","txn_7X2TestBBBB00004","2025-02-01 00:00:00","2025-02-01 00:00:00","usd","-0.50","0.00","-0.50","fee"... "po_7X2TestPayoutB0002","2025-02-06 00:00:00","txn_7X2TestBBBB00005","2025-02-02 08:00:00","2025-02-06 00:00:00","usd","300.00","9.00","291.00","ch... "po_7X2TestPayoutB0002","2025-02-06 00:00:00","txn_7X2TestBBBB00006","2025-02-03 09:00:00","2025-02-03 09:00:00","usd","-30.00","15.00","-45.00","d...
After: what QuickBooks Online (journal entry import) receives
| Journal No. | Journal Date | Account Name | Debits | Credits | Description | Name |
|---|---|---|---|---|---|---|
| BR-20250204-1 | 02/04/2025 | Sales of Product Income | 151.99 | Gross sales - Stripe payout po_7X2TestPayoutA0001 | ||
| BR-20250204-1 | 02/04/2025 | Sales of Product Income | 10.00 | Refunds - Stripe payout po_7X2TestPayoutA0001 | ||
| BR-20250204-1 | 02/04/2025 | Bank Charges & Fees | 5.51 | Fees - Stripe payout po_7X2TestPayoutA0001 | ||
| BR-20250204-1 | 02/04/2025 | Checking | 136.48 | Deposit - Stripe payout po_7X2TestPayoutA0001 | ||
| BR-20250206-1 | 02/06/2025 | Sales of Product Income | 300.00 | Gross sales - Stripe payout po_7X2TestPayoutB0002 | ||
| BR-20250206-1 | 02/06/2025 | Sales of Product Income | 30.00 | Refunds - Stripe payout po_7X2TestPayoutB0002 |
Synthetic sample data that follows the real export layout, not a real account. The "after" output was produced from it by the same converter this page runs.
Import the fixed file into QuickBooks Online (journal entry import)
- Make sure every account named in the file exists in your chart of accounts (or change the account names before downloading).
- In QuickBooks Online go to Settings (gear) > Import data > Journal entries.
- Upload this CSV and map Journal No., Journal Date, Account Name, Debits, Credits, Description and Name.
- Review and import. Each payout (or month) becomes one balanced entry.
Questions
- Why is my Stripe deposit smaller than my sales?
- Stripe takes its fees, refunds and dispute amounts from the balance before paying out, and one payout can cover charges from several days. The journal entry shows each part on its own line, so the difference is explained.
- Does each journal entry balance?
- Yes. Debits and credits of every entry are equal to the cent, and the bank line is the payout amount.
- Can I use the Balance report instead?
- For a Stripe balance account in your books, yes; there is a separate converter for it. For one entry per payout use the payout reconciliation report, because the balance report does not say which payout each charge went into.
Converters for this file
- Stripe payouts to a QuickBooks journal entry
- Stripe CSV converter
- Payout journal entry from a CSV export
- Convert a Stripe balance report CSV to QuickBooks Online
- Import a Stripe balance report CSV into Xero
Related import problems
Sources
The rules on this page come from these help pages, checked 2026-11-05. Software changes; if your screen says something different, the help page is the authority.