Stripe Chargeback Accounting in QuickBooks
How to record a Stripe chargeback in QuickBooks: the dispute withdrawal, the $15 dispute fee, the refundable counter fee, and the reversal entry if you...
Stripe pulls the disputed amount and a $15 dispute fee out of your balance the moment a customer's bank files a chargeback, and nothing about that shows up cleanly in QuickBooks on its own. If you only look at your bank deposits, the withdrawal looks like nothing: it's not a refund you issued, there's no invoice to credit, and your next Stripe payout is just quietly smaller than it should be. Bookkeepers who don't know to look for it end up with an unexplained variance at month-end close, or worse, they force the numbers to balance by dumping the difference into "miscellaneous expense."
This is Stripe chargeback accounting in QuickBooks: what account to debit, what the $15 dispute fee (and the separate counter fee, if you contest) actually cost you, how to reverse the entry if you win, and why the disputed amount can sit in limbo for months before you know which way it went. If you need the Stripe-side playbook for responding to a dispute and building your evidence, see our guide to handling and preventing Stripe chargebacks. This post picks up where that one leaves off: what happens in your books.
What Happens in Stripe When a Customer Disputes a Charge
When a cardholder disputes a charge, Stripe removes the full disputed amount from your available balance immediately, along with a $15 dispute fee, and holds it while the card network investigates. You don't get advance warning. The first sign is usually a smaller-than-expected payout or a dispute notification in the Stripe Dashboard under Payments > Disputes.
That $15 dispute fee is charged regardless of the outcome. Stripe keeps it whether you win, lose, or don't respond at all, because the card networks bill Stripe for every dispute regardless of how it resolves. If you choose to formally contest the dispute by submitting evidence (through Payments > Disputes > [dispute] > Submit evidence), Stripe charges a separate dispute countered fee, also $15 in the US. Unlike the base dispute fee, the countered fee is refunded to you if the dispute is decided in your favor. If you don't contest and simply accept the loss, you never pay the countered fee at all, only the original $15.
That distinction matters for your books because it means a single dispute can generate one, two, or three separate financial events depending on what you do: the withdrawal of the disputed funds, the non-refundable base fee, and an optional refundable counter fee. Treating all of that as one lump "chargeback expense" line is how reconciliation stops matching later.
How to Record a Stripe Chargeback in QuickBooks When Funds Are Withdrawn
Record the dispute as soon as it appears in Stripe, not when it resolves. If you run your Stripe activity through a clearing account (see our Stripe clearing account setup guide if you don't have one yet), the entry is a straightforward journal entry between two accounts you already have.
First, set up a dedicated expense account for this. In QuickBooks Online, go to Accounting > Chart of Accounts > New, and add an expense account named something like "Stripe Chargebacks" or "Disputed Transactions." Keep it separate from "Stripe Processing Fees" and separate from any bad debt or write-off account you use for uncollected invoices. A chargeback is not the same thing as a customer who never paid: it's a reversal mediated by a card network, with its own fee structure and its own chance of reversal. Mixing the two makes your loss-rate reporting meaningless.
When the dispute hits your Stripe balance, book it as a journal entry (+ New > Journal Entry in QuickBooks Online):
- Debit: Stripe Chargebacks (expense), the disputed charge amount
- Credit: Stripe Clearing, the disputed charge amount
This mirrors what actually happened: money left your Stripe balance and, until the dispute resolves, it's an expense to your business rather than revenue you still hold. Your Stripe Clearing account balance now reflects the reduced Stripe balance, which is exactly what should happen, since the clearing account exists to track what's really sitting in Stripe at any moment.
Put the Stripe dispute ID (visible on the dispute detail page in the Dashboard, something like dp_1AbCdEf...) in the journal entry's memo field. Disputes routinely take weeks to resolve, and by the time you're recording the reversal or confirming a loss, you'll want a fast way to match this entry back to the specific case rather than re-deriving it from the dollar amount and date alone. This is the same audit-trail habit worth using for the fee entries below.
Recording the Stripe Dispute Fee and the Counter Fee
Book the $15 dispute fee as its own line, not folded into the chargeback amount. It behaves differently (it never comes back) and you'll want to report on it separately from the underlying disputed revenue when you're calculating your actual dispute loss rate.
- Debit: Stripe Processing Fees (or a dedicated "Stripe Dispute Fees" sub-account), $15
- Credit: Stripe Clearing, $15
If you decide to contest the dispute, add a second, separate fee entry for the countered fee, tagged distinctly so you can find and reverse it later without touching the non-refundable base fee:
- Debit: Stripe Dispute Fees, Countered (a separate line or class from the base fee), $15
- Credit: Stripe Clearing, $15
Keeping the countered fee on its own line is the whole trick here. If you lump it in with the base dispute fee, you'll either forget to reverse it when you win, or you'll accidentally reverse the wrong $15 and understate a fee that Stripe actually kept.
The Reversal Entry When You Win a Dispute
A won dispute means the card network sided with you and Stripe returns the disputed funds to your balance. It does not mean you get your money back in full. The base $15 dispute fee is never refunded, win or lose. Only the countered fee comes back, and only if you paid one.
When Stripe restores the funds (visible in the Dashboard under Balance > Balance transactions as a dispute-won or chargeback-reversed transaction), reverse the original chargeback entry and, if applicable, the countered fee entry:
- Debit: Stripe Clearing, the disputed charge amount
- Credit: Stripe Chargebacks (expense), the disputed charge amount
- Debit: Stripe Clearing, $15 (only if you paid a countered fee)
- Credit: Stripe Dispute Fees, Countered, $15
Do not reverse the base $15 dispute fee entry. It stays on the books as a real, permanent cost of having been disputed at all, even though you ultimately kept the revenue.
There's usually a short lag between the win showing up in the Stripe Dashboard and the funds actually landing back in your available balance, sometimes a day or two. If you're matching journal entries to bank feed activity rather than posting manually, wait for the balance transaction (labeled as a dispute reversal, not a new charge) before you post the reversal, so the entry date lines up with when the money was genuinely available again rather than when Stripe merely announced the decision.
What Changes in QuickBooks When You Lose a Dispute
Nothing, and that's the point. If you lose, or if you never contested and the dispute auto-resolves against you, no reversal happens. The original journal entry (the disputed amount as a Stripe Chargebacks expense, plus the $15 base fee, plus the $15 countered fee if you contested and lost) stands as-is. The transaction is done.
The only thing left to decide is whether you still owe the customer anything else, like a physical product you already shipped, which is a business decision outside of QuickBooks, not an accounting one. If the customer's payment method already covered a product or service you delivered and can't recover, that's a separate cost-of-goods or inventory-loss conversation, not something to fold back into the chargeback expense line.
Why Disputed Funds Don't Show Up in Your Next Payout
This is the part that confuses people doing manual reconciliation. Stripe doesn't wait for a dispute to resolve before pulling the money out of your balance; it happens the moment the dispute is filed, and resolution can take anywhere from a few weeks to well over 100 days depending on the card network and how much evidence review is involved. During that entire window, the disputed amount is simply gone from your available balance, and your payouts will be smaller by that amount even though nothing has been decided yet.
If you're reconciling by eyeballing "does the payout match the deposit," a dispute in progress will throw that off every single period until it resolves, sometimes for two or three consecutive payout cycles. This is exactly why the journal entry approach above matters: it records the withdrawal at the moment it happens, so your books match your actual Stripe balance in real time instead of waiting for a resolution that might be months away. Our guide to Stripe payout reconciliation in QuickBooks covers the clearing-account mechanics this depends on in more detail if disputes are a regular occurrence for your business.
A Worked Example: One $200 Dispute From Notification to Resolution
A customer disputes a $200 charge, claiming the product never arrived. Here's what happens to the numbers depending on what the business does next.
- The dispute is filed. Stripe immediately debits $200 (the disputed amount) and $15 (the dispute fee) from the business's Stripe balance. $215 is gone from the available balance before anyone has decided anything.
- The business has shipping confirmation and decides to contest. It submits evidence through the Dashboard. Stripe charges an additional $15 countered fee. Total withdrawn from the balance so far: $230.
- Scenario A: the business wins. The card network reverses the dispute. Stripe returns the $200 charge amount and refunds the $15 countered fee. Net cost of this dispute: $15, the non-refundable base fee, even though the business did nothing wrong and won.
- Scenario B: the business loses. No funds are returned. Net cost: $230, the full $200 charge plus both $15 fees, on top of whatever it cost to produce and ship the product in the first place.
- Scenario C: the business doesn't contest at all. No countered fee is ever charged. Net cost: $215, the $200 charge plus the single $15 dispute fee.
Notice that contesting and losing costs $15 more than simply not contesting. That's a legitimate business call (the countered fee is the cost of trying to win back $200), not an accounting error, but it's worth knowing the number before deciding whether disputing a low-dollar chargeback is worth the fee.
Common Mistakes Bookkeepers Make With Stripe Disputes
- Waiting for resolution to record anything. By the time a dispute resolves, two or three payout periods may have already closed with an unexplained variance. Record the withdrawal the moment it happens.
- Booking the disputed amount as a refund, rather than as its own expense. A refund is merchant-initiated; a dispute is bank-initiated, with its own fee structure and its own signal about account risk. Blending the two breaks both rates as reporting metrics.
- Lumping the base dispute fee and the countered fee into one line. When a win comes through months later, it's easy to reverse the wrong amount and end up crediting back $15 too much.
- Treating a lost dispute as bad debt. Bad debt is unpaid receivables you're writing off; a chargeback is a completed transaction reversed through the card network. Keep them in separate accounts.
- Ignoring reserves stacked on top of disputes. A rolling reserve hold plus a dispute withdrawal in the same period can make one payout look wrong for two unrelated reasons. Check Balance > Balance transactions before assuming a single cause.
FAQ
Does a Stripe dispute affect my 1099-K? The original charge still counts toward the gross amount Stripe reports on your 1099-K for the year it was originally processed, because the 1099-K reports gross transaction volume, not net-of-disputes revenue. A dispute that resolves in your favor doesn't retroactively change a prior year's form; it shows up as its own transaction in the period it's reversed.
Is a Stripe dispute the same as a refund for accounting purposes? No. A refund is merchant-initiated and should post to a refunds or contra-revenue account. A dispute is customer or bank-initiated, involves a separate $15 (or $30, if contested and lost) fee structure, and should post to its own chargebacks expense account so the two loss types don't get blended in your reporting.
Do I get the $15 dispute fee back if I win? No. The base dispute fee is non-refundable regardless of outcome. Only the separate counter fee, charged when you formally contest with evidence, is refunded if the dispute is decided in your favor.
How long does a Stripe dispute stay unresolved? It varies by card network and case complexity, but it commonly takes several weeks and can run well past 100 days for cases that go through multiple evidence review cycles. Don't wait for resolution to book the initial withdrawal; record it immediately and reverse it later if you win.
Should I contest every dispute? Not automatically. Contesting costs an extra $15 if you lose, on top of the original charge and base fee. For a low-dollar transaction with weak evidence, accepting the loss can be cheaper than a countered fee you're unlikely to get back. For disputes where you have strong proof (delivery confirmation, signed agreements, matching billing descriptors), contesting is usually worth the risk.
If you'd rather not maintain these entries by hand, Acodei handles disputes without per-dispute journal entries at all: you map disputes once in the Balance Transaction Mapping section of the account mapping page, and from there every dispute and its fee is included on your daily balance summary, or reflected on the payout deposit itself if you track your Stripe balance in Undeposited Funds. Nothing to catch manually before month-end close. See Acodei's plans and pricing or start a 14-day free trial to see it against your own Stripe account.
Automate your Stripe to QuickBooks sync
Save hours every month. Acodei automatically syncs your Stripe transactions, invoices, and payouts to QuickBooks Online.
How Acodei handles this in your stack
Stripe to QuickBooks Integration
Automatically sync Stripe payments, fees, refunds, and payouts to QuickBooks Online. Real-time, accurate, and audit-ready — no manual exports, no spreadsheets.
Advanced Product Mapping
Map unlimited Stripe products, variants, and bundles to QuickBooks with custom tax, discount, and shipping rules for accurate transaction posting.
Automated Invoice Sync
Generate and reconcile Stripe invoices in QuickBooks with full details, multi-currency, and attachments, eliminating double-entry and enabling audit-ready records.
Multi-Currency Mastery
Sync Stripe transactions across currencies with automatic exchange rate handling from Stripe or QuickBooks, currency-specific customer records, and invoice-level multicurrency for global sellers.
Class Mapping
Map Stripe products to QuickBooks classes for scalable categorization and multi-entity reporting, enabling precise insights without manual effort.
Historical Data Import
Backfill years of Stripe data into QuickBooks in minutes, preserving relationships and metadata for seamless continuity.
Related articles
Acodei Journal
Stripe Clearing Account in QuickBooks: Setup Guide
Acodei Content Team
Stripe Clearing Account in QuickBooks: Setup Guide
7/23/2026
Acodei Journal
Record Stripe Refunds in QuickBooks Online (Full & Partial)
Acodei Content Team
Record Stripe Refunds in QuickBooks Online (Full & Partial)
7/22/2026
Acodei Journal
Acodei: The Only Stripe-Sanctioned QuickBooks Integration
Acodei Research Team
Acodei: The Only Stripe-Sanctioned QuickBooks Integration
5/2/2026
Get more operational finance guides like this one
We will only send high-value product and finance content.