Build Flows

ERP & accounting

QuickBooks Online API and integration guide

The QuickBooks Online Accounting API is a well-documented REST API with free sandbox companies, webhooks and published throttles. The construction catch: there are no first-class jobs, so you map them to customers, sub-customers or projects.

Last verified October 2026 against the sources below. Confirm details with Intuit before you build.

At a glance

Category
ERP & accounting · Intuit
API style
REST/JSON (Accounting API v3), with a separate GraphQL API for some newer features such as projects.
Authentication
OAuth 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.
Sandbox / developer program
Yes. Up to 10 sandbox companies per developer account, each valid for two years.
Webhooks / events
Yes. Create, update, delete, merge, void and emailed events, signed with an HMAC-SHA256 intuit-signature header you verify with the app's verifier token.
Rate limits
500 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.
Exports and files
Reports API (profit and loss and other reports) and a change data capture endpoint for incremental reads.
Marketplace / partner program
Intuit App Partner Program and the QuickBooks App Store. Some data-out calls are metered by partner tier; check Intuit's current program guide.

Key objects for construction workflows

  • Customers and sub-customers (jobs)
  • Projects
  • Vendors
  • Bills and bill payments
  • Purchase orders
  • Estimates
  • Invoices
  • Classes and locations
  • Items
  • Time activities
  • Accounts and journal entries
  • Attachments

Notes and gotchas

  • Always store the newest refresh token: it rotates about daily, and losing it breaks the connection. Plan reauthorization before the rolling 100 days lapse.
  • Construction job cost has to be modeled with sub-customers or projects plus classes or locations; agree the convention before you map anything.
  • Read-heavy polling can cost money under Intuit's partner program; use webhooks or change data capture where you can.

Sources

Frequently asked questions

How long does a QuickBooks Online connection last?

Access tokens last an hour. Refresh tokens have a rolling 100-day expiry and a five-year maximum, and the value rotates about every 24 hours, so always store the latest one. In our own build we planned reauthorization on day one.

What is the QuickBooks Online API rate limit?

Intuit publishes 500 requests per minute per company and 10 requests per second per company and app, with separate batch limits. Throttled calls return HTTP 429.

How do construction jobs map to QuickBooks Online?

QuickBooks has no dedicated job object in the Accounting API. Contractors use customers and sub-customers or projects, often with classes or locations, so the convention needs agreeing before the integration maps anything.

Next step

Connecting QuickBooks Online to your other systems?

Bring the systems and the report or workflow you want to fix. We'll walk through what moves, who owns each record, and what to check first.