Intermediate~15 min setupFinance & FinanceVerified April 2026
QuickBooks logo
Stripe logo

How to create failed payment alerts with Power Automate

When a Stripe payment fails, automatically create a follow-up task in QuickBooks and notify your finance team via email.

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

Best for

Small businesses using QuickBooks that need automated follow-up on failed Stripe payments

Not ideal for

Large enterprises needing complex approval workflows or custom reporting dashboards

Sync type

real-time

Use case type

notification

Real-World Example

💡

A 12-person e-commerce company processes 200 payments monthly through Stripe. Before automation, their bookkeeper manually checked for failed payments twice daily and created follow-up tasks in QuickBooks. Now failed payments trigger immediate task creation and email alerts within 30 seconds.

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

Skip the setup

Import this workflow directly into Power Automate

Copy the pre-built Power Automate blueprint and paste it straight into Power Automate. 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.

QuickBooks Online account with admin access to authorize third-party connections
Stripe account with webhook creation permissions in the developer dashboard
Microsoft 365 or Office 365 account for email notifications
Power Automate license (included with most Microsoft 365 plans)

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Customer Email
Payment Amount
Invoice Number
Customer Name
Task Name
2 optional fields▸ show
Failure Reason
Payment Date

Step-by-Step Setup

1

My flows > + New flow > Automated cloud flow

Create new automated flow

Navigate to make.powerautomate.com and sign in with your Microsoft account. Click 'My flows' in the left sidebar, then click '+ New flow' in the top menu. Select 'Automated cloud flow' from the dropdown options. Name your flow 'Stripe Failed Payment Handler' and click Create.

  1. 1Click 'My flows' in left navigation
  2. 2Click '+ New flow' button
  3. 3Select 'Automated cloud flow'
  4. 4Enter flow name 'Stripe Failed Payment Handler'
What you should see: You should see a blank flow canvas with 'Choose your flow's trigger' at the top.
2

Flow canvas > Choose trigger > HTTP

Add Stripe webhook trigger

In the trigger search box, type 'HTTP' and select 'When a HTTP request is received' from Microsoft connectors. This creates a webhook endpoint that Stripe will call when payments fail. Click on the trigger step to expand its settings. Set the HTTP method to POST and leave the relative path blank for now.

  1. 1Type 'HTTP' in the search box
  2. 2Select 'When a HTTP request is received'
  3. 3Click on the new trigger step
  4. 4Set Method to POST
What you should see: You should see an HTTP trigger with a webhook URL that will be generated after saving.
Common mistake — The webhook URL only appears after you save the flow for the first time.
Power Automate
+
click +
search apps
QuickBooks
QU
QuickBooks
Add Stripe webhook trigger
QuickBooks
QU
module added
3

HTTP trigger > Use sample payload to generate schema

Configure Stripe webhook payload

Click 'Use sample payload to generate schema' in the HTTP trigger. Paste this JSON sample that matches Stripe's invoice.payment_failed webhook structure. This tells Power Automate what data to expect from Stripe when a payment fails.

  1. 1Click 'Use sample payload to generate schema'
  2. 2Paste the Stripe webhook JSON sample
  3. 3Click Done to generate the schema
  4. 4Save your flow to generate the webhook URL
What you should see: You should see a webhook URL appear in the HTTP trigger step after saving.
Common mistake — Copy the webhook URL carefully — it expires if you regenerate it, and any scenarios using the old URL will silently stop working.
4

Flow canvas > + New step > QuickBooks Online > Create item

Add QuickBooks connection

Click '+ New step' below the trigger. Search for 'QuickBooks' and select the QuickBooks Online connector. Choose 'Create item' action to create a new task. You'll need to sign in to your QuickBooks account and authorize Power Automate to access your company data.

  1. 1Click '+ New step'
  2. 2Search for 'QuickBooks'
  3. 3Select 'QuickBooks Online' connector
  4. 4Choose 'Create item' action
  5. 5Sign in and authorize QuickBooks access
What you should see: You should see QuickBooks action with dropdown menus for Company and Item Type.
Common mistake — QuickBooks requires admin permissions to create the connection.
5

QuickBooks action > Company > Item configuration

Configure task creation

In the QuickBooks action, select your company from the dropdown. Set Item Type to 'Task' or 'Service' depending on how you track follow-ups. For the Name field, click the dynamic content button and select data from the Stripe webhook like customer email or invoice number to identify the failed payment.

  1. 1Select your company from dropdown
  2. 2Set Item Type to 'Task'
  3. 3Click in Name field and select dynamic content
  4. 4Choose customer email or invoice ID from Stripe data
  5. 5Add description with failure reason
What you should see: You should see dynamic content tokens from the Stripe webhook populating the QuickBooks fields.
6

Flow canvas > + New step > Office 365 Outlook > Send an email (V2)

Add email notification step

Click '+ New step' after the QuickBooks action. Search for 'Office 365 Outlook' or 'Mail' and select 'Send an email (V2)' action. This will notify your finance team when a payment fails and a task gets created in QuickBooks.

  1. 1Click '+ New step' after QuickBooks action
  2. 2Search for 'Office 365 Outlook'
  3. 3Select 'Send an email (V2)'
  4. 4Sign in to your email account if prompted
What you should see: You should see email form fields for To, Subject, and Body.
Common mistake — Use your organization's email connector - Office 365, Gmail, or SMTP.
7

Email action > To/Subject/Body configuration

Configure notification email

Fill in your finance team's email in the To field. For the Subject, type something like 'Failed Payment Alert' and add dynamic content from Stripe like customer name. In the Body, include key details like payment amount, customer info, and mention that a follow-up task was created in QuickBooks.

  1. 1Enter finance team email in To field
  2. 2Type 'Failed Payment Alert -' in Subject
  3. 3Add customer name from dynamic content
  4. 4Write email body with payment details
  5. 5Include link to QuickBooks task if available
What you should see: You should see a complete email template with Stripe payment data merged into the content.
8

Stripe Dashboard > Developers > Webhooks > Add endpoint

Set up Stripe webhook

Copy the webhook URL from your Power Automate HTTP trigger. Log into your Stripe dashboard and go to Developers > Webhooks. Click 'Add endpoint' and paste the Power Automate URL. Select 'invoice.payment_failed' from the events list and click 'Add endpoint' to activate.

  1. 1Copy webhook URL from Power Automate trigger
  2. 2Open Stripe dashboard
  3. 3Navigate to Developers > Webhooks
  4. 4Click 'Add endpoint' and paste URL
  5. 5Select 'invoice.payment_failed' event
  6. 6Click 'Add endpoint' to save
What you should see: You should see the new webhook endpoint listed as Active in your Stripe webhooks dashboard.
Common mistake — Test the webhook with Stripe's testing tools before going live.
9

Power Automate > Flow details > Run history

Test the automation

In Stripe, create a test payment failure by using a card that will decline (like 4000000000000002). Watch your Power Automate flow run history to see if the trigger fires. Check QuickBooks for the new task and your email for the notification. Fix any mapping issues before enabling for production.

  1. 1Create test payment in Stripe with declining card
  2. 2Check Power Automate run history
  3. 3Verify task appears in QuickBooks
  4. 4Confirm notification email arrives
  5. 5Review any error messages
What you should see: You should see a successful run in Power Automate, a new task in QuickBooks, and a notification email.
Common mistake — Use Stripe test mode and test cards to avoid real payment processing during testing.

Add this expression to the QuickBooks task name field to create more informative task titles that include both customer and failure context.

Copy this templateconcat(
▸ Show code
concat(
  'Payment Failed: ',
  triggerBody()?['data']?['object']?['customer_email'],

... expand to see full code

concat(
  'Payment Failed: ',
  triggerBody()?['data']?['object']?['customer_email'],
  ' ($',
  div(triggerBody()?['data']?['object']?['amount_due'], 100),
  ') - ',
  triggerBody()?['data']?['object']?['charge']?['failure_message']
)
Power Automate
▶ Test flow
executed
QuickBooks
Stripe
Stripe
🔔 notification
received

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 n8n for this workflow

Use Microsoft Power Automate for this if you're already in the Microsoft ecosystem and want the webhook to fire immediately when payments fail. The HTTP trigger responds within 10-15 seconds of Stripe sending the webhook, faster than Zapier's 1-2 minute polling. Power Automate also handles the QuickBooks authentication smoothly since Microsoft has a solid partnership with Intuit. Skip this platform if you need complex data transformations or multiple conditional branches — Make handles those scenarios better.

Cost

At 50 failed payments per month, you'll use about 150 Power Automate runs total (webhook + QuickBooks + email for each failure). That fits comfortably in the free tier that comes with Microsoft 365 Business plans. Zapier would cost $20/month for the same volume since failed payments push you past their 100-task free limit quickly. Make offers 1,000 operations free monthly, so either Microsoft option or Make keeps you at $0 for typical small business volumes.

Tradeoffs

Make beats Power Automate on the webhook payload parsing — their JSON module handles nested Stripe data more elegantly than Power Automate's schema generator. Zapier's Formatter tools are cleaner for combining customer name and payment amount into readable task titles. n8n gives you more control over retry logic when QuickBooks API calls fail. Pipedream lets you easily log failed payments to a database for reporting. But Power Automate wins on the QuickBooks connection reliability and the fact that most small businesses already have the license through their Office subscription.

You'll hit two main gotchas after setup. First, Stripe webhook signatures aren't validated by default in Power Automate, so anyone who discovers your webhook URL could potentially spam your flow. Add a Compose action to verify the Stripe signature header if security matters. Second, QuickBooks Online sometimes changes their required fields without warning — a task creation that worked last month might suddenly need a Category or Class field, causing your entire flow to fail until you update the mapping.

Ideas for what to build next

  • Add SMS alerts for high-value failuresUse Twilio connector to text finance team when failed payments exceed $500 threshold.
  • Create follow-up reminder flowBuild scheduled flow to check QuickBooks tasks and email reminders for unresolved payment failures after 3 days.
  • Sync resolution back to StripeWhen QuickBooks task is marked complete, automatically update the Stripe invoice with notes or retry payment collection.

Related guides

Was this guide helpful?
QuickBooks + Stripe overviewPower Automate profile →