TrestleFinance
Stripe & QuickBooks

Handling Stripe Refunds in QuickBooks Online

A comprehensive guide to properly accounting for Stripe refunds in QuickBooks, including the critical detail that processing fees are NOT refunded.

10 min read

⚠️ Critical Information:

Stripe does NOT refund processing fees when you refund a payment. This is the single most important thing to understand about Stripe refunds.

How Stripe Refunds Appear in CSV Exports

When you issue a refund in Stripe, it appears as a separate transaction in your Balance Transaction CSV export. It's not just a reversal of the original charge — it's a new line item.

Example: Original Charge

Transaction IDGrossFeeNetCategory
txn_1ABC123$100.00$3.20$96.80charge

Example: Refund Transaction

Transaction IDGrossFeeNetCategory
txn_1DEF456-$100.00$0.00-$100.00refund

Key observations:

  • Gross: Negative amount (the money being returned to the customer)
  • Fee: $0.00 (Stripe does NOT refund the original $3.20 fee!)
  • Net: Negative amount equal to Gross (since fee is $0)
  • Category: "refund" (helps identify refund transactions)
  • Description: Usually includes "REFUND FOR CHARGE" and references the original transaction

The Critical Fee Behavior

This is where many accountants make mistakes. Let's walk through the actual cash flow of a charge and refund:

Day 1: Customer Pays $100

• Customer pays: $100.00

• Stripe fee: -$3.20 (2.9% + $0.30)

You receive: $96.80

(This gets deposited to your bank when Stripe pays out)

Day 5: You Issue Full Refund

• Refund to customer: $100.00 (you pay this from your Stripe balance)

• Stripe fee refunded: $0.00 (Stripe keeps the $3.20)

Cost to you: $100.00

Net Result:

• Money received: $96.80

• Money paid out: $100.00

Total loss: $3.20 (the Stripe fee you can never get back)

Accounting for Full Refunds in QuickBooks

Full refunds require reversing the original journal entry, but with one critical adjustment: you must account for the lost processing fee.

Journal Entry Example

Original Charge Journal Entry:

AccountDebitCredit
Stripe Clearing (Asset)$96.80
Stripe Processing Fees (Expense)$3.20
Revenue (Income)$100.00
Totals$100.00$100.00

Refund Journal Entry:

AccountDebitCredit
Revenue (Income)$100.00
Stripe Clearing (Asset)$100.00
Totals$100.00$100.00

Note: No fee adjustment! The original $3.20 fee expense stays on your books as a permanent cost.

Why This Matters:

After both entries, your Stripe Processing Fees account shows a $3.20 expense that never gets reversed. This accurately reflects the real cost: you earned $0 in revenue but paid $3.20 in fees.

Your Stripe Clearing account is also reduced by $100, which will be reconciled when Stripe deducts this from your next payout.

Accounting for Partial Refunds

Partial refunds are simpler because you're only reversing part of the revenue. The fee is still not refunded at all.

Example: $100 Charge, $40 Partial Refund

Original Charge (Same as Before):

  • Debit Stripe Clearing: $96.80
  • Debit Stripe Fees: $3.20
  • Credit Revenue: $100.00

Partial Refund Entry ($40):

AccountDebitCredit
Revenue (Income)$40.00
Stripe Clearing (Asset)$40.00
Totals$40.00$40.00

Net Result:

  • Revenue: $60.00 ($100 - $40 refund)
  • Stripe Fees: $3.20 (unchanged - fee is based on original $100 charge)
  • Net Income: $56.80 ($60.00 revenue - $3.20 fees)

Notice that you paid a $3.20 fee on a $100 charge but only kept $60 in revenue. This is accurate and reflects Stripe's policy.

Common Mistakes and How to Avoid Them

Mistake #1: Reversing the Fee Expense

Wrong: Creating a journal entry that credits Stripe Fees $3.20 when you issue a refund.

Why it's wrong: Stripe doesn't give the fee back. Your books would show $0 in fees but you actually lost $3.20.

Mistake #2: Not Recording the Refund at All

Wrong: Ignoring refunds because "they cancel out."

Why it's wrong: Your revenue will be overstated. If you sold $10,000 and refunded $1,000, your revenue should be $9,000, not $10,000.

Mistake #3: Recording Refunds as Negative Revenue

Wrong: Entering -$100 in your revenue account instead of debiting it.

Why it's wrong: This can cause reporting issues. Some accounting software treats negative revenue differently than debits. Always debit revenue for refunds.

Mistake #4: Mixing Refund Types

Wrong: Recording refunds, disputes, and chargebacks the same way.

Why it's wrong: Disputes and chargebacks have additional fees ($15 dispute fee). They should be tracked separately for visibility.

Refunds vs Disputes vs Chargebacks

It's important to understand the difference:

TypeWho InitiatesProcessing FeeDispute Fee
RefundYou (merchant)Not refundedNone
DisputeCustomer (via bank)Not refunded$15 (refunded if you win)
ChargebackCustomer (via bank)Not refunded$15 (not refundable)

Recommended: Create separate expense accounts for dispute fees and chargebacks so you can track how much you're losing to these issues.

How TrestleFinance Handles Refunds

TrestleFinance automatically detects and correctly handles refund transactions:

Automatic Refund Processing:

  • Detects refunds: Identifies transactions with negative gross and reporting_category = refund
  • Reverses revenue correctly: Creates journal entry that debits revenue (not negative credit)
  • Preserves fee expense: Does NOT reverse the original fee entry (accurate representation)
  • Handles partial refunds: Only reverses the refunded amount, not the full charge
  • Links to original charge: Includes description/memo linking refund to original transaction
  • Reconciliation report: Shows refunds separately so you can see total fees lost to refunds

Try It With Your Data:

  1. 1. Export your Stripe Balance Transactions (include refunds in date range)
  2. 2. Upload to TrestleFinance (preview is free)
  3. 3. Review how refunds are converted to journal entries
  4. 4. Verify that fees are correctly NOT reversed for refund transactions
  5. 5. Check the reconciliation report for total refund impact

Frequently Asked Questions

Does Stripe refund processing fees when I refund a payment?

No. Stripe keeps the original processing fee when you issue a refund. If you charged $100 with a $3.20 fee, you received $96.80. When you refund, you pay back $100 but only get $96.80 back from your balance. You lose the $3.20 fee permanently.

How do refunds appear in Stripe Balance Transaction CSV exports?

Refunds appear as separate transactions with negative Gross amount, $0.00 Fee, and negative Net amount. The reporting_category is "refund" and the description usually references the original charge.

What's the difference between a refund and a chargeback in Stripe?

A refund is voluntary - you choose to return the money. A chargeback is when a customer disputes the charge with their bank. Chargebacks incur an additional $15 dispute fee (which is refunded if you win). Both result in losing the original processing fee.

How do I record partial refunds in QuickBooks?

Create a journal entry that debits revenue for the partial amount and credits your Stripe clearing account. Since Stripe doesn't refund fees, there's no fee adjustment. Example: $100 charge with $3.20 fee, you refund $50. Journal entry: Debit Revenue $50, Credit Stripe Clearing $50.

Can I get the processing fee back if the refund was due to fraud or an error?

Generally no. Stripe charges the processing fee when the charge is created, and it's not refunded unless Stripe determines the charge was unauthorized or fraudulent. Contact Stripe support for specific cases, but assume fees are not refundable.

Try TrestleFinance Free

Upload your CSV and see the converted output before paying. 3 free export credits for new accounts.

Upload CSV Now