pex

QuickBooks

The QuickBooks connector imports invoice and payment data from QuickBooks Online, giving you revenue numbers to pair with your marketing and experiment data. If your business uses QuickBooks for invoicing, this is how Apex attributes revenue back to the marketing channels that generated the customer.

Authentication

QuickBooks uses OAuth 2.0 through Intuit's platform.

Click Connect on the Sensors page

Find the QuickBooks card and click Connect.

Authorize with Intuit

You'll be redirected to Intuit's authorization page. Sign in to your QuickBooks account and select the company to connect.

Verify the connection

Apex validates the connection by fetching your company info. If successful, the QuickBooks card shows a green "Connected" badge.

Info

QuickBooks automatically detects whether you're using a sandbox or production account based on your app credentials. Sandbox connections are labeled accordingly.

Data Synced

Each sync fetches paid invoices from QuickBooks for the configured date range:

DataDescription
Paid invoicesInvoices with a zero balance (fully paid), including amount and timestamp
Customer emailResolved from the invoice's BillEmail field
Revenue totalSum of all paid invoice amounts

Credit memos (refunds/adjustments) are also supported and are recorded as negative revenue events when processed.

How Apex Uses This Data

  • Revenue attribution — Match invoice payments to contacts via customer email. When a QuickBooks customer's billing email matches a contact captured by the tracking snippet, Apex attributes that revenue to the original marketing channel.
  • LTV calculation — Aggregate payments per customer to build lifetime value metrics.
  • Unit economics — Combine with Google Ads, Meta Ads, or LinkedIn Ads spend to calculate CAC, ROAS, and payback period using real invoice data.
  • Funnel completion — Invoice payments serve as the revenue stage in conversion funnels.

Tip

Revenue attribution works best when your QuickBooks invoices include a billing email address. Invoices without a BillEmail are skipped during revenue matching — ensure your invoicing workflow captures the customer's email.

Configuration

ParameterTypeDescription
access_tokenrequiredstringOAuth access token (set automatically during the connection flow).
realmIdrequiredstringQuickBooks company ID (captured automatically from the OAuth callback).
sandboxbooleanWhether this is a QuickBooks sandbox account. Detected automatically.

Environment Variables

VariableDescription
QUICKBOOKS_CLIENT_IDYour Intuit OAuth app's client ID
QUICKBOOKS_CLIENT_SECRETYour Intuit OAuth app's client secret

Troubleshooting

IssueCauseFix
"Authorization failed"OAuth credentials are invalid or expiredDisconnect and reconnect the sensor
No invoices returnedNo fully paid invoices in the date rangeExpand the sync date range or verify invoices are marked as paid in QuickBooks
Revenue not matching contactsBilling emails don't match contact emailsEnsure your QuickBooks invoices use the same email addresses captured in your forms
Sandbox data appearingUsing sandbox credentialsSwitch to production QuickBooks credentials for live data

Next Steps