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

How to Auto-create QuickBooks Invoices from Stripe Payments with Make

Automatically generate QuickBooks invoices when Stripe payments succeed, including customer details, amounts, and payment methods.

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

Best for

E-commerce businesses processing 50+ payments monthly who need immediate invoice generation for accounting accuracy.

Not ideal for

Companies using QuickBooks Desktop or businesses that manually customize each invoice with specific terms and conditions.

Sync type

real-time

Use case type

sync

Real-World Example

πŸ’‘

A 25-person SaaS company uses this to instantly create QuickBooks invoices when customers upgrade their subscriptions through Stripe. Before automation, their accounting team spent 2 hours daily entering invoice data manually, often with transcription errors that required corrections. Now invoices appear in QuickBooks within 30 seconds of payment completion with perfect accuracy.

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 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.

QuickBooks Online subscription with invoice creation permissions
Stripe account with webhook endpoint configuration access
Make account with QuickBooks and Stripe app access
Chart of accounts set up in QuickBooks for income categorization
Payment methods configured in QuickBooks (Credit Card, Bank Transfer, etc.)

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Customer Emailcustomer.email
Customer Namecustomer.name
Payment Amountamount_received
Payment Descriptiondescription
Payment Datecreated
3 optional fieldsβ–Έ show
Payment Methodpayment_method.type
Stripe Payment IDid
Billing Addressbilling_details.address

Step-by-Step Setup

1

Dashboard > Create scenario > Add module

Create New Scenario

Start building your Stripe-to-QuickBooks automation in Make. This creates the container for your entire workflow.

  1. 1Click the blue 'Create a new scenario' button on your Make dashboard
  2. 2Click the large '+' circle in the center of the canvas
  3. 3Search for 'Stripe' in the app selector
  4. 4Select 'Stripe' from the results list
βœ“ What you should see: You should see a Stripe module placed on the canvas with configuration options on the right panel.
2

Stripe module > Trigger settings

Configure Stripe Payment Webhook

Set up Make to listen for successful Stripe payments. This webhook fires instantly when customers complete payments.

  1. 1Select 'Watch Events' from the Stripe trigger options
  2. 2Click 'Add' next to Connection to create your Stripe connection
  3. 3Paste your Stripe webhook endpoint secret from your Stripe dashboard
  4. 4Set Event Types to 'payment_intent.succeeded'
  5. 5Click 'OK' to save the trigger configuration
βœ“ What you should see: The Stripe module shows 'payment_intent.succeeded' as the selected event and displays a green connection badge.
⚠
Common mistake β€” Don't use 'charge.succeeded' β€” Stripe deprecated this for Payment Intents API and you'll miss modern payment flows.
3

Scenario canvas > Run controls

Test Stripe Connection

Verify Make can receive Stripe payment data. This populates sample data for mapping to QuickBooks fields.

  1. 1Click 'Run once' button at the bottom left of the scenario
  2. 2Go to your Stripe dashboard and create a test payment
  3. 3Return to Make and wait for the webhook to trigger
  4. 4Click on the Stripe module to view the captured payment data
βœ“ What you should see: You should see payment data including amount, customer email, payment method, and description in the module output.
⚠
Common mistake β€” Use Stripe's test mode β€” production payments will create real QuickBooks invoices during testing.
Make
β–Ά Run once
executed
βœ“
QuickBooks
βœ“
Stripe
Stripe
πŸ”” notification
received
4

Canvas > Add module > QuickBooks Online

Add QuickBooks Module

Connect QuickBooks to receive the invoice creation requests. Make will authenticate with your QuickBooks Online account.

  1. 1Click the '+' icon to the right of your Stripe module
  2. 2Search for 'QuickBooks Online' in the app list
  3. 3Select 'QuickBooks Online' from the results
  4. 4Choose 'Create an Invoice' from the action list
βœ“ What you should see: A QuickBooks Online module appears connected to Stripe, showing invoice creation fields in the right panel.
5

QuickBooks module > Connection settings

Connect QuickBooks Account

Authenticate Make with your QuickBooks Online company. This grants permission to create invoices programmatically.

  1. 1Click 'Add' next to Connection in the QuickBooks module
  2. 2Click 'Sign in with Intuit' in the popup window
  3. 3Log into your QuickBooks Online account
  4. 4Select your company from the list if you have multiple
  5. 5Click 'Authorize' to grant Make access
βœ“ What you should see: The connection shows your QuickBooks company name with a green 'Connected' status indicator.
⚠
Common mistake β€” Make sure you're logged into the correct QuickBooks company β€” switching later requires rebuilding field mappings.
Make settings
Connection
Choose a connection…Add
click Add
QuickBooks
Log in to authorize
Authorize Make
popup window
βœ“
Connected
green checkmark
6

QuickBooks module > Customer section

Map Customer Information

Configure how Stripe customer data transfers to QuickBooks. This handles both existing customers and creates new ones automatically.

  1. 1Click in the 'Customer' field in the QuickBooks module
  2. 2Select 'customer.email' from the Stripe data dropdown
  3. 3Set 'Customer Display Name' to map from 'customer.name'
  4. 4Toggle 'Create customer if not found' to ON
  5. 5Map 'Billing Address' to Stripe's billing_details.address fields
βœ“ What you should see: Customer fields show blue Stripe data tags, indicating successful mapping from payment data.
⚠
Common mistake β€” If customer.name is empty, QuickBooks will use the email address as the display name by default.
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

QuickBooks module > Line Items section

Configure Invoice Line Items

Set up the invoice amount and description from Stripe payment data. This creates the actual billable line on the invoice.

  1. 1Click 'Add item' in the Line Items section
  2. 2Set 'Description' to map from Stripe's 'description' field
  3. 3Map 'Unit Price' to 'amount_received' divided by 100
  4. 4Set 'Quantity' to 1
  5. 5Select an Income account from your QuickBooks chart of accounts
βœ“ What you should see: The line item shows mapped Stripe data with the amount conversion formula displaying correctly.
⚠
Common mistake β€” Stripe amounts are in cents β€” always divide by 100 or your invoices will be 100x too large.
8

QuickBooks module > Payment Method section

Set Payment Method Reference

Record how the customer paid in QuickBooks for accounting accuracy. This maps Stripe payment methods to QuickBooks terminology.

  1. 1Scroll to the 'Payment Method Ref' section
  2. 2Create an IF statement using Make's formula builder
  3. 3Map card payments to your 'Credit Card' payment method in QuickBooks
  4. 4Map ACH payments to 'Bank Transfer'
  5. 5Set a default fallback to 'Online Payment'
βœ“ What you should see: Payment method field shows the conditional formula with proper QuickBooks payment method references.
9

QuickBooks module > Invoice Details section

Configure Invoice Settings

Set invoice numbering, due dates, and status. This ensures invoices appear correctly in your QuickBooks accounting workflow.

  1. 1Leave 'Invoice Number' blank for auto-numbering
  2. 2Set 'Invoice Date' to Stripe's 'created' timestamp
  3. 3Set 'Due Date' to 'Net 0' since payment is already received
  4. 4Set 'Invoice Status' to 'Paid'
  5. 5Add Stripe payment ID to the 'Private Note' field for reference
βœ“ What you should see: Invoice settings show proper date mappings and the status is set to automatically mark invoices as paid.
⚠
Common mistake β€” Setting status to 'Paid' is crucial β€” otherwise QuickBooks shows these as unpaid receivables.
10

Module context menu > Error handling

Add Error Handling

Configure what happens when invoice creation fails. This prevents lost payment data and helps with troubleshooting.

  1. 1Right-click the QuickBooks module
  2. 2Select 'Add error handler'
  3. 3Choose 'Email' from the handler options
  4. 4Set recipient to your admin email
  5. 5Include Stripe payment ID and error details in the email body
βœ“ What you should see: An error handler path appears below the QuickBooks module with email notification configured.
⚠
Common mistake β€” Don't use 'Ignore' error handling β€” failed invoice creation means your accounting will be incomplete.
11

Scenario controls > Run once

Test Complete Workflow

Run a full test to verify invoices generate correctly in QuickBooks. This validates all field mappings and data transformations.

  1. 1Click 'Run once' to activate the scenario
  2. 2Process a test payment in Stripe
  3. 3Wait 30-60 seconds for the workflow to complete
  4. 4Check your QuickBooks Online invoice list
  5. 5Verify the invoice shows correct customer, amount, and paid status
βœ“ What you should see: A new invoice appears in QuickBooks matching the Stripe payment data, marked as paid with correct customer information.
12

Scenario controls > Activation toggle

Activate Scenario

Turn on automatic processing for all future Stripe payments. The scenario will now run continuously in the background.

  1. 1Toggle the 'ON/OFF' switch in the bottom left to ON
  2. 2Set the scenario name to 'Stripe Payments to QuickBooks Invoices'
  3. 3Click 'Save' to store the configuration
  4. 4Verify the scenario shows 'Active' status on your dashboard
βœ“ What you should see: The scenario shows as 'Active' with a green indicator and will process new payments automatically.
⚠
Common mistake β€” Monitor the first few live payments closely β€” any field mapping issues will repeat for all transactions.

Drop this into a Make custom function.

JavaScript β€” Custom Function{{if(1.payment_method.type = "card"; "Credit Card"; if(1.payment_method.type = "us_bank_account"; "Bank Transfer"; "Online Payment"))}}
β–Έ Show code
{{if(1.payment_method.type = "card"; "Credit Card"; if(1.payment_method.type = "us_bank_account"; "Bank Transfer"; "Online Payment"))}}

... expand to see full code

{{if(1.payment_method.type = "card"; "Credit Card"; if(1.payment_method.type = "us_bank_account"; "Bank Transfer"; "Online Payment"))}}

Scaling Beyond 300+ payments/day+ Records

If your volume exceeds 300+ payments/day records, apply these adjustments.

1

Add Rate Limit Protection

Insert a 1-2 second delay module between Stripe triggers and QuickBooks calls. QB Online limits to 500 API requests per hour, so burst payment processing will hit rate limits without throttling.

2

Implement Webhook Backup

Create a secondary daily scenario that compares Stripe payments to QuickBooks invoices and processes any missing records. Webhook delivery fails roughly 1-2% of the time at high volume.

3

Monitor Operation Usage

Each payment uses 2 operations minimum, plus error handling operations. At 500+ daily payments, you'll exceed Make's Core plan and need Pro ($16/month) for higher operation limits.

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

Use Make for this if you need real-time invoice creation and your payment descriptions vary by customer or product. Make's data transformation handles Stripe's cent-based amounts cleanly and the visual builder makes field mapping obvious when you're dealing with complex customer data. The webhook triggers fire within 15 seconds of payment completion. Skip Make if you only process a handful of payments monthly β€” Zapier's simpler interface makes more sense for low-volume operations.

Cost

This workflow uses 2 operations per successful payment: one Stripe webhook trigger and one QuickBooks invoice creation. At 200 payments monthly, that's 400 operations total, fitting comfortably in Make's Core plan at $9/month. Zapier would cost $20/month for the same volume since their Professional plan starts at 750 tasks. N8n is free but requires server management. Make wins on cost and simplicity combined.

Tradeoffs

Zapier handles QuickBooks customer matching better β€” their built-in lookup finds existing customers by email without manual configuration. N8n offers more advanced payment method mapping with custom JavaScript transforms if you need complex logic beyond Make's formula builder. But Make's error handling is superior to both platforms. When QuickBooks API calls fail, Make's visual error paths let you route failures to email alerts or retry queues. Zapier just stops the workflow.

You'll hit three specific issues after going live. First, Stripe's webhook delivery isn't guaranteed β€” roughly 1% of payments won't trigger due to network timeouts, so add a daily scheduled scenario to catch missed invoices by comparing Stripe and QuickBooks records. Second, QuickBooks rate limits API calls to 500 per hour, so batched payment processing during sales events will fail without proper delays between requests. Third, international payments in Stripe include currency conversion data that QuickBooks Online doesn't accept β€” you'll need a router to handle multi-currency scenarios differently than USD transactions.

Ideas for what to build next

  • β†’
    Add Payment Recording β€” Create a follow-up scenario that records the actual Stripe payment against the QuickBooks invoice to properly close the accounting cycle and mark receivables as collected.
  • β†’
    Handle Failed Payments β€” Build a companion workflow for payment_intent.payment_failed webhooks that creates follow-up tasks in your CRM or sends dunning emails for incomplete transactions.
  • β†’
    Multi-Currency Support β€” Add currency detection and conversion logic for international payments, routing non-USD transactions to separate QuickBooks accounts or applying exchange rates.

Related guides

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