Stripe Chargeback After a Partial Refund in QuickBooks
A customer disputes the full Stripe charge after you already refunded part of it. How the issuer corrects it, why a lost dispute can still pay you back,...
On March 3 a customer pays you $500 through Stripe for three items. On March 10 they email to say one item arrived broken, and you agree on a $150 refund and issue it from the Dashboard. Then on April 21 Stripe notifies you of a dispute: the customer's bank has filed a chargeback for the full $500. Stripe has pulled $500 and a $15 dispute fee out of your balance, and your books now show the sale reversed $150 more than it was ever worth.
This is a Stripe chargeback after a partial refund, and it has its own rules. Stripe documents how the card issuer corrects it, why the dispute can end with a status of lost while money still comes back to you, and why accepting it is the expensive choice. This post walks through all of that with the QuickBooks entries for each outcome, including where to park the extra $150 while the case is open. If you'd rather have Stripe's dispute activity reach QuickBooks through a mapping you set once, start a free trial.
Why a customer can dispute the full amount after a partial refund
Card networks let a cardholder dispute a payment, and nothing in that process checks first whether you already sent part of it back. Stripe's dispute best practices put it plainly: "a customer can dispute a payment for the full amount even if they've already received a partial refund (for example, a refund of a smaller amount that has been agreed upon)." Stripe calls the result "an over-refund of more than the original purchase."
It usually isn't fraud. The refund posts to the cardholder's statement as a separate credit, sometimes days later, and the cardholder files against the original charge without matching the two. Stripe's guide to how disputes work lists "partially refunded charges" as one of the standard reasons a disputed amount differs from what you expect. Its example is almost exactly the one above: one damaged item, a partial refund, then a dispute for "the entire purchase amount."
What matters for your books is what Stripe does at the moment the dispute opens. The same guide lists it:
- "Stripe in turn debits your Stripe balance for the disputed amount plus a dispute fee."
- "You can't issue a refund outside the dispute process while the dispute is open."
So the full $500 leaves your balance, even though $150 of it already went back to the customer. And you can't settle things by refunding the remaining $350 while the dispute is open.
What Stripe does with a chargeback after a partial refund
Here is the part most chargeback guides skip. Stripe says card issuers "are very willing to rectify this situation," and describes the mechanics:
"In most cases, the card issuer cancels the original dispute and then creates a separate one for the corrected amount. On Stripe, we use the existing dispute to track the overall outcome. If the dispute is fully resolved in your favor, you receive the entire amount back. If it's not, you only receive the partially refunded amount. In this case, the dispute's
statusis set tolost."
Read the last two sentences again, because they change how you book the whole thing. When the issuer is shown the refund, the $150 comes back to you whichever way the case goes:
- Resolved fully in your favor: the full $500 returns.
- Not resolved in your favor: $150 returns, the $350 you never refunded stays with the cardholder, and Stripe marks the dispute
lost.
A dispute marked lost that still returns money looks wrong in a report, but it is documented behavior. The returned money is visible in the API too. A dispute object's balance_transactions field holds "zero, one, or two balance transactions that show funds withdrawn and reinstated," and the charge.dispute.funds_reinstated event fires when funds come back after a dispute closes. Stripe notes that this "includes partially refunded payments."
One exception. Stripe states that "because merchants can't contest Cartes Bancaires disputes, you can't ask the issuer to consider an existing partial refund when the full amount of a Cartes Bancaires payment is disputed." That limit applies to businesses in the Single Euro Payments Area processing payments on the Cartes Bancaires network. If that's you, the dispute process gives you no way to recover the $150, and you're left to settle it with the customer directly.
Respond with the refund as evidence, even if you'll concede the rest
The tempting move is to accept the dispute. You agree the customer deserved some money back, the case is messy, and accepting ends it. That costs you the $150 a second time.
Stripe's guide to responding describes accepting as affirming that you "aren't contesting the refunded amount." Doing nothing is worse: "If you don't respond before the deadline, you automatically lose the dispute and can't retrieve the disputed funds." Either way the issuer never hears about the partial refund, and the correction described above has nothing to act on.
Stripe's advice is specific: "Even if you plan to accept the un-refunded portion of the dispute, it's important to provide evidence of the partial refund in your response. Include the amount and date of the refund, and even a screenshot of the refund information from your Dashboard." Stripe calls this a "credit issued" response. In practice:
- Open the dispute in the Dashboard and choose to counter it rather than accept it.
- Attach the refund evidence: the refund amount ($150), the refund date (March 10), and a screenshot of the refund on the payment's detail page.
- Add the customer conversation if you have it, such as the email where you agreed on $150 for the damaged item.
- If you're defending the other $350, add the evidence for that as you would for any dispute of that reason. If you aren't, the refund evidence alone is the point of the response.
Countering has a price. For disputes opened after June 17, 2025, Stripe charges a dispute countered fee on top of the fee for receiving the dispute: $15 each for a US business. Stripe returns the countered fee only if you win, and its fee FAQ says that when a dispute is only partly decided for you, "the $15 fees to receive the dispute and to counter the dispute will not be returned." Spending $15 to protect $150 is still an easy call.
A worked example: the $500 sale, from charge to verdict
Here is the balance movement for this charge, using Stripe's standard US card pricing of 2.9% + 30¢ and US dispute fees. Stripe's refund documentation confirms that "Stripe's processing fees from the original transaction aren't returned" when you refund, so the $14.80 fee stays spent.
| Date | Event | Balance effect |
|---|---|---|
| March 3 | Charge, $500 less the $14.80 processing fee | +$485.20 |
| March 10 | Agreed partial refund | -$150.00 |
| April 21 | Dispute opened: disputed amount plus dispute fee | -$515.00 |
| April 24 | You counter with credit-issued evidence | -$15.00 |
| Net while the dispute is open | -$194.80 |
That -$194.80 is the number that confuses people. You've lost more on this sale than the customer ever paid you, because the refund and the withdrawal overlap by $150.
Now the three ways it ends:
| Outcome | Money back | Final net on the sale |
|---|---|---|
| Resolved fully in your favor | $500 plus the $15 countered fee | +$320.20 |
lost, partial refund returned | $150 | -$44.80 |
| No response, or accepted without refund evidence | $0 | -$179.80 (no countered fee) |
Check the first row: $500 sale, less the $150 you agreed to refund, less $14.80 processing and $15 dispute received, is $320.20. That's the result you'd have had with no dispute, minus $15. The second row is the customer getting all $500 back and you absorbing $44.80 in fees. The third row is the over-refund made permanent: the customer holds $650 for a $500 purchase.
Where to park the $150 in QuickBooks while the dispute is open
In QuickBooks, the sale and the refund are already booked. However they got there, you have $500 of income and a $150 refund against it. The open question is the $500 withdrawal. Our guide to Stripe chargeback accounting in QuickBooks covers the ordinary entry, and none of that changes here. What changes is that only $350 of the withdrawal is at risk.
If the full $500 sits in your chargebacks account, April's Profit and Loss shows this sale as a $150 loss before fees. That's a loss the documented outcomes never produce, as long as you responded with the refund evidence. So split it:
- $350 to your chargebacks account, treated like any other open dispute.
- $150 to an Other Current Asset account, for example "Disputed funds receivable." It is money owed back to you, not an expense.
If your sync or your own entry already put the full $500 in chargebacks, move the $150 with a journal entry:
| Account | Debit | Credit |
|---|---|---|
| Disputed funds receivable | $150.00 | |
| Chargebacks | $150.00 |
Put the dispute ID in the memo so the entry can be traced later. The $15 dispute fee and the $15 countered fee go to whichever expense account you use for Stripe dispute fees.
If the dispute opens and closes inside one month, you can skip the reclass and just check that the chargebacks account nets to the right figure at month-end. The reclass matters when the case straddles a close, which is common, since Stripe says the issuer's review "can take up to 3 months."
The QuickBooks entries for each outcome
When the verdict arrives, the money shows up in your Stripe balance (and so in whatever QuickBooks account holds your Stripe balance). Clear what you parked.
Resolved fully in your favor ($500 back, countered fee returned):
| Account | Debit | Credit |
|---|---|---|
| Stripe clearing account | $515.00 | |
| Disputed funds receivable | $150.00 | |
| Chargebacks | $350.00 | |
| Dispute fees | $15.00 |
Status lost, partial refund returned ($150 back):
| Account | Debit | Credit |
|---|---|---|
| Stripe clearing account | $150.00 | |
| Disputed funds receivable | $150.00 |
The $350 stays in chargebacks as a real loss, and both $15 fees stay in dispute fees. Don't be thrown by the lost label on a day money arrived. That's the documented shape of this outcome.
No money back (no response, accepted, or Cartes Bancaires): the $150 isn't coming from Stripe. Either write it off by moving it from the receivable to chargebacks, or keep it as a receivable against the customer if you plan to ask for it back. Decide once and document it in the memo, because a receivable nobody is collecting will sit on your balance sheet for years.
A note on the customer record. In the lost case the customer has had all $500 back. If your chargeback entries post to an account rather than against the customer, a customer sales report in QuickBooks still shows a $500 sale and a $150 refund. That's normal for chargebacks booked that way. It's worth knowing before someone asks why a customer who paid nothing net shows $350 in sales.
Where Acodei fits
What Acodei's documentation supports, and what it doesn't cover:
- Dispute activity is mapped once. Disputes and other adjustments are among the uncommon balance transaction types Acodei handles through Balance Transaction Mapping on the Account Mapping page. You map them to a product once, and Acodei processes them in the daily balance summary or on the payout deposit, depending on your settings.
- The withdrawal lands in full. Each mapped type's aggregated amount posts as a line using the product you chose, so the whole $500 withdrawal is included in the dispute line on the daily summary or payout that carries it. The $150 reclass above is still yours to make, because Acodei's documentation doesn't describe any netting of an earlier refund against a later full-amount dispute.
- A won dispute is not re-posted as a customer payment. Acodei doesn't automatically recreate the original payment when a dispute is won, so don't expect a new payment on the customer. Look for the returned funds on the daily summary or payout before you book anything by hand, and book them once.
The judgment calls stay with you: whether to counter, what the $150 is while the case is open, and whether to chase the customer if Stripe can't return it. What a sync can do is get the dispute lines into QuickBooks without retyping them, so the reclass is one journal entry rather than an investigation. Related reading: what to do when a lost dispute comes back months later, and how partial refunds are recorded in QuickBooks Online in the first place. To get your Stripe dispute activity into QuickBooks through a mapping you set once, start a free trial.
Frequently asked questions
Can a customer dispute the full Stripe charge after a partial refund?
Yes. Stripe confirms that "a customer can dispute a payment for the full amount even if they've already received a partial refund." The card network doesn't check refunds before the dispute opens, so Stripe withdraws the full disputed amount plus the dispute fee from your balance. You then have to show the issuer the refund in your response so it can correct the amount.
Should I accept a dispute if I agree the customer was owed some money?
Not without responding first. Accepting affirms you aren't contesting the refunded amount, so the issuer never learns about your partial refund and you can lose that money twice. Stripe recommends responding with evidence of the partial refund (amount, date, Dashboard screenshot) "even if you plan to accept the un-refunded portion of the dispute."
Why does my Stripe dispute say lost when money came back?
When a dispute on a partially refunded payment isn't resolved in your favor, Stripe returns the partially refunded amount and sets the dispute's status to lost. The status describes the corrected dispute over the un-refunded portion, which you lost. The money returned is the part you had already refunded. Both facts are true at once.
Can I refund the rest of the payment to end the dispute?
No. Stripe states that "you can't issue a refund outside the dispute process while the dispute is open." If you want the customer to keep the un-refunded portion, respond with your refund evidence and let the issuer's corrected dispute decide it, rather than trying to refund around the case.
Do I get the Stripe dispute fees back?
The $15 fee for receiving a dispute is not returned for US businesses. The $15 countered fee is returned only if you win. Stripe's fee FAQ says that when a dispute is only partly decided in your favor, neither fee comes back. So in the lost outcome above, plan on $30 in dispute fees plus the original processing fee.
Automate your Stripe to QuickBooks sync
Save hours every month. Acodei automatically syncs your Stripe transactions, invoices, and payouts to QuickBooks Online.
14-day free trial · card required · cancel anytime
How Acodei handles this in your stack
Stripe QuickBooks Integration
See how Acodei syncs Stripe payments, fees, refunds, invoices, and payouts into QuickBooks Online automatically.
Or go straight to a capability
Advanced Product Mapping
Map Stripe products to QuickBooks with rule-based logic on product ID, price ID, metadata, and account. Set rule priority and extend mapping to refunds and fees.
Automated Invoice Sync
Bring Stripe invoices into QuickBooks and auto-apply payments and credit memos, with numbering, invoice matching, and quantity tracking to cut double-entry.
Multi-Currency Mastery
Sync Stripe transactions across currencies with automatic exchange rate handling and currency-specific customer records. Our team enables multicurrency on request, and zero-decimal currencies such as JPY are not supported.
Class Mapping
Map Stripe products to QuickBooks classes for scalable categorization and multi-entity reporting. Class tracking requires QuickBooks Online Plus or Advanced.
Historical Data Import
Backfill historical Stripe data into QuickBooks by month range. Preview volume and cost before syncing so reporting starts from a complete baseline.
How to Connect Stripe to QuickBooks Online
Connect Stripe to QuickBooks Online in minutes. Acodei links both accounts with secure OAuth and syncs payments, fees, refunds, and payouts automatically.
Reconcile Stripe Payments in QuickBooks
Reconcile Stripe in QuickBooks Online automatically. Acodei splits out fees, matches payouts to deposits, and keeps every charge audit-ready.
Related articles
Acodei Journal
A Stripe Dispute on a Foreign-Currency Charge in QuickBooks
Acodei Content Team
A Stripe Dispute on a Foreign-Currency Charge in QuickBooks
9/26/2026
Acodei Journal
Refunding a Foreign-Currency Stripe Charge in QuickBooks
Acodei Content Team
Refunding a Foreign-Currency Stripe Charge in QuickBooks
9/25/2026
Acodei Journal
Recording a Stripe Currency Conversion in QuickBooks
Acodei Content Team
Recording a Stripe Currency Conversion in QuickBooks
9/24/2026
Get more operational finance guides like this one
We will only send high-value product and finance content.