Beginner~8 min setupFinance & FinanceVerified April 2026
QuickBooks logo
Stripe logo

How to Record Stripe Refunds in QuickBooks with Zapier

Automatically create credit memos in QuickBooks whenever Stripe processes a refund to keep your accounting accurate.

Steps and UI details are based on platform versions at time of writing β€” check each platform for the latest interface.

Best for

Small businesses processing under 200 refunds monthly who want automatic QuickBooks credit memo creation without coding

Not ideal for

High-volume merchants needing real-time sync or complex refund approval workflows before accounting entry

Sync type

polling

Use case type

sync

Real-World Example

πŸ’‘

A 12-person e-commerce startup uses this to automatically record their 30-40 monthly Stripe refunds as QuickBooks credit memos. Before automation, their bookkeeper manually created credit memos twice weekly, often missing refunds that happened over weekends. This caused month-end reconciliation headaches when Stripe deposits didn't match QuickBooks revenue reports.

What Will This Cost?

Drag the slider to your expected monthly volume.

/mo
505005K50K

Each platform counts differently β€” Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.

Prices shown for annual billing. Based on published pricing as of April 2026.

Estimated ROI

1000

min saved/mo

$583

labor value/mo

Free

no platform cost

Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.

Implementation

Before You Start

Make sure you have everything ready.

Active Stripe account with refund processing enabled
QuickBooks Online subscription (not Desktop version)
Matching customer records between Stripe and QuickBooks
Zapier account with available task credits
Admin access to both Stripe and QuickBooks accounts

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Customer Emailcustomer.email
Refund Amountamount_refunded
Charge Descriptiondescription
Stripe Charge IDid
Refund Datecreated
1 optional fieldβ–Έ show
Customer Namecustomer.name

Step-by-Step Setup

1

Dashboard > Create Zap > Choose App & Event

Create new Zap with Stripe trigger

Start a new Zap and select Stripe as your trigger app. Choose the 'Charge Dispute' or 'Invoice Payment Failed' event since Stripe doesn't have a dedicated refund trigger - you'll filter for refunds in the next step.

  1. 1Click 'Create Zap' from your Zapier dashboard
  2. 2Search for 'Stripe' in the trigger app selector
  3. 3Select 'Charge Dispute' from the trigger event dropdown
  4. 4Click 'Continue' to proceed to connection setup
βœ“ What you should see: You should see the Stripe trigger configured with 'Charge Dispute' selected as the event type.
⚠
Common mistake β€” Don't select 'New Charge' - that triggers on payments, not refunds, and you'll get flooded with irrelevant data
Zapier
+
click +
search apps
QuickBooks
QU
QuickBooks
Create new Zap with Stripe t…
QuickBooks
QU
module added
2

Trigger > Stripe > Account Connection

Connect your Stripe account

Authenticate with Stripe using your API keys. Zapier needs read access to pull refund data from your Stripe account.

  1. 1Click 'Sign in to Stripe' button
  2. 2Enter your Stripe account credentials
  3. 3Authorize Zapier to access your Stripe data
  4. 4Select your Stripe account from the dropdown if you have multiple
βœ“ What you should see: Green 'Connected' badge appears next to your Stripe account name in the connection panel.
Zapier settings
Connection
Choose a connection…Add
click Add
QuickBooks
Log in to authorize
Authorize Zapier
popup window
βœ“
Connected
green checkmark
3

Zap Steps > + > Filter by Zapier

Add filter for refund events

Since Stripe's webhook sends all dispute events, add a filter to only proceed when the event type is actually a refund. This prevents credit memos for chargebacks or other disputes.

  1. 1Click the '+' button between trigger and action steps
  2. 2Select 'Filter by Zapier' from the app list
  3. 3Set condition to 'Reason' 'Exactly matches' 'refund_requested'
  4. 4Click 'Continue' to save the filter
βœ“ What you should see: Filter step shows 'Only continue if Reason exactly matches refund_requested' in the step summary.
⚠
Common mistake β€” Don't use 'Contains' matching - Stripe sends various dispute reasons and you'll catch unrelated events
QuickBooks
QU
trigger
filter
Condition
matches criteria?
yes β€” passes through
no β€” skipped
Stripe
ST
notified
4

Zap Steps > + > QuickBooks Online > Create Credit Memo

Add QuickBooks action step

Set up QuickBooks as your action app to create the credit memo. Choose 'Create Credit Memo' since this matches the accounting treatment for refunds.

  1. 1Click '+' to add an action step after your filter
  2. 2Search for 'QuickBooks Online' in the app selector
  3. 3Select 'Create Credit Memo' from the action event list
  4. 4Click 'Continue' to proceed to account connection
βœ“ What you should see: QuickBooks Online appears as your action step with 'Create Credit Memo' configured.
⚠
Common mistake β€” Don't confuse 'Create Credit Memo' with 'Create Refund Receipt' - credit memos reduce A/R while refund receipts are for cash transactions
5

Action > QuickBooks Online > Account Connection

Connect QuickBooks Online

Authenticate with your QuickBooks company file. Zapier needs write permissions to create credit memos in your accounting system.

  1. 1Click 'Sign in to QuickBooks Online'
  2. 2Choose your company from the QuickBooks login screen
  3. 3Grant Zapier permission to access your QuickBooks data
  4. 4Verify the correct company appears in the connection dropdown
βœ“ What you should see: Your QuickBooks company name shows with a green 'Connected' status indicator.
⚠
Common mistake β€” Make sure you're connecting to your live company file, not a sandbox - Zapier can't sync data between QB environments
6

Action > QuickBooks Online > Credit Memo Fields > Customer

Map customer information

Link the Stripe customer to the corresponding QuickBooks customer. This ensures the credit memo applies to the right customer account.

  1. 1Click in the 'Customer' field in the credit memo form
  2. 2Select 'Customer Email' from the Stripe trigger data
  3. 3Set 'Customer Display Name' to map to Stripe's customer name field
  4. 4Choose 'Find existing customer' for the customer lookup method
βœ“ What you should see: Customer field shows mapped Stripe data with 'Customer Email' and lookup method configured.
⚠
Common mistake β€” QuickBooks matches customers by email - if your Stripe customer emails don't match QB exactly, the lookup will fail
QuickBooks fields
DocNumber
CustomerRef.name
TotalAmt
Balance
DueDate
available as variables:
1.props.DocNumber
1.props.CustomerRef.name
1.props.TotalAmt
1.props.Balance
1.props.DueDate
7

Action > QuickBooks Online > Credit Memo Fields > Line Items

Configure line item details

Set up the credit memo line items to reflect the refunded amount and description. Map the refund amount and original charge description from Stripe.

  1. 1Click in the 'Line 1 Description' field
  2. 2Map to 'Charge Description' from your Stripe trigger data
  3. 3Set 'Line 1 Amount' to the 'Amount Refunded' field from Stripe
  4. 4Leave 'Line 1 Item' blank unless you track specific products
βœ“ What you should see: Line item section shows Stripe charge description and refund amount mapped to the credit memo fields.
⚠
Common mistake β€” Use 'Amount Refunded' not 'Amount' - Stripe amounts are in cents so partial refunds will show the wrong value if you map the original charge amount
8

Action > QuickBooks Online > Credit Memo Fields > Accounting

Set accounting categories

Assign the credit memo to the correct income account to properly categorize the refund. This should match the account used for the original sale.

  1. 1Click the 'Line 1 Account' dropdown
  2. 2Select your main income/revenue account
  3. 3Set 'Tax Code' to match your original sales tax treatment
  4. 4Leave 'Class' and 'Location' blank unless required
βœ“ What you should see: Account field shows your selected income account with tax settings configured.
⚠
Common mistake β€” Don't use an expense account here - credit memos should reduce income, not create expenses, or your P&L will be wrong
9

Action > QuickBooks Online > Credit Memo Fields > Additional Details

Add reference information

Include the Stripe charge ID in the memo field so you can trace the credit memo back to the original payment. This helps with reconciliation and customer inquiries.

  1. 1Click in the 'Memo' field at the bottom of the form
  2. 2Type 'Stripe Refund: ' followed by the Charge ID from trigger data
  3. 3Set 'Credit Memo Date' to 'Created' timestamp from Stripe
  4. 4Leave 'Credit Memo Number' blank to auto-generate
βœ“ What you should see: Memo field shows 'Stripe Refund: ch_xxxxx' with the actual charge ID mapped from Stripe data.
⚠
Common mistake β€” Don't use today's date - use Stripe's created timestamp so the credit memo date matches when the refund actually happened
10

Action > QuickBooks Online > Test & Continue

Test the integration

Run a test to verify the credit memo creates correctly in QuickBooks with all the mapped Stripe data. This catches field mapping issues before you go live.

  1. 1Click 'Test & Continue' at the bottom of the action step
  2. 2Review the test credit memo data in the results panel
  3. 3Open QuickBooks and verify the test credit memo appeared
  4. 4Check that customer, amount, and memo details are correct
βœ“ What you should see: Test results show 'Success' with a QuickBooks credit memo ID, and the actual credit memo appears in your QB company file.
⚠
Common mistake β€” The test creates a real credit memo in QuickBooks - delete it manually if you don't want test data in your live books
Zapier
β–Ά Turn on & test
executed
βœ“
QuickBooks
βœ“
Stripe
Stripe
πŸ”” notification
received
11

Zap Settings > Error Handling

Configure error handling

Set up error notifications so you know if refunds fail to sync. QuickBooks API errors are common when customer data doesn't match exactly.

  1. 1Click 'Settings' in the Zap header menu
  2. 2Scroll to 'Error Handling' section
  3. 3Select 'Send email notification' for failed Zaps
  4. 4Add your email address to receive error alerts
βœ“ What you should see: Error handling shows 'Email notification enabled' with your email address listed.
⚠
Common mistake β€” Don't set errors to 'Skip' - failed refund syncs create accounting discrepancies that you need to catch and fix manually
12

Zap Header > On/Off Toggle

Turn on the Zap

Activate your automation to start syncing Stripe refunds to QuickBooks. The Zap will check for new refunds every 15 minutes on paid plans.

  1. 1Click the toggle switch in the top right to 'On' position
  2. 2Confirm activation in the popup dialog
  3. 3Review the 'Zap History' tab to monitor for successful runs
  4. 4Set a calendar reminder to check the integration weekly
βœ“ What you should see: Zap status shows 'On' with a green indicator, and you should see 'Waiting for data' in the Zap History.
⚠
Common mistake β€” Zapier's free plan has 15-minute delays - refund credit memos won't appear in QuickBooks immediately after processing in Stripe

Drop this into a Zapier Code step.

Copy this template{{amount_refunded__value}}/100
β–Έ Show code
{{amount_refunded__value}}/100

... expand to see full code

{{amount_refunded__value}}/100

Scaling Beyond 200+ refunds/month+ Records

If your volume exceeds 200+ refunds/month records, apply these adjustments.

1

Add rate limit delays

Insert 'Delay by Zapier' steps between QuickBooks actions to avoid hitting the 500 requests/hour API limit. Set 10-15 second delays for volumes over 200 monthly refunds.

2

Batch process during business hours

Use 'Schedule by Zapier' to queue refunds and process them during 9-5 when QuickBooks API limits reset. This prevents weekend refund backlogs from failing Monday morning.

3

Consider QuickBooks Advanced

Upgrade to QB Advanced for higher API rate limits (1000/hour vs 500/hour) if you regularly hit timeout errors during high refund periods like Black Friday.

Going live

Production Checklist

Before you turn this on for real, confirm each item.

Troubleshooting

Common errors and how to fix them.

Frequently Asked Questions

Common questions about this workflow.

Analysis

VerdictWhy Zapier for this workflow

Use Zapier for this if you process under 200 refunds per month and your team doesn't want to code custom webhooks. The setup takes 15 minutes and runs automatically after that. Your credit memos appear in QuickBooks within 15 minutes of the Stripe refund. Skip Zapier if you need real-time sync β€” go direct with Stripe webhooks to a custom endpoint instead.

Cost

This workflow uses 2 tasks per refund: one for the Stripe trigger and one for the QuickBooks credit memo creation. At 50 refunds per month, that's 100 tasks monthly. The Zapier Professional plan at $19.99 covers 750 tasks, so you're well within limits. Make would cost $9/month for the same volume with their Core plan. N8n self-hosted is free but requires server maintenance. Make saves you $11 monthly if cost matters more than convenience.

Tradeoffs

Make handles QuickBooks rate limiting better with built-in delays between API calls β€” Zapier can hit the 500/hour limit if you process refunds in batches. N8n gives you more control over error handling and retry logic when QuickBooks API calls fail. But Zapier's guided setup means you'll have this running today instead of spending a weekend reading API docs. Most small businesses value the time savings over the extra features.

You'll hit QuickBooks' customer matching quirks fast. If Stripe customer emails have extra spaces or different capitalization than QuickBooks, lookups fail silently. Stripe sends amounts in cents but QuickBooks expects dollars β€” easy to miss until you see $500 refunds as $5.00 credit memos. The Zapier trigger checks every 15 minutes, so refunds that happen Friday night don't show up in QB until Monday morning. Plan your month-end close accordingly.

Ideas for what to build next

  • β†’
    Add Slack notifications for large refunds β€” Create a second Zap that sends Slack alerts when refunds exceed a dollar threshold so your team knows about significant credits immediately.
  • β†’
    Sync credit memo applications back to Stripe β€” Build a reverse integration that updates Stripe customer notes when credit memos get applied to invoices in QuickBooks for complete audit trails.
  • β†’
    Create monthly refund summary reports β€” Set up a scheduled Zap that pulls monthly credit memo data from QuickBooks and emails a refund summary to your finance team.

Related guides

Was this guide helpful?
← QuickBooks + Stripe overviewZapier profile β†’