Integration guide
QuickBooks Online and HubSpot integration
A won deal creates the customer and job in QuickBooks Online with a matching identifier; billing and cost stay owned by accounting and are reported next to the pipeline rather than synced back. We joined QuickBooks Online and HubSpot (with Procore) in Microsoft Fabric for financial reporting.
System facts last verified October 2026 against the vendors' documentation (sources below). Confirm details with Intuit and HubSpot before you build.
QuickBooks Online and HubSpot side by side
- API style
- QuickBooks OnlineREST/JSON (Accounting API v3), with a separate GraphQL API for some newer features such as projects.
- HubSpotREST/JSON, with date-versioned APIs.
- Authentication
- QuickBooks OnlineOAuth 2.0 authorization code flow with the com.intuit.quickbooks.accounting scope. Access tokens last one hour; refresh tokens have a rolling 100-day expiry, rotate roughly every 24 hours, and have a five-year maximum validity.
- HubSpotOAuth 2.0 authorization code for apps installed in many accounts; static access tokens for single-account (private) apps. Legacy private app tokens don't expire and can be rotated.
- Webhooks / events
- QuickBooks OnlineYes. Create, update, delete, merge, void and emailed events, signed with an HMAC-SHA256 intuit-signature header you verify with the app's verifier token.
- HubSpotYes. Subscriptions for creation, property change and association events on contacts, companies, deals, tickets and more, signed with X-HubSpot-Signature and retried up to 10 times over 24 hours.
- Rate limits
- QuickBooks Online500 requests per minute per company (realm) and 10 requests per second per company and app; batch requests have separate limits. Throttled calls return HTTP 429.
- HubSpotPrivate apps: 100 requests per 10 seconds on Free and Starter (250,000 per day per account), 190 per 10 seconds on Professional (625,000 per day) and Enterprise (1,000,000 per day). Marketplace OAuth apps: 110 per 10 seconds per installing account.
- Sandbox
- QuickBooks OnlineYes. Up to 10 sandbox companies per developer account, each valid for two years.
- HubSpotYes. Free developer test accounts (up to 10) with a 90-day trial of many enterprise features; standard and development sandboxes require Enterprise.
- Exports and files
- QuickBooks OnlineReports API (profit and loss and other reports) and a change data capture endpoint for incremental reads.
- HubSpotNot confirmed. Confirm with vendor.
- Marketplace / partners
- QuickBooks OnlineIntuit App Partner Program and the QuickBooks App Store. Some data-out calls are metered by partner tier; check Intuit's current program guide.
- HubSpotHubSpot App Marketplace (listing and certification requirements apply).
Who owns what
- A won deal creates the customer and job in accounting with a matching identifier.
- Billing and cost stay owned by accounting; report them next to pipeline rather than syncing them back.
What syncs between QuickBooks Online and HubSpot
The typical shape for this pair. Every row is typical: confirm it against your configuration in discovery.
| Object | Direction | System of record | |
|---|---|---|---|
| Won deal → customer and job | HubSpot to QuickBooks Online | HubSpot until won; QuickBooks after | On stage change (webhook) |
| Typical frequency: On stage change (webhook). Notes: QuickBooks Online has no first-class job object. Agree whether a job is a sub-customer or a project, plus any class or location convention, before mapping anything.(Typical: confirm against your configuration.) | |||
| Companies → customers | HubSpot to QuickBooks Online | HubSpot until the first invoice; QuickBooks after | On deal won |
| Typical frequency: On deal won. Notes: Look for an existing customer before creating one; store the QuickBooks customer ID on the HubSpot company.(Typical: confirm against your configuration.) | |||
| Customer / job IDs | QuickBooks Online to HubSpot | QuickBooks Online, written once | At job creation |
| Typical frequency: At job creation. Notes: Write the QuickBooks customer or project ID onto the HubSpot deal, so reporting joins on IDs, not names.(Typical: confirm against your configuration.) | |||
| Products and items | QuickBooks Online to HubSpot | QuickBooks Online | On change |
| Typical frequency: On change. Notes: Keep one product list, usually QuickBooks items copied to HubSpot products, if sales quotes from line items.(Typical: confirm against your configuration.) | |||
| Contract value | HubSpot to QuickBooks Online | HubSpot for reference | On deal won |
| Typical frequency: On deal won. Notes: A reference on the job or an estimate; invoicing is done in QuickBooks.(Typical: confirm against your configuration.) | |||
| Invoices and payments | not synced | QuickBooks Online | Reported, not synced |
| Typical frequency: Reported, not synced. Notes: Report billing next to pipeline in a shared model rather than writing it back into HubSpot.(Typical: confirm against your configuration.) | |||
Directions, owners and frequencies are the typical pattern from our integration guides and mapping workbook. Confirm each one against your configuration in discovery.
Is a native connector enough?
We haven't confirmed a documented native connector for this pair. Check the QuickBooks App Store and the HubSpot App Marketplace for a partner connector first: if one moves the records you need with your cost structure and approvals, configure it. Build when the mapping needs governing, when failures need routing to a person, or when you also need cross-system reporting.
Compare native connectors with a custom buildCommon gotchas
- Store the newest QuickBooks refresh token every time: it rotates about every 24 hours and has a rolling 100-day expiry, and losing it breaks the connection. Plan reauthorization before it lapses.
- QuickBooks allows 500 requests per minute per company and 10 per second per company and app; read-heavy polling can cost money under Intuit's partner program, so use webhooks or change data capture.
- HubSpot retries webhook deliveries that take longer than five seconds, so acknowledge fast and create the QuickBooks customer from a queue to avoid duplicates.
- In our Procore, QuickBooks Online and HubSpot reporting build the systems shared no common ID, so a project crosswalk linked them. Writing IDs both ways at creation avoids that work later.
Sources
Frequently asked questions
Can HubSpot create customers and jobs in QuickBooks Online?
Yes. A won deal can create the QuickBooks customer and a sub-customer or project for the job, with IDs written back to HubSpot. Agree the job convention first, because QuickBooks has no dedicated job object.
Should QuickBooks invoices sync back to HubSpot?
Usually not. Billing stays owned by accounting; report it next to the pipeline in a shared model instead of copying invoices into the CRM.
How long does a QuickBooks Online connection last?
Access tokens last an hour; refresh tokens rotate about every 24 hours with a rolling 100-day expiry and a five-year maximum. Store the latest one every time.
Next step
Connecting QuickBooks Online and HubSpot?
Bring one real job and the records you want to move. We'll walk through what syncs, who owns each record, and what to check first.