1. Export the file from Stripe
- In the Stripe Dashboard open Reports > Balance.
- Under "Balance change from activity" click Download.
- Choose Itemized and CSV, pick the date range, and download.
- The older Transactions > All activity > Export (balance_history.csv) also works; choose "All columns".
Why a raw Stripe export fails in QuickBooks Online
Imported raw into your checking account, the deposits in your bank feed are payout totals while the Stripe file lists individual charges, so nothing matches. Import it instead into a separate Stripe account in QuickBooks, where charges, fees, refunds and payouts all belong.
QuickBooks Online maps the first row as column names and expects every following row to be a transaction. Extra header lines, balance and total rows, currency symbols, and cells that contain only zero are common reasons an upload fails or imports wrong amounts.
What is unusual about the Stripe file
- Amounts are decimals in the major unit (10.00 = $10). Fees are positive and net = gross - fee.
- The legacy export lists the raw balance transaction Type (charge, payment, refund, payout, stripe_fee...), the report lists reporting_category.
- Payouts are not in the "Balance change from activity" report; they are a separate section.
- Dates are UTC unless you chose your account time zone when exporting; UTC times are converted to your time zone if you choose one.
- Accounts in Europe can get decimal commas ("104,13").
- Columns can be reordered or customized, so we read them by name.
What QuickBooks Online requires
- Columns exactly Date, Description, Amount.
- Money in is positive, money out is negative; no currency symbols or thousands separators.
- One date format for the whole file.
- Up to 1,000 rows and 350 KB per upload (we split bigger files).
2. Before and after
Before: the Stripe balance report CSV as downloaded
"balance_transaction_id","created_utc","available_on_utc","currency","gross","fee","net","reporting_category","description" "txn_8Y1TestAAAA00001","2025-01-23 08:26:29","2025-01-27 00:00:00","usd","12.00","0.65","11.35","charge", "txn_8Y1TestAAAA00002","2025-01-23 08:26:31","2025-01-27 00:00:00","usd","-0.77","0.00","-0.77","refund","REFUND FOR PAYMENT" "txn_8Y1TestAAAA00003","2025-01-24 10:00:00","2025-01-28 00:00:00","usd","2500.00","72.80","2427.20","charge","Invoice INV-0007, annual plan" "txn_8Y1TestAAAA00004","2025-01-25 00:00:00","2025-01-25 00:00:00","usd","-0.50","0.00","-0.50","fee","Card payments (2025-01-24): Transaction netw... "txn_8Y1TestAAAA00005","2025-01-26 09:00:00","2025-01-26 09:00:00","usd","15.00","0.00","15.00","dispute_reversal","Dispute won"
After: what QuickBooks Online receives
| Date | Description | Amount |
|---|---|---|
| 01/23/2025 | Charge | 12.00 |
| 01/23/2025 | Fee: Charge | -0.65 |
| 01/23/2025 | Refund - REFUND FOR PAYMENT | -0.77 |
| 01/24/2025 | Charge - Invoice INV-0007, annual plan | 2500.00 |
| 01/24/2025 | Fee: Charge - Invoice INV-0007, annual plan | -72.80 |
| 01/25/2025 | Stripe fee - Card payments (2025-01-24): Transaction network costs | -0.50 |
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.
3. Import the converted file into QuickBooks Online
- Go to Transactions > Bank transactions > Link account (or Update) > Upload from file.
- Choose this CSV and the account to put it in.
- Map the columns: Date to Date, Description to Description, Amount to Amount (one column).
- Pick the date format MM/dd/yyyy (or the one you chose here) and confirm that the first row is a header.
- Review the transactions under For review.
Questions
- Which Stripe report should I export?
- For a Stripe balance account in your books, use the itemized "Balance change from activity" report, or the older balance history export. For one journal entry per payout, use the itemized payout reconciliation report instead; it has its own page here.
- Should I choose 3 columns or 4 columns?
- Both import the same transactions. The 3-column file has one signed Amount, negative for money out. The 4-column file splits money in (Credit) and money out (Debit) and leaves the unused side blank, which is what Intuit asks for. Use 3 columns unless your accountant prefers the other; switch "To" in the converter to get the 4-column file.
- Why are some charges on a different day than in my dashboard?
- Stripe reports use UTC unless you choose your account time zone when exporting. A charge late in the evening in the United States can carry the next day's date in UTC.
- Why does QuickBooks reject my file as too large?
- Intuit documents a limit of 350 KB and 1,000 lines per manual upload in QuickBooks Online. When your converted file is bigger, the converter also gives you numbered parts that each fit; upload them one after another.
Other ways to convert Stripe
Other exports to QuickBooks Online (CSV)
- Convert a Venmo statement CSV to QuickBooks Online
- Convert a Cash App CSV to QuickBooks Online
- Convert a PayPal activity CSV to QuickBooks Online
- Convert a Etsy monthly statement CSV to QuickBooks Online
- Convert a Airbnb earnings CSV to QuickBooks Online
- Convert a Gumroad payout CSV to QuickBooks Online
- Convert a Square transactions CSV to QuickBooks Online
- Convert a Shopify Payments transactions CSV to QuickBooks Online
- Amazon settlement report to a QuickBooks Online bank CSV
- eBay transaction report to a QuickBooks Online bank CSV
- Convert a Wise statement CSV to QuickBooks Online