Skip to main content
BlogSeptember 20, 202615 min read

How to reconcile Stripe with QuickBooks Online

Reconcile Stripe payouts in QuickBooks Online: match bundled deposits to invoices, book fees and refunds, and clear undeposited funds.

Zuny FesterBy Zuny Fester, Head of Operations and Marketing
Reviewed by Zuny Fester
Published Editorial policy

Part of the payment reconciliation and cash application guide.

How to reconcile Stripe with QuickBooks Online

To reconcile Stripe with QuickBooks Online, you match each Stripe payout to the single deposit it creates in your bank feed, then break that deposit back into the customer payments, fees, refunds, and disputes it contains. The bank shows one net number. QuickBooks needs the gross sales, the fees as an expense, and every invoice marked paid. Once each payout is expanded into its parts and recorded against a holding account, the bank line matches instead of creating a duplicate, and your bank reconciliation ties.

This guide walks through why the numbers never match on their own, the two recording methods that work, a worked example with real amounts, and how to keep it from breaking every month.

Key takeaways

• A Stripe payout is a settlement batch, not a sale. One bank deposit can contain dozens of charges, fees, refunds, and dispute adjustments, so it will never match a single invoice payment in QuickBooks Online.

• Record Stripe activity gross, then deposit it net. Customer payments land in Payments to deposit (formerly Undeposited Funds) or a Stripe clearing account; the payout clears them with fees and refunds as separate lines.

• Stripe's payout reconciliation report is the source of truth for which transactions sit inside each automatic payout. Instant payouts are the exception: Stripe says it can't identify which transactions they include.

• Intuit's own Stripe connector records a payout as a bank deposit linked to its sales and fees, but it supports only one Stripe account and falls back to a generic "Stripe Sales" item when products don't match by name.

• A Stripe clearing account that ties to your Stripe balance at month-end is the control that proves nothing was missed.

• Loopfour, the deterministic finance workflow automation platform, builds and runs this payout-to-deposit match on your existing Stripe and QuickBooks accounts and routes only the unmatched items to a person.

Why Stripe payouts don't match QuickBooks deposits

Stripe payouts don't match because Stripe pays out a net batch while QuickBooks records gross, individual transactions. Stripe collects charges into your Stripe balance, subtracts its fees and any refunds or dispute withdrawals, and transfers what remains to your bank on a payout schedule. Your bank feed sees one number. Your QuickBooks invoices expect several.

Four differences drive almost every mismatch:

DifferenceWhat Stripe doesWhat QuickBooks Online expects
BatchingGroups many charges into one payoutOne payment per invoice
FeesDeducts processing fees before paying outFull invoice amount received, fees as an expense
Refunds and disputesNets them against the same payoutSeparate refund receipts or credit memos
TimingPays out after the funds become availablePayment date equals the invoice payment date

Timing gaps deserve their own treatment. A card payment taken on the 30th can land in a payout dated the 2nd, which is why your month-end Stripe balance and your bank never agree to the day. That timing gap is a reconciling item, not an error, as long as you can name it.

What you need before you start

You need three inputs: the Stripe payout reconciliation report, your QuickBooks Online open invoices and received payments, and the bank feed for the account Stripe pays into. Everything else is bookkeeping discipline.

• Stripe payout reconciliation report. Stripe's payout reconciliation report groups the transactions in each automatic payout by reporting category (charges, refunds, fees, disputes). The itemized download includes the payout ID, gross, fee, net, and, for Stripe Billing, the invoice ID and number. Stripe notes that this report is available only on automatic payouts, and that for instant payouts it can't identify which transactions are included.

• A holding account in QuickBooks Online. Either the built-in Payments to deposit account (called Undeposited Funds in older files) or a dedicated Stripe clearing account set up as a bank-type account.

• Accounts for fees and adjustments. A merchant fees expense account, and a sales returns or refunds account if you don't issue credit memos for refunds.

Two ways to record Stripe in QuickBooks Online

There are two reliable methods: group payments through Payments to deposit and build each bank deposit by hand, or treat Stripe as its own bank-type clearing account and transfer each payout out of it. Both produce the same ledger. They differ in how much they scale and how easy they are to prove at month-end.

MethodHow it worksBest forWeak spot
Payments to depositReceive each invoice payment into Payments to deposit. Build a bank deposit per payout that selects those payments and adds negative lines for fees and refunds.Low volume, fewer than a few dozen payouts a monthManual deposit building; stuck items pile up unseen
Stripe clearing accountCreate a bank-type account called Stripe Clearing. Payments, fees, refunds, and disputes post to it. Each payout is a transfer from Stripe Clearing to the operating bank account.Growing volume, subscriptions, multiple fee typesNeeds a monthly tie-out of the clearing balance to Stripe

The clearing account method is the one we recommend once volume grows, because the clearing account balance should equal your Stripe balance at any cutoff. If it doesn't, you have a specific number to investigate instead of a vague sense that something is off. This mirrors the structure we describe in the complete guide to reconciling Stripe with NetSuite.

How to reconcile Stripe with QuickBooks Online, step by step

The process runs payout by payout: pull the payout's contents from Stripe, record each component in QuickBooks Online, match the net amount to the bank feed, then tie out the clearing balance. The steps below assume the clearing account method; the Payments to deposit method follows the same logic inside a single bank deposit.

1. Export the payout's contents from Stripe

Start from the payout, not the bank line. In Stripe, open the payout reconciliation report for the period and download the itemized file. Filter to one automatic payout ID. You now have every charge, refund, fee, and dispute that makes up that payout, with gross, fee, and net per line.

2. Record customer payments gross

Apply each charge to its open invoice in QuickBooks Online at the full gross amount. Use Receive payment, select the customer and invoice, and deposit to Stripe Clearing (or Payments to deposit). If you use Stripe Billing, match on the invoice number from the itemized report. If you don't, match on customer and amount, and treat anything ambiguous as an exception rather than a guess.

3. Record fees, refunds, and disputes

Post Stripe fees as an expense out of the clearing account, and record refunds and disputes as their own transactions. Fees go to merchant fees expense. Refunds go through a refund receipt or a credit memo plus refund. A dispute withdrawal reduces the clearing account and sits in a receivable or loss account until it's won or lost. For the variance cases that trip teams up most, see how to record Stripe fees, refunds, and chargebacks so the amounts tie; the accounting logic carries over to QuickBooks.

4. Record the payout as a transfer

Record the payout as a transfer from Stripe Clearing to your operating bank account for the exact net amount. When the bank feed imports the deposit, match it to this transfer instead of adding it as new income. Adding it as income is a common way Stripe revenue gets double-counted in QuickBooks Online.

5. Tie out the clearing account

At month-end, the Stripe Clearing balance should equal your Stripe balance on the same cutoff date. Stripe's balance summary shows the starting balance, activity, payouts, and ending balance for the period. Any difference is either a transaction recorded in one place and not the other, or a timing item you can name.

The full flow, per payout:

Stripe payout → itemized contents → payments applied to invoices → fees and refunds posted → transfer matched to bank feed → clearing balance tied to Stripe.

A worked example with real numbers

Here is one payout reconciled end to end. Amounts are illustrative; your fees depend on your Stripe pricing and payment methods.

Stripe pays $9,414.90 into your bank on September 3. The itemized report for that payout shows:

LineReporting categoryGrossFeeNet
INV-1041, Acme Analyticscharge$4,000.00$116.30$3,883.70
INV-1042, Northwind Labscharge$2,500.00$72.80$2,427.20
INV-1043, Bluepeak Healthcharge$3,300.00$96.00$3,204.00
Refund on INV-1017refund-$100.00$0.00-$100.00
Total$9,700.00$285.10$9,414.90

In QuickBooks Online, that payout becomes four sets of entries:

Customer payments (three Receive payment transactions, deposited to Stripe Clearing)

AccountDebitCredit
Stripe Clearing$9,800.00
Accounts Receivable$9,800.00

Stripe fees (one expense from Stripe Clearing)

AccountDebitCredit
Merchant fees expense$285.10
Stripe Clearing$285.10

Refund (refund receipt paid from Stripe Clearing)

AccountDebitCredit
Sales returns and allowances$100.00
Stripe Clearing$100.00

Payout (transfer, matched to the bank feed line)

AccountDebitCredit
Operating checking$9,414.90
Stripe Clearing$9,414.90

Net effect on Stripe Clearing: $9,800.00 − $285.10 − $100.00 − $9,414.90 = $0.00. The three invoices show as paid in full, the fees sit in expense, the refund is visible, and the bank line matches one transfer. If you use Payments to deposit instead, the bank deposit screen holds the same logic: select the three payments totaling $9,800.00, then add a line of −$285.10 to merchant fees and −$100.00 to sales returns, for a deposit total of $9,414.90.

Does the QuickBooks Stripe connector do this for you?

Partly. Intuit's Stripe connector for QuickBooks Online imports sales, refunds, payouts, and adjustments, and records each payout as a bank deposit that links to its individual sales transactions and fees. Intuit documents that transactions usually appear for review within two hours and that setup can import up to two years of history.

The limits matter for a finance team:

• One Stripe account only. Intuit states the integration doesn't support multiple Stripe integrations at once, which rules it out for multi-entity setups.

• Name-based matching. Customers and products match by name. When they don't, transactions default to a generic "Stripe Sales" line item, which keeps the cash right but erodes revenue detail.

• Review is still yours. Imported transactions land in a review queue. Someone has to approve them, and someone has to notice when a payout doesn't link cleanly.

Third-party sync apps fill some of these gaps with more mapping options and multi-account support. They are good at moving data. The question to ask any of them is the same: when a payout doesn't tie, does the tool stop and tell you, or does it post a plug?

Where Stripe-to-QuickBooks reconciliation breaks

It breaks at the edges: unmatched customers, partial refunds, disputes, instant payouts, and payments recorded twice. These are the items that turn a ten-minute match into an afternoon.

SymptomLikely causeFix
Bank deposit added as income, invoices still openBank feed line categorized instead of matchedExclude or undo the added line, then match to the deposit or transfer
Payments stuck in Payments to deposit for weeksDeposit built without selecting themRebuild the deposit from the payout contents; see
Clearing balance off by a few dollarsFee or dispute adjustment not recordedCompare fee and dispute categories in the payout report to posted expenses
Payout can't be broken downInstant payoutReconcile against the balance report instead of the payout report
Revenue lumped into "Stripe Sales"Connector couldn't match product namesAlign product names or map items before the next sync

If your bank reconciliation still won't balance after the Stripe side ties, work through the usual causes one at a time: timing items, unrecorded bank fees, and transactions entered twice.

Book a workflow review to see your own Stripe payouts matched to QuickBooks Online, with every exception held for approval.

How to automate Stripe and QuickBooks Online reconciliation

Automation should do exactly what the manual process does, payout by payout, and stop when a match isn't certain. The steps above are rule-based: pull the payout, apply each charge to its invoice, post fees and refunds, match the transfer, tie the balance. That makes the process a strong candidate for deterministic automation.

Here is how the workflow runs in Loopfour Studio:

Stripe payout event → pull itemized contents → match each charge to a QuickBooks Online invoice by invoice number, then customer and amount → post fees and refunds to mapped accounts → match the transfer to the bank feed → tie Stripe Clearing to the Stripe balance → exceptions to Slack for approval.

Every rule is set in advance, so the same payout produces the same entries every time. When a charge has no matching invoice, or a customer name doesn't resolve, the run holds that item and posts a Slack approval request with the payout, the charge, and the candidate invoices. Nothing posts on a guess. Each run leaves an execution tree showing inputs, matches, postings, and the named approver for every exception, which is the evidence your auditors ask for.

How to choose a Stripe-to-QuickBooks approach

Match the approach to your volume and to how much your audit depends on the result. A connector is the right answer for simple setups. A governed workflow is the right answer when reconciliation feeds a close that someone signs.

SituationReasonable approach
One Stripe account, low volume, one entityIntuit's Stripe connector with weekly review
Higher volume, need more mapping controlA third-party sync app plus a clearing account tie-out
Multiple Stripe accounts or entities, audited close, subscriptions and disputesA deterministic reconciliation workflow with exception approvals

Connectors and horizontal automation platforms are flexible and quick to set up. They move data well, and for many small teams that is enough. Where they fall short is governance: they sync what they're given and rarely stop to ask.

Loopfour takes the other side of that trade. A connector syncs. Loopfour reconciles, holds anything uncertain, and records who approved it. We build the workflow on your existing Stripe and QuickBooks Online accounts, run it on every payout, and maintain it when either side changes. Our security posture backs the same standard: SOC 2 Type II certified, AES-256 at rest, TLS 1.3 in transit, and your data is never used to train models.

Frequently asked questions

How do I reconcile Stripe payouts in QuickBooks Online? Match each Stripe payout to its bank deposit, then record the payout's contents in QuickBooks Online: customer payments at gross, Stripe fees as an expense, and refunds and disputes as their own transactions. Use Payments to deposit or a Stripe clearing account as the holding account so the net payout clears it exactly.

Should Stripe fees be recorded as an expense in QuickBooks? Yes. Record invoices and customer payments at the gross amount and post Stripe's processing fees to a merchant fees expense account. Recording payments net of fees understates revenue and leaves invoices partially open.

Why is my Stripe revenue double-counted in QuickBooks Online? Double-counting usually happens when the bank feed line for a payout is added as new income while the underlying payments were already recorded. Match the bank line to the existing deposit or transfer instead of categorizing it.

Can I connect more than one Stripe account to QuickBooks Online? Intuit's own Stripe connector supports one Stripe account at a time. Multiple accounts need a third-party sync app or a custom workflow, with a separate clearing account per Stripe account.

What Stripe report should I use to reconcile with QuickBooks? Use the payout reconciliation report if you're on automatic payouts, because it lists every transaction in each payout. If you use manual or instant payouts, use Stripe's balance report and reconcile your clearing account like a bank account.

How do I tell if my Stripe clearing account is correct? Compare the clearing account balance in QuickBooks Online to your Stripe ending balance on the same date. They should match; any difference traces to a specific unrecorded fee, refund, dispute, or payout.

Conclusion

To reconcile Stripe with QuickBooks Online, treat each payout as a batch: pull its contents from Stripe, record the gross payments, fees, and refunds, match the net transfer to the bank feed, and tie the clearing account to your Stripe balance. Do that every payout and the close stops depending on someone's memory of what was in a deposit.

Tell us the one workflow your team dreads. We will show it running — deterministic, permissioned, and auditable.

Book a demo.

Sources

• Stripe: Payout reconciliation report

• QuickBooks: Connect and manage Stripe transactions in QuickBooks Online

• QuickBooks: Manage default and special accounts in your chart of accounts

• How to reconcile Stripe with NetSuite: the complete guide

• Why payments get stuck in Undeposited Funds after a Stripe payout

• How to automate payment reconciliation, step by step

• How to run a three-way match between Stripe, the general ledger, and the bank

• Why Stripe deposit dates never match transaction dates

Sources

  1. Stripe, Payout reconciliation report (opens in a new tab).
  2. Intuit QuickBooks, Stripe connector for QuickBooks Online (opens in a new tab).
  3. Intuit QuickBooks, Manage default and special accounts in your chart of accounts (opens in a new tab).