

How to Send Failed Stripe Payment Alerts to QuickBooks with Make
Automatically create follow-up tasks in QuickBooks and notify your finance team when Stripe payments fail.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Teams that need immediate awareness of payment failures with actionable QuickBooks tasks for follow-up.
Not ideal for
Companies that only process a few payments monthly or prefer handling failed payments directly in Stripe.
Sync type
real-timeUse case type
notificationReal-World Example
A 25-person B2B SaaS company uses this to handle their 40-60 monthly payment failures from expired cards and insufficient funds. Before automation, their finance manager checked Stripe manually twice daily and customers often went 2-3 days without follow-up contact. Now failed payments create QuickBooks tasks within 60 seconds, assigned to account managers who can reach out the same day.
What Will This Cost?
Drag the slider to your expected monthly volume.
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
Import this workflow directly into Make
Copy the pre-built Make blueprint and paste it straight into Make. All modules, filters, and field mappings are already configured — you just need to connect your accounts.
Before You Start
Make sure you have everything ready.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Customer Email | data.object.customer.email | |
| Payment Amount | data.object.amount | |
| Failure Reason | data.object.last_payment_error.message | |
| Payment Intent ID | data.object.id | |
| Currency | data.object.currency | |
1 optional field▸ show
| Customer Name | data.object.customer.name |
Step-by-Step Setup
Dashboard > Create a new scenario
Create New Scenario
Set up a new Make scenario to monitor Stripe payment failures. This will be the container for your entire workflow.
- 1Click the blue 'Create a new scenario' button on your dashboard
- 2Click the '?' icon in the first module
- 3Type 'Stripe' in the search box
- 4Select 'Stripe' from the app results
Stripe Module > Watch Events
Configure Stripe Payment Failed Trigger
Set up the webhook trigger that fires when Stripe payments fail. This monitors all payment failure events in real-time.
- 1Click inside the Stripe module
- 2Select 'Watch Events' from the trigger list
- 3Click 'Add' next to Connection and authenticate your Stripe account
- 4Set Event Types to 'payment_intent.payment_failed'
Add Module > Flow control > Router
Add Router Module
Insert a router to split the workflow into two paths: QuickBooks task creation and team notification. This lets you handle both actions from the same trigger.
- 1Click the '+' button after the Stripe module
- 2Click 'Flow control' in the left sidebar
- 3Select 'Router' from the options
- 4Click 'OK' to add the router
Router Path 1 > QuickBooks > Create a Task
Connect QuickBooks to First Route
Add QuickBooks to the first router path to create follow-up tasks. This will generate actionable items for your finance team.
- 1Click the '+' button on the top router path
- 2Search for 'QuickBooks' and select it
- 3Choose 'Create a Task' from the action list
- 4Click 'Add' next to Connection and authorize QuickBooks
QuickBooks Module > Task Configuration
Configure QuickBooks Task Fields
Map Stripe payment data to QuickBooks task fields. This creates detailed tasks with customer and payment information for easy follow-up.
- 1Set Task Name to: 'Failed Payment: ' + Stripe customer name
- 2Set Description to map Stripe error message and payment amount
- 3Set Due Date to 2 days from current date using addDays function
- 4Assign to your finance team member or leave unassigned
Router Path 2 > Email > Send an Email
Add Email Module to Second Route
Configure email notifications for your finance team on the second router path. This ensures immediate awareness of payment failures.
- 1Click the '+' button on the bottom router path
- 2Search for 'Email' and select it
- 3Choose 'Send an Email' action
- 4Add your email connection or use Make's built-in SMTP
Email Module > Email Configuration
Configure Email Notification Content
Set up the email content with relevant payment failure details. Include customer info and failure reason for quick decision making.
- 1Set To field to your finance team email address
- 2Set Subject to: 'Payment Failed: ' + customer email
- 3Map payment amount, failure reason, and customer details to email body
- 4Include link to Stripe dashboard for the specific payment
Module Right-click > Error handling
Set Up Error Handling
Configure error handling for both paths to prevent scenario failures. This ensures one path failure doesn't break the entire workflow.
- 1Right-click the QuickBooks module and select 'Error handling'
- 2Add 'Break' directive to stop processing on QuickBooks errors
- 3Right-click the Email module and add error handling
- 4Set Email errors to 'Continue' so QuickBooks tasks still create
Scenario Settings > Scheduling
Configure Scenario Settings
Set the scenario schedule and data storage options. This controls how often Make checks for new events and how much data it stores.
- 1Click the clock icon at the bottom of the screen
- 2Set scheduling to 'Immediately' for real-time processing
- 3Click the gear icon for scenario settings
- 4Enable 'Store incomplete executions' for debugging
Run once > Execution Results
Test with Sample Data
Run a test execution to verify data flows correctly to both QuickBooks and email. This validates your field mapping before going live.
- 1Click 'Run once' at the bottom left
- 2Wait for the test to complete and check execution results
- 3Verify a task was created in QuickBooks with correct details
- 4Check that the notification email was received
Scenario Toggle > ON
Activate Scenario
Turn on the scenario to start monitoring live Stripe events. Your workflow will now automatically respond to payment failures.
- 1Click the 'OFF' toggle at the bottom left to turn it 'ON'
- 2Confirm the activation in the popup dialog
- 3Monitor the scenario dashboard for incoming executions
Drop this into a Make custom function.
JavaScript — Custom Function{{if(contains(1.data.object.last_payment_error.code; "card_declined"); "High Priority"; "Standard")}}▸ Show code
{{if(contains(1.data.object.last_payment_error.code; "card_declined"); "High Priority"; "Standard")}}... expand to see full code
{{if(contains(1.data.object.last_payment_error.code; "card_declined"); "High Priority"; "Standard")}}Scaling Beyond 200+ failed payments/month+ Records
If your volume exceeds 200+ failed payments/month records, apply these adjustments.
Add Payment ID Deduplication
Use a data store to track processed payment IDs and filter duplicates. Stripe can send the same webhook multiple times during network issues, creating duplicate QuickBooks tasks.
Implement Rate Limit Delays
Add a 2-second sleep module before QuickBooks API calls to avoid hitting their 500 requests/minute limit. Set the QuickBooks module to retry 3 times with exponential backoff.
Batch Email Notifications
Replace individual emails with a scheduled summary email that runs every hour. Use an aggregator to collect failed payments and send one digest instead of 200+ individual alerts.
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
Use Make for this if you need real-time payment failure handling and your team already works in QuickBooks daily. Make's webhook triggers fire within 30 seconds of Stripe events, much faster than Zapier's 2-5 minute polling. The router lets you create both internal tasks and external notifications from one trigger, saving operations. Skip Make if you only need simple email alerts — Stripe's built-in email notifications handle that without automation costs.
This workflow uses 3 operations per failed payment: webhook trigger, QuickBooks task creation, and email send. At 50 failed payments monthly, that's 150 operations fitting Make's free tier. At 200 failures monthly (600 operations), you need Core plan at $9/month. Zapier would cost $20/month for the same volume since webhook triggers require their paid plan. Make saves you $11 monthly plus gives you the router functionality Zapier charges extra for.
Zapier handles QuickBooks authentication better with auto-refresh tokens that rarely break. N8n offers more email customization options including HTML templates and attachment support that Make lacks. But Make's error handling is superior — you can set different failure behaviors for each module, while Zapier either succeeds or fails entirely. For payment failures where QuickBooks tasks matter more than perfect emails, Make's granular error control wins.
You'll hit Stripe's webhook retry logic if Make goes down — Stripe tries 3 times then stops, so you lose events during outages longer than 4 hours. QuickBooks tokens expire every 180 days and Make doesn't warn you beforehand, causing silent failures until you check execution logs. The email module frequently gets flagged as spam because it uses shared IP addresses, so test delivery to your actual finance team addresses before launching.
Ideas for what to build next
- →Add Successful Retry Notifications — Create a second scenario that watches for successful payment_intent.succeeded events and updates the original QuickBooks task to completed status.
- →Implement Customer Communication Workflow — Build a follow-up automation that sends personalized emails to customers with failed payments, including payment retry links and account update instructions.
- →Create Failed Payment Analytics Dashboard — Send failure data to Google Sheets or Airtable to track failure patterns, identify problem payment methods, and measure recovery rates over time.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup