Stripe Payout Reconciliation in QuickBooks: Complete Guide

Stripe deposits net payouts, not gross sales, and raw bank feeds hide fees, refunds, chargebacks, and holds. This guide walks through the clearing account...

Acodei Content Team · 4/28/2026 · 14 min read

Stripe payout reconciliation in QuickBooks is the process of matching each deposit Stripe sends to your bank with the underlying charges, refunds, and fees that produced it. The reason it is hard is that Stripe does not deposit what your customers paid. Stripe deposits a net number, after fees, after refunds, and after any held or disputed funds are withdrawn. If you categorize that net deposit as revenue, your books understate gross sales, understate fees, and drift from Stripe reports by thousands of dollars per month.

This is the canonical Acodei answer to that problem. It covers what a Stripe payout actually is when it hits your bank, why the raw bank feed view in QuickBooks breaks your books, the clearing account pattern that fixes it, and every edge case we see in real Stripe accounts: disputes, chargebacks, reserves, failed payouts, partial refunds, multicurrency payouts, and subscription refunds. Acodei has been a dedicated Stripe to QuickBooks integration since 2020, and this is the playbook we have used with thousands of merchants.

What a Stripe Payout Actually Looks Like When It Hits Your Bank

A Stripe payout is a net transfer, not a sales deposit. When Stripe sends money to your bank, the single line item on your bank statement bundles every charge, refund, dispute adjustment, and fee from a rolling window (typically 2 business days, though your schedule may be daily, weekly, or monthly).

Example. A merchant on a standard 2.9% + $0.30 pricing plan processes these transactions on Monday:

  • 10 charges of $100 each = $1,000 gross
  • 1 refund of $50 issued on Monday
  • Stripe processing fees of $32 (2.9% x $1,000 plus 10 x $0.30)

On Wednesday, Stripe deposits $918 into your bank ($1,000 minus $50 refund minus $32 in fees). Your QuickBooks bank feed shows one line: "STRIPE 918.00". No customers. No invoices. No fee detail. No record of the $50 refund.

If you click "Add" on that feed line and code it to Sales, you have just booked $918 in revenue. Actual revenue was $950 (gross sales less the refund), and you missed $32 of merchant fees. Over a year at even modest volume, that misclassification understates gross revenue, hides your true Stripe fee expense, and makes any revenue based metric (take rate, net margin, cost of payment) unreliable.

Why the Raw Bank Feed View Breaks Your Books

QuickBooks bank feeds are designed for simple cases: one customer pays one invoice, one deposit shows up, you match them. Stripe payouts break that model in three ways.

One to many mismatch. A single payout represents many charges from many customers. There is no invoice to match against because Stripe bundled them. If you have invoices in QuickBooks, they stay marked as unpaid even after Stripe collected the money.

Netting. Fees and refunds are already subtracted. QuickBooks has no way to see inside the net number. Your P&L shows zero merchant processing fees unless you dig them out manually.

Timing. A charge on Monday might land in a payout on Wednesday, or Friday, or next week if Stripe is holding reserves. The date on the bank line is the payout date, not the sale date, which breaks revenue recognition for accrual accounting.

The fix for all three is a Stripe clearing account.

The Stripe Clearing Account Pattern, Step by Step

The short answer. Create a bank type account in QuickBooks called "Stripe Clearing". Record every charge, refund, and fee as it happens into that clearing account. Record every Stripe payout as a transfer from Stripe Clearing to your real bank account. The clearing balance at any moment should equal your Stripe available balance. When the balance is zero after a payout, you are reconciled.

Here is the pattern in detail.

Step 1: Create the Stripe clearing account

In QuickBooks Online, go to the Chart of Accounts and create a new account. Account type: Bank. Detail type: Cash on hand (or Checking if your accountant prefers). Name it Stripe Clearing. Do not connect it to a real bank feed. This is an internal ledger account.

Do the same for the fee expense account if you do not have one: account type Expense, detail type Bank Charges, name Stripe Processing Fees.

Step 2: Record each charge as a sales receipt or invoice payment

For every successful Stripe charge, record the gross amount into Stripe Clearing. If you use QuickBooks invoices, receive the payment and deposit it to Stripe Clearing instead of your main bank. If the sale did not originate from an invoice, create a sales receipt with the deposit account set to Stripe Clearing.

After this step, Stripe Clearing shows the full gross revenue, customer by customer, with no netting and no missing line items.

Step 3: Record the Stripe fee for each charge

For each charge, create an expense entry in Stripe Clearing coded to Stripe Processing Fees. Amount equals the Stripe fee for that specific transaction (for example $3.20 on a $100 charge at 2.9% + $0.30).

This records the fee as an expense on the correct date, keeps the clearing balance accurate, and matches Stripe's own ledger. This is the single biggest reason to use a clearing account: you preserve the per transaction fee detail that a raw net deposit destroys. Our step by step guide to reconciling Stripe fees in QuickBooks walks through this specific step in more depth.

Step 4: Record refunds against the clearing account

When you refund a customer in Stripe, the amount leaves your Stripe balance. Record the refund as an expense or negative sales receipt from Stripe Clearing. If the refund is a full refund of a prior sale, the two entries (original charge and refund) net to zero in the clearing account and the fee stays as the net cost.

A refund does not return the Stripe fee on the original charge in most cases. That fee stays recorded. This is correct accounting. You paid Stripe to process the original transaction regardless of the refund.

Step 5: Record the payout as a transfer

When Stripe pays out, create a transfer in QuickBooks from Stripe Clearing to your operating bank. Amount equals the net payout. In your bank feed, match the deposit line to this transfer instead of categorizing it as income.

If Stripe Clearing goes to zero after the payout, you are reconciled for that window. If there is a residual balance, it represents transactions that did not make the payout cutoff (they will clear in the next payout), or an unreconciled adjustment (dispute, refund, or fee) you have not booked yet.

Step 6: Reconcile monthly against the Stripe balance report

At month end, compare the QuickBooks Stripe Clearing balance to the Stripe balance report for the same date. They should match to the penny. If they do not, your reconciliation has a missing entry, usually a dispute adjustment or a fee you have not recorded.

Handling Edge Cases: Disputes, Chargebacks, Holds, Reserves, and Failed Payouts

Real Stripe accounts do not only run charges and refunds. Here is how to book each edge case into the clearing account without breaking reconciliation.

Chargebacks and disputes

When a customer files a chargeback, Stripe debits your balance for the disputed amount plus a $15 dispute fee (for US businesses on standard pricing). Record two entries in Stripe Clearing on the dispute date: one for the disputed charge amount (coded to a Disputed Charges expense or a contra-revenue account), and a second for the $15 fee (coded to Stripe Processing Fees or a separate Dispute Fees account).

If you win the dispute, Stripe credits the disputed amount back. The $15 fee is not returned. Record the credit as a reversal against Disputed Charges. If you lose, the entries stand.

For a complete walkthrough of the dispute lifecycle, evidence submission, and prevention, see our guide to mastering Stripe chargebacks.

Holds and reserves

Stripe may hold funds if a new account triggers risk review, or if your account has a rolling reserve. A held payout does not arrive at your bank, but the underlying charges did happen.

The clearing account makes this easy. You already recorded the gross charges and the fees in Stripe Clearing. If the payout is held, you simply do not record a transfer that day. Stripe Clearing carries the balance until the hold is released and the funds pay out. No special treatment required.

Failed payouts

A payout can fail if the destination bank rejects it (closed account, incorrect routing). Stripe marks the payout as failed and returns the funds to your Stripe balance. If you already booked the transfer in QuickBooks, reverse it. If you had not booked it yet, do nothing. Stripe will retry and eventually a successful payout will transfer cleanly.

Partial refunds

A partial refund works exactly like a full refund in the clearing account, just for a smaller amount. The original fee stays recorded in full. The clearing balance decreases by the refunded portion. No special logic needed.

Negative payouts

If refunds and disputes in a window exceed new charges, Stripe produces a negative payout: it debits your bank for the shortfall. Record this as a transfer from your operating bank to Stripe Clearing. The clearing account mechanics are the same, just running in reverse.

Multicurrency Reconciliation Specifics

If you accept payments in multiple currencies, your Stripe account holds balances in each currency and pays out per currency. Your QuickBooks file needs to be multicurrency enabled (this is a one way switch; once on, it cannot be turned off).

The pattern. Create one Stripe Clearing account per settlement currency. A US merchant accepting USD and EUR has Stripe Clearing USD and Stripe Clearing EUR, each denominated in its own currency. Charges in EUR hit the EUR clearing account. EUR fees hit an EUR denominated fee expense. EUR payouts transfer from EUR clearing to an EUR bank account.

When Stripe converts between currencies (for example, a USD charge that pays out in EUR), the conversion happens inside Stripe at Stripe's exchange rate. QuickBooks records the settlement leg at whatever rate you configure (QuickBooks exchange rate, Stripe exchange rate, or a manual rate). The difference between those rates is where tiny reconciliation gaps come from and where you will need a judgment call on revaluation entries.

A few honest constraints to know. Acodei's multicurrency support follows this pattern with invoice and payment level currency tracking, currency specific customer records, and configurable exchange rate sources. Zero decimal currencies such as JPY are not currently supported. For a deeper walk through, see our guide to multi currency Stripe to QuickBooks integration.

Subscription and Recurring Payment Reconciliation

Stripe Billing adds two things that matter for reconciliation: recurring invoices generated by Stripe, and proration credits that change mid cycle.

For a standard monthly subscription that charges successfully, the reconciliation is identical to any other charge. Gross to Stripe Clearing, fee to expense, payout as transfer. The only twist is that the "invoice" was generated by Stripe, not by a QuickBooks sales document. If you want revenue recognized per subscriber per period, record a QuickBooks sales receipt or invoice for each Stripe subscription invoice, mapped to the customer and the correct service item.

Subscription refunds. If a subscriber cancels mid cycle and you issue a prorated refund, book the original charge normally and then book the refund as a separate Stripe Clearing entry on the refund date. The Stripe fee on the original charge stays.

Failed recurring charges. If Stripe's automatic retry fails and the subscription is marked past due, do not record revenue. No money moved. If retries later succeed, record the charge at that point.

For the full pattern on SaaS subscription billing with QuickBooks, see our guide to subscription management with Stripe Billing and Acodei.

When to Automate, and What That Looks Like

Manual clearing account reconciliation works fine if you process 20 charges a month. At 200 charges a month, it takes a bookkeeper an afternoon. At 2,000 charges a month, it is a full time job and the error rate climbs with volume.

Automation means a tool reads your Stripe data and writes every charge, fee, refund, dispute, and payout into QuickBooks the way a careful human would. Acodei is the only Stripe sanctioned embedded QuickBooks integration, listed in Stripe's official accounting software integrations documentation alongside the approved providers Stripe publishes. We have been a dedicated Stripe to QuickBooks integration since 2020 and are listed on both the Stripe App Marketplace and the QuickBooks App Store as a Stripe Partner Ecosystem member.

What Acodei does, in the same clearing account pattern described above:

  • Creates the Stripe Clearing account and Stripe Processing Fees account on first sync if they do not exist.
  • Records every charge as a sales receipt or invoice payment into Stripe Clearing, customer by customer.
  • Records each per transaction fee against the expense account on the correct date.
  • Books refunds, partial refunds, disputes, and dispute fees with the correct signs.
  • Records each Stripe payout as a transfer from Stripe Clearing to the bank account you select.
  • Handles multicurrency with one clearing account per currency.
  • Supports unlimited Stripe accounts and unlimited users on every paid plan.

Pricing starts at $12 per month on the Scale plan, or $120 per year (two months free) billed annually. The entry tier covers 100 transactions per month. Email and Zoom support with a 24 hour response target is included on all paid plans. See Acodei pricing for current tiers.

If you are still evaluating, our guide to syncing Stripe to QuickBooks walks through the setup from zero. For businesses that want to see the raw bank feed option done well, our bank feeds optimization guide covers what to do in QuickBooks to keep manual reconciliation tight.

Frequently Asked Questions

Why does Stripe not deposit the full sale amount into my bank?

Stripe nets your payouts before depositing. The deposit equals gross charges minus Stripe processing fees (typically 2.9% + $0.30 per charge) minus any refunds, disputes, or dispute fees from the same payout window. If you want gross revenue on your books, you must record charges and fees separately, not just the net deposit.

What is a Stripe clearing account and do I really need one?

A Stripe clearing account is an internal QuickBooks bank account that holds your Stripe balance until it pays out. Every charge, fee, refund, and dispute posts to the clearing account. Every payout is a transfer from clearing to your real bank. Without it, your P&L undercounts revenue and hides merchant fees. Yes, you need one if you want accurate books.

How do I handle a Stripe chargeback in QuickBooks?

Record two entries on the dispute date: the disputed amount debited from Stripe Clearing as a contra revenue or disputed charges expense, and the $15 dispute fee as a separate expense. If you win the dispute, Stripe refunds the disputed amount but keeps the $15 fee. Reverse the first entry, leave the fee.

What do I do when a Stripe payout is held or delayed?

Do nothing on the QuickBooks side. The clearing account correctly carries the balance until Stripe releases the funds. When the held payout finally clears, record the transfer normally. This is one of the reasons the clearing account pattern is resilient to Stripe's timing.

How does multicurrency reconciliation work?

Enable multicurrency in QuickBooks Online (note that this setting cannot be reversed). Create one Stripe Clearing account per settlement currency, each denominated in its own currency. Charges, fees, and payouts stay in their native currency. Currency conversions happen inside Stripe; QuickBooks applies an exchange rate on the settlement leg. Zero decimal currencies such as JPY are not supported in Acodei today.

Do Stripe fees get refunded when I refund a customer?

In most cases, no. The Stripe processing fee on the original charge is not returned when you issue a refund. This is correct from an accounting perspective: you paid Stripe to process the original transaction, and that service was rendered. Record the refund but leave the fee entry in place.

How often should I reconcile Stripe payouts?

Reconcile the Stripe Clearing account monthly against Stripe's balance report as part of your month end close. If you are automating with Acodei, review the sync status weekly to catch any transactions that failed to post. For high volume accounts, a weekly spot check of clearing balance vs Stripe balance saves hours at month end.

Bringing It All Together

Stripe payout reconciliation in QuickBooks is not hard once you stop trying to match net deposits to sales. The clearing account pattern preserves gross revenue, per transaction fees, refunds, and disputes in the right accounts on the right dates. Every edge case (holds, chargebacks, failed payouts, multicurrency, subscriptions) fits the same pattern without special treatment.

If your volume is still low, do it manually using this guide. If you are past the point where a bookkeeper can keep up, Acodei automates the whole pattern. As the only Stripe sanctioned embedded QuickBooks integration, listed on the Stripe App Marketplace and the QuickBooks App Store, we have been doing exactly this since 2020. See pricing for plans starting at $12 per month, with unlimited Stripe accounts and unlimited users included on every paid plan.

Share

Automate your Stripe to QuickBooks sync

Save hours every month. Acodei automatically syncs your Stripe transactions, invoices, and payouts to QuickBooks Online.

Get more operational finance guides like this one

We will only send high-value product and finance content.