// Integrations

QuickBooks Integration

Connect QuickBooks Online to import customers and support invoice-paid automation triggers

2 min read
Updated March 18, 2026
integrationsquickbooksaccountingautomation

QuickBooks integration connects your QuickBooks Online customer data to demeterrr and supports invoice-paid trigger workflows.

01

What It Supports

  • OAuth connection with PKCE
  • Realm-aware QuickBooks company linking
  • Customer sync from QuickBooks to demeterrr contacts
  • Optional invoice-paid trigger path for sequence runs
  • Disconnect and reconnect from Integrations
02

Connect QuickBooks

  1. Go to Settings > Integrations.
  2. Click Connect QuickBooks.
  3. Complete OAuth in Intuit.
  4. Return to demeterrr and confirm Connected.

During callback, the integration stores your QuickBooks realmId.

03

Sync Customers

Use Sync Now in the QuickBooks card to trigger customer import on demand.

The sync endpoint currently supports contact-style import operations (syncType: contacts).

04

Invoice-Paid Trigger Flow

When enabled in integration config, QuickBooks webhook Payment Create events can trigger sequence runs.

Required config values:

  • triggerOnInvoicePaid: true
  • triggerDelayDays (optional, 0-90; set > 0 if service is delivered after payment)
  • sequenceId set to an active sequence

These are available through the QuickBooks config API route.

05

No-Dashboard Behavior

After QuickBooks is connected and invoice-paid trigger settings are saved, your team does not need to open demeterrr to run this flow.

The automation runs server-side:

  1. Customer pays an invoice in QuickBooks.
  2. QuickBooks sends a signed webhook event.
  3. demeterrr verifies the webhook signature.
  4. demeterrr creates and dispatches the configured sequence run.
06

Webhook Verification

QuickBooks webhook requests are validated using HMAC signature checks with:

  • QUICKBOOKS_WEBHOOK_VERIFIER

If this value is missing or invalid, webhook events are rejected.

07

Disconnect QuickBooks

  1. Open Settings > Integrations.
  2. Click Disconnect in the QuickBooks card.
  3. Confirm the action.

Disconnecting stops sync and invoice-paid automation.

08

Troubleshooting

OAuth not configured

Verify:

  • QUICKBOOKS_CLIENT_ID
  • QUICKBOOKS_CLIENT_SECRET

Callback errors

If callback fails with QuickBooks-specific errors, reconnect and confirm your callback URL matches the running app domain.

Webhook events not processed

Check:

  • QUICKBOOKS_WEBHOOK_VERIFIER is set
  • Integration status is connected
  • triggerOnInvoicePaid and sequenceId are configured if expecting automation

Was this article helpful?

Let us know if you found this article helpful or if you need more information.

Take Control Of Your Reputation. Take Control Of Your Reputation. Take Control Of Your Reputation. Take Control Of Your Reputation.

Join hundreds of businesses already using demeterrr to collect feedback, boost reviews, and grow faster.

Start Your Trial