# Import Stripe Transactions into QuickBooks Online

- Author: SimpleBankConvert (https://simplebankconvert.com)
- Published: 2026-10-16
- Category: QuickBooks Online imports
- Canonical: https://simplebankconvert.com/blog/import-stripe-transactions-into-quickbooks-online

> Import Stripe transactions into QuickBooks Online without double counting: bank statement payouts versus gross sales and fees from Stripe's own report.
To import Stripe transactions into QuickBooks Online without counting sales twice, bring in the payouts from your bank statement as deposits, and use Stripe's own report only to split each payout into gross sales, fees and refunds. Never import both the payouts and the sales as income. Pick one source for income.

## Stripe payouts versus Stripe sales: what reaches your bank?

Your bank receives payouts, not sales. A payout is a lump sum that Stripe sends from your Stripe balance to your bank account, and it is the net of many transactions. The deposit on your bank statement therefore does not match any single sale you made.

Stripe's [payout reconciliation guide](https://docs.stripe.com/payouts/reconciliation) describes a payout as funds sent from your available balance to your bank account, and says an automatic payout can include funds from multiple transactions. Each of those transactions has a type. The guide lists charge (a payment from a customer), refund (funds you returned) and stripe_fee (a fee you paid), and a payout is also a transaction of its own.

That explains the mismatch. Between one payout and the next you may sell fifty things, refund two and pay fees on each charge. The bank sees one number: what was left.

### What this means for the books

Two views of the same money exist:

- **The bank view** has one deposit per payout, for the net amount.
- **The Stripe view** has every sale, every fee and every refund, as separate lines.

Sales should be recorded at the gross amount, because that is what the customer paid and what you earned. Fees are an expense. Refunds reduce income. If you book only the net deposit as income, your income is too low by the fees and the refunds, and your expenses are too low by the fees. Profit stays right, but both lines are off.

Timing adds another gap. A sale made on the 30th may not reach your bank until days into the next month, so a payout often covers sales from the end of one month and the start of the next. Reports by month will differ between the Stripe view and the bank view for that reason alone.

## Splitting a Stripe payout into sales and fees

To split a payout, find the transactions that make it up, then record the deposit with one line per type: gross sales as income, fees as an expense and refunds as a reduction of income. The deposit total must still equal the amount the bank received.

### A worked example

The figures are examples. One payout of 940.50 reaches the bank.

| Piece | Amount |
| --- | --- |
| Gross sales (charges) | 1,000.00 |
| Stripe fees | -29.50 |
| Refund to a customer | -30.00 |
| Payout to the bank | 940.50 |

The check is 1,000.00 minus 29.50 minus 30.00, which equals 940.50.

On the bank statement the payout is one line:

| Date | Description | Amount |
| --- | --- | --- |
| 03/12/2026 | STRIPE TRANSFER | 940.50 |

In QuickBooks, the same payout becomes one deposit with three lines:

| Line | Account | Amount |
| --- | --- | --- |
| Gross sales | Sales income (or a Stripe sales account) | 1,000.00 |
| Stripe fees | Merchant fees (expense) | -29.50 |
| Refund | Sales returns, or the sales account | -30.00 |
| Deposit total | Checking | 940.50 |

The deposit total matches the bank line to the cent, so the bank match works. The income account now shows the full 1,000.00, the fee shows as an expense, and the refund reduces sales.

### Where the numbers come from

Stripe provides three ways to see what is inside a payout: open the payout in the Dashboard, download the payout reconciliation report, or call the API. Use the Dashboard or the report. The payout reconciliation report is meant for this job and lists the transactions in each payout.

One limit is worth knowing. The Stripe guide says that for manual payouts, you control the timing and amount, so Stripe cannot identify which transactions each payout holds, and you must reconcile them yourself. If you use manual payouts, group your transactions by date range and check the sum against the bank deposit.

## Importing a Stripe report alongside the bank statement

Import the bank statement as the record of what reached the bank, and use the Stripe report only as the breakdown. That means you import one file to QuickBooks, the bank file, and you use the Stripe report in a spreadsheet to build the split lines. Two files can then agree without being counted twice.

A workable order for each month:

1. Get the bank statement and bring it into QuickBooks as a bank transaction file. The Stripe payouts arrive as ordinary deposits.
2. Download the Stripe payout reconciliation report for the same period.
3. For each payout, match the report's total to the bank deposit on the review screen. They should agree to the cent.
4. For each payout, record the deposit with the split lines from the report, as in the example above.
5. Add any payout that is still pending at the month end to a note, so you can check it next month.

[Walking through the QuickBooks Online upload screens](/blog/how-to-import-bank-transactions-into-quickbooks-online#walking-through-the-quickbooks-online-upload-screens-step-by-step) covers step one, and [reviewing downloaded bank transactions: match, add or exclude](/blog/how-to-download-bank-transactions-into-quickbooks-online#reviewing-downloaded-bank-transactions-match-add-or-exclude) covers the review in step three.

If the bank statement is only available as a PDF, [Intuit's manual upload page](https://quickbooks.intuit.com/learn-support/en-us/help-article/import-transactions/manually-upload-transactions-quickbooks-online/L0rE9OXBz_US_en_US) says the upload can take the PDF itself, read it, and show the extracted lines next to the statement so you can correct them before saving. [SimpleBankConvert](/) is being built to turn a PDF statement into a CSV you can check in a spreadsheet first, and the [get started page](/get-started) collects your email until accounts open.

### A Stripe file is not the same as a bank file

The Stripe report is organized by Stripe's own transaction types and carries gross, fee and net columns. The bank upload layout has three columns: date, description and amount. A report with gross, fee and net columns does not fit that layout without work. For that reason, treat the report as a source of numbers for the split, not as a file to push through the bank upload screen. For a view across the import routes, see [comparing the ways to import transactions into QuickBooks](/blog/quickbooks-import-transactions-compared).

## Double-counted Stripe income and how to avoid it

Stripe income is double counted when the same money is recorded twice: once as a sale from Stripe's data and once as a deposit from the bank. Each looks reasonable alone. Together they report income at about twice its real size, and the bank account will not reconcile.

### The usual ways it happens

- **Both files imported as income.** The bank deposit is added as income, and the Stripe sales are added as income too.
- **A Stripe app plus a bank feed.** An app posts sales and payouts while the bank feed also brings the payouts. Two deposits then sit in the register for one payout.
- **Fees added twice.** The fee appears as a line in the split and again as a separate bank charge, if your bank also shows Stripe debiting fees.
- **A refund booked as income reversal and as a bank line.** Refunds are inside the payout, so a separate entry doubles the effect.

### How to spot it

Compare the totals. For one month, add up gross sales from Stripe's report. Then look at income in QuickBooks for the Stripe sales account. If QuickBooks shows nearly double, you have duplicate postings. Another sign is a bank account that is out of balance by roughly the size of the sales. A third is a payout that shows two deposits of the same amount on the review screen.

### The rule that prevents it

Choose where income is recorded and stay there. The simple rule for most small businesses: income is recorded from the payout split, once per payout, and nothing else in the books posts Stripe sales as income. If you add an app that posts sales, turn off the other route for the same account.

After a fix, delete the duplicate side, not the one that is matched to the bank. Then recheck: gross sales minus fees minus refunds should equal payouts for the period, allowing for payouts still in transit.

## Do Square transactions follow the same pattern?

Square follows the same pattern in principle, because any payment processor pays out in batches and keeps its fees first. The bank sees a net deposit, and the sales, fees and refunds live in the processor's own reports. The method of splitting a deposit works the same way.

What differs is the report, not the logic. Square names its reports, columns and payout terms in its own way, so check its report for how it shows gross sales, fees and net payout. Whatever the names, look for three things per payout: gross, fees and net. If net equals the bank deposit, the split is right.

So to import Square transactions into QuickBooks Online, import the bank statement for the deposits, then split each deposit using Square's report, exactly as in the Stripe example. Only the source of the numbers changes. The warning about double counting also stays the same: record income once, from either the split or the processor, not both.
