Record Stripe Refunds in QuickBooks Online (Full & Partial)
How to record full and partial Stripe refunds in QuickBooks Online, including Refund Receipt vs Credit Memo, the processing fee that never comes back, and...
Stripe does not deposit what your customer paid. When you refund a charge, Stripe pulls the money back out of your balance, but it keeps the processing fee it charged on the original transaction. If you only look at your bank feed, none of this is visible. You will see a payout number that is smaller than usual, and if you code that payout straight to Sales, your books will be wrong in a way that is hard to spot until month end.
This post explains exactly how to record Stripe refunds in QuickBooks Online: how to record a full refund, how to record a partial refund, when to use a Refund Receipt instead of a Credit Memo, and how the fee that Stripe keeps should actually be treated. If you need the broader payout reconciliation pattern first, start with our complete guide to Stripe payout reconciliation in QuickBooks. This post assumes you already have a Stripe Clearing account set up and goes deep on the one transaction type that trips up most of the questions we get: refunds.
The Short Answer: How a Stripe Refund Hits Your Books
When you refund a Stripe charge, record two things in QuickBooks Online: a Refund Receipt (or a Credit Memo, depending on how the original sale was recorded) for the refunded amount against your Stripe Clearing account, and no change at all to the original processing fee entry. The fee stays on the books exactly as it was recorded on the day of the original charge, because Stripe does not return it. The refund reduces your Stripe Clearing balance by the amount you refunded, and it will show up as a smaller net deposit the next time Stripe pays out.
That is the whole mechanic. The rest of this post covers the decisions and edge cases that make it harder in practice than it sounds in theory.
Why the Fee Doesn't Come Back, and Why That's Correct
Stripe's own documentation is explicit on this: processing fees from the original transaction are not returned when you refund a charge, full or partial. This has been the case for any Stripe account created after September 2017, and Stripe phased out the older refunded-fee behavior for legacy accounts by September 2020. Practically speaking, if your Stripe account is active today, you are not getting the fee back on a standard refund.
This is not a bug in your integration and it is not something to argue with Stripe about. It is also the correct way to book it. Stripe processed the original charge (ran the card, handled the authorization, took on the fraud risk) and that service was rendered regardless of what happened to the sale afterward. The fee is compensation for processing, not a success fee tied to whether the customer keeps the product.
The mistake we see most often: someone notices the payout is short by more than the refund amount, assumes something is broken, and reverses the fee entry to make the math "work." Don't do this. A $100 charge with a 2.9% + $0.30 fee costs $3.20 to process. If you fully refund that $100, your Stripe balance drops by $100, not $96.80. The $3.20 fee was already deducted when the charge settled, and it stays deducted. Your clearing account should show the original $3.20 fee expense on the charge date and a separate $100 refund entry on the refund date. Two entries, two dates, no fee reversal.
If you have not set up the fee side of this yet, our step-by-step guide to reconciling Stripe fees in QuickBooks covers that in depth. This post assumes fees are already landing correctly and focuses on what changes when a refund is layered on top.
Refund Receipt vs. Credit Memo: Which One You Actually Need
QuickBooks Online gives you two different objects for giving money back to a customer, and picking the wrong one creates a mess in Accounts Receivable that is annoying to unwind later. Intuit's own guidance draws the same line we do below: it comes down to whether an invoice and open Accounts Receivable balance exist.
Use a Refund Receipt when there is no open invoice involved. This is the common case for Stripe: a customer paid via Stripe Checkout, a Payment Link, or an embedded card form, the payment was captured immediately, and there was never a QuickBooks invoice or Accounts Receivable balance tied to it. A Refund Receipt debits your Sales/Income account for the refunded amount and credits the account you are refunding from, which for a Stripe refund should be your Stripe Clearing account, not your operating bank account. This mirrors what actually happened: the money left your Stripe balance, not your checking account directly.
Use a Credit Memo when the original sale was an invoice. If you invoiced the customer through QuickBooks and they paid that invoice via Stripe, and now you need to reduce what they owe or issue a credit against a future invoice, a Credit Memo reduces Accounts Receivable instead of your bank or clearing account. A Credit Memo by itself does not move any cash. It just marks the customer's balance as lower.
The mistake that causes real damage: creating a Credit Memo for a Stripe refund that has no underlying invoice. QuickBooks will happily let you do this, and it will quietly build up an Accounts Receivable balance for a customer who does not actually owe you anything and never will, because there was no invoice to apply the credit against. If your AR aging report has customers sitting on old, unapplied credit balances with no invoice history, this is usually why. If you need to actually send cash back to a customer who already has an outstanding invoice credit, apply the Credit Memo to the invoice first; if the customer needs the cash rather than an applied credit, a Refund Receipt against Stripe Clearing is the more traceable path since that is where the money actually came from and went.
Recording a Full Stripe Refund, Step by Step
Here is the concrete flow for a full refund with no invoice involved, which covers the majority of Stripe refunds.
- Issue the refund in Stripe first. In the Stripe Dashboard, go to Payments, open the specific payment, and click Refund payment. Confirm the full amount and pick a reason (duplicate, fraudulent, or requested by customer). Stripe generates a refund ID (starts with
re_) tied to the original charge ID (ch_orpy_). - Open a Refund Receipt in QuickBooks Online. Go to + New, then Customers, then Refund Receipt.
- Set the customer and the refund date to match the date Stripe processed the refund, not the date of the original sale. This matters for your clearing account reconciliation, since Stripe will debit your balance on the refund date, not retroactively on the sale date.
- Select the same product or service item used on the original sale, so your revenue-by-product reporting stays accurate.
- Enter the full refunded amount.
- Set the "Refund From" account to your Stripe Clearing account, the same clearing account you use for charges, fees, and payouts. This is the step people most often get wrong, defaulting to their checking account instead, which makes the clearing account balance stop tying out to Stripe's actual balance.
- Save. Do not touch the original fee entry from the sale. It stays exactly as recorded.
At month end, this refund will appear as a debit in your Stripe Clearing account register, and the next payout transfer from clearing to your bank will be smaller by the refunded amount, which is exactly what should happen.
Recording a Partial Refund
A partial refund works the same way with one difference: only part of the original sale amount moves.
Say a customer paid $150 for a service, you agreed to refund $60 of it, and Stripe charged its usual 2.9% + $0.30 on the original sale ($4.65 in fees). Refund the $60 in Stripe first the same way as a full refund, choosing the specific amount rather than the full charge. In QuickBooks, create a Refund Receipt for $60 against the same product/service item and the same Stripe Clearing account. The original $4.65 fee stays untouched. Your revenue for that sale nets to $90, your fee expense stays at $4.65 (Stripe does not prorate the fee down for a partial refund any more than it does for a full one), and your Stripe Clearing balance reflects a $150 credit and a $60 debit.
If a customer requests multiple partial refunds against the same original charge (fairly common with services billed in stages, or disputed line items on a larger order), record each one as its own Refund Receipt on its own date. Do not batch them into one entry, even if it is tempting to wait and combine them, because each one will hit your Stripe balance on a different date and your clearing account reconciliation will not tie out if the dates don't match Stripe's own records.
How Refunds Show Up Inside a Stripe Payout
Refunds do not create their own separate payout. They net against whatever new charges, fees, and other refunds fall inside the same payout window, typically a rolling two-business-day cycle unless you have a different payout schedule set.
Take a merchant processing this on a Tuesday: eight new charges of $75 each ($600 gross), one full refund of a prior $75 sale, and Stripe fees of $17.70 on the new charges (2.9% x $600 plus 8 x $0.30). Stripe's payout on Thursday nets to $507.30 ($600 minus $75 refund minus $17.70 fees). If you have set up the clearing account pattern from our payout reconciliation guide, each of those pieces (the 8 charges, the 1 refund, the fee expense) already posted to Stripe Clearing on their own dates, and the $507.30 payout is simply a transfer from Stripe Clearing to your operating bank account. Nothing extra to book for the refund at payout time. It already happened when you created the Refund Receipt.
The one case worth calling out separately: if refunds and disputes in a payout window exceed new charges, Stripe produces a negative payout, debiting your bank account instead of depositing to it. Record that as a transfer from your operating bank to Stripe Clearing, in the opposite direction of a normal payout. The refund entries themselves are recorded exactly the same way regardless of which direction the payout goes.
Sales Tax and Refunds
If you collect sales tax through Stripe Tax or calculate it separately and include it on your QuickBooks invoices, refunding the sale should also refund the associated tax, not just the pre-tax amount, otherwise you will over-remit tax you never actually collected from the customer. When you create the Refund Receipt, include the tax line at the same rate and jurisdiction as the original sale rather than refunding a flat dollar amount that happens to match.
Tax treatment on refunds varies by jurisdiction and by whether the original sale and the refund fall in the same filing period, so this is genuinely a case where the right move is to confirm the specific handling with your accountant or your state's Department of Revenue guidance rather than treating any single approach as universal. What is true everywhere: the amount you actually remit should reflect tax on net sales after refunds, not gross sales before them.
Common Refund Mistakes That Break Reconciliation
Reversing or adjusting the original fee entry. Covered above, but worth repeating because it is the single most common error: the fee stays, full stop.
Refunding against the operating bank account instead of Stripe Clearing. This breaks the clearing account's ability to tie out to Stripe's balance report and usually surfaces weeks later as an unexplained variance.
Using a Credit Memo when there was never an invoice. Creates phantom Accounts Receivable balances that accumulate over time and confuse anyone reading your AR aging report.
Dating the refund to the original sale date instead of the actual refund date. Makes your clearing account reconciliation impossible to match against Stripe's payout and balance reports, which are always dated by when the refund actually processed.
Assuming a partial refund prorates the fee. It does not. The full original fee stays recorded regardless of how much of the sale you refund.
Frequently Asked Questions
Does Stripe refund the processing fee when I issue a refund? No, not for any Stripe account created after September 2017, and legacy accounts lost this benefit by September 2020. The fee from the original charge stays recorded as an expense; only the sale amount you refund moves.
Should a Stripe refund reduce my Accounts Receivable? Only if the original sale was an invoice with an open or applied AR balance. If the customer paid Stripe directly with no invoice involved, use a Refund Receipt against your Stripe Clearing account instead, which does not touch AR at all.
What if I refund a subscription payment mid-cycle? Book the original subscription charge and its fee normally, then record the refund as its own Refund Receipt dated to when Stripe actually processed it, exactly like a one-time partial refund. Proration logic in Stripe determines the refund amount; QuickBooks just needs the resulting dollar figure and date.
Do I need to do anything different for a refund tied to a disputed charge that I later win? If you already recorded a refund and the charge is later disputed, that is a separate chargeback flow, not a refund flow. Once a charge is fully refunded, Stripe generally will not allow a further dispute on it, so in most cases these are mutually exclusive paths, not sequential ones. See our guide to handling Stripe chargebacks and disputes for the accounting side of an active dispute.
How do I know if my clearing account is handling refunds correctly? Compare your Stripe Clearing account balance to Stripe's own balance report at month end. If refunds are posted on the correct dates against the correct account, the two should match within the transactions still in transit for the current payout cycle. If they don't match, refunds dated incorrectly or refunded against the wrong account are the first thing to check.
Refunds are one of the more mechanical parts of Stripe to QuickBooks reconciliation once you know the two rules that matter: the fee never comes back, and the account you refund from should be the same clearing account everything else in your Stripe reconciliation runs through. Get those two things right and refunds stop being a source of month end surprises. If you want this handled automatically, including full and partial refunds, subscription proration, and sales tax on refunded amounts, Acodei posts every Stripe refund to QuickBooks the moment it happens, tied to the correct clearing account and dated to match Stripe's own records.
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
Acodei: The Only Stripe-Sanctioned QuickBooks Integration
Acodei Research Team
Acodei: The Only Stripe-Sanctioned QuickBooks Integration
5/2/2026
Acodei Journal
Building Acodei and Kasera
Acodei Content Team
Building Acodei and Kasera
5/1/2026
Acodei Journal
Stripe Payout Reconciliation in QuickBooks: Complete Guide
Acodei Content Team
Stripe Payout Reconciliation in QuickBooks: Complete Guide
5/1/2026
Get more operational finance guides like this one
We will only send high-value product and finance content.