Shopify Refunds in QuickBooks: How to Record Correctly (2025)
Refunds are inevitable in e-commerce. The question is: are you recording them correctly in QuickBooks? This guide covers full refunds, partial refunds, restocking fees, and the accounting nightmare that is chargebacks.
Types of Shopify Refunds
Not all refunds are created equal. Shopify handles several refund scenarios:
Refund Types in Shopify
| Type | Description | Shopify Export Shows |
|---|---|---|
| Full Refund | Entire order amount returned |
Financial Status: refunded
|
| Partial Refund | Some items or partial amount |
Financial Status: partially_refunded
|
| Restocking Fee | Refund minus fee | Refund amount < original |
| Refund to Gift Card | Store credit issued | Payment method: gift_card |
| Exchange | Return + new order | Two separate transactions |
Each type requires different QuickBooks treatment.
QuickBooks Refund Options
QuickBooks offers multiple ways to record refunds. Here's when to use each:
Option 1: Refund Receipt
Use when: You issued a refund AND returned money to the customer's payment method.
Path: + New → Refund Receipt
Effect: Reduces sales revenue, creates negative transaction in bank feed
Option 2: Credit Memo
Use when: You're giving store credit (not returning money) or need to apply credit to future invoice.
Path: + New → Credit Memo
Effect: Creates credit balance on customer account
Option 3: Journal Entry
Use when: Complex scenarios like cross-period refunds or chargeback fees.
Path: + New → Journal Entry
Effect: Direct GL adjustment
Which QuickBooks Method to Use
| Scenario | Recommended Method | Why |
|---|---|---|
| Full refund, same month | Refund Receipt | Clean reversal, matches bank |
| Partial refund | Refund Receipt (partial amount) | Shows exact refund amount |
| Refund to gift card | Credit Memo | No bank transaction |
| Chargeback | Refund Receipt + Expense | Need to track fee separately |
| Cross-period refund | Journal Entry | Proper period matching |
Recording a Full Refund
Full Refund Steps
Create Refund Receipt
In QuickBooks, go to + New → Refund Receipt
Select customer
Choose the customer (or use 'Shopify Customer' for guest checkouts)
Enter order reference
Enter the original order number in Reference field
Add line items
Add line items matching the original sale
Set refund date
Should match Shopify refund date
Choose payment method
Select the payment method/account
Save
Review and save the refund receipt
Converted Refund Data
RefNumber: 1001-REFUND
TxnDate: 01/15/2025
Customer: John Smith
TotalAmount: -149.99
Memo: Refund for order #1001
Recording Partial Refunds
Partial refunds are trickier because you need to show:
- The original sale amount
- The partial refund amount
- The net revenue
Option A: Separate Refund Transaction (Recommended)
- Keep the original Sales Receipt as-is
- Create a Refund Receipt for the partial amount
- Reference the original order in the memo
Pros: Clear audit trail
Cons: Two transactions for one order
Option B: Edit Original Transaction (Same Month Only)
- Find the original Sales Receipt
- Reduce the line item amounts to post-refund values
- Add note explaining the adjustment
Pros: Single transaction
Cons: Loses audit trail, only works for same-month refunds
Refunds with Restocking Fees
When you charge a restocking fee, the customer gets less back than they paid:
Example
- Original order: $100.00
- Restocking fee: $15.00 (15%)
- Refund issued: $85.00
Recording in QuickBooks
- Create Refund Receipt for $85.00 (amount actually refunded)
- The $15.00 restocking fee is income you keep
- Two options for the fee:
- Simple: Don't record separately (original $100 sale - $85 refund = $15 net revenue)
- Detailed: Create "Restocking Fee Income" account, add as positive line item on refund
Restocking Fee Journal Entry (Detailed Method)
| Account | Debit | Credit |
|---|---|---|
| Bank Account (refund out) | $85.00 | |
| Sales Revenue (reversal) | $100.00 | |
| Restocking Fee Income | $15.00 |
This method shows restocking fees as a separate income line in your P&L.
Recording Chargebacks
Chargebacks are the worst-case refund scenario. The customer disputes the charge with their bank, and you lose:
- The sale amount
- A chargeback fee ($15-25 typically)
- Sometimes the product too
Chargeback Timeline
Dispute filed
Customer contacts their bank
Provisional credit
Bank refunds customer immediately
Notification
Shopify alerts you (email + admin)
Response period
You have 7-21 days to submit evidence
Decision
Bank rules in favor of merchant or customer
Final
If you lose, funds + fee deducted from your payout
Chargeback Recording Example
| Transaction | Type | Amount | Account |
|---|---|---|---|
| Original sale | Sales Receipt | $150.00 | Sales Income |
| Chargeback refund | Refund Receipt | -$150.00 | Sales Income |
| Chargeback fee | Expense | $15.00 | Bank Fees |
Net effect: -$15 (the fee). You returned the sale but still pay the fee.
Recording Won Chargebacks
If you successfully dispute a chargeback:
- The sale amount is not deducted (no refund needed)
- The provisional hold is released
- You may still pay a reduced fee in some cases
QuickBooks Treatment
If you haven't recorded anything yet: do nothing. The original sale stands.
If you already recorded a refund (jumped the gun): reverse it with a Journal Entry or delete the refund transaction.
Refund Timing and Period Matching
The Problem
Sale in December, refund in January. Which month takes the hit?
Accounting Principle
Technically, refunds should reduce revenue in the period of the original sale (matching principle). But for small businesses, this creates complexity.
Practical Approach by Volume
| Monthly Refunds | Recommended Approach |
|---|---|
| Under $1,000 | Record in month they occur (simpler) |
| $1,000+ or seasonal | Consider accrual-based refund reserve |
| Year-end (Dec→Jan) | Adjust December books for tax purposes |
Need to import refunded orders from Shopify?
Convert with Refund Handling