Key takeaways
- The QuickBooks Online Accounting API uses OAuth 2.0 and exposes entities such as customers, invoices, payments, items and bills.
- Intuit’s App Partner Program, launched in July 2025, introduced tiered pricing: Core calls are free, while CorePlus calls such as reads and queries are metered beyond tier allowances.
- Use webhooks and the change data capture endpoint to detect changes efficiently instead of polling.
- Design for throttling limits and token management from day one.
QuickBooks Online is the accounting system for a huge number of small and mid-size businesses, so integrating with it is one of the most common requests we get: syncing invoices from a CRM, payments from a payment platform, or orders from e-commerce. Here is what to know before building.
Authentication
Apps connect to a company’s QuickBooks Online data through OAuth 2.0. The company’s administrator authorizes the app, which receives an access token for API calls and a refresh token to obtain new access tokens. Store tokens securely, refresh them as Intuit specifies, and handle the case where a customer disconnects the app.
Core entities
| Entity | Typical use |
|---|---|
| Customer | Sync customers from a CRM or e-commerce platform |
| Item | Products and services used on invoices |
| Invoice and SalesReceipt | Bill customers or record immediate sales |
| Payment | Record customer payments against invoices |
| Bill and Vendor | Accounts payable |
| Account | Chart of accounts for mapping |
API pricing under the App Partner Program
In July 2025 Intuit launched its App Partner Program, which changed how QuickBooks Online API usage is priced for app developers. Calls are classified as Core, mainly data-in operations such as creating or updating records, which are free, or CorePlus, mainly data-out operations such as reads and queries, which are metered. A free Builder tier includes a monthly allowance of CorePlus calls, and paid tiers offer larger allowances and additional benefits.
Tier names, allowances and fees are set by Intuit and may change. Check Intuit’s current App Partner Program documentation when planning an integration.
Rate limits and efficiency
- QuickBooks Online throttles requests per company and limits concurrent requests; design for retries with backoff.
- Use batch operations to group several operations in one request where appropriate.
- Use webhooks to be notified of changes, and the change data capture endpoint to fetch changed entities since a point in time.
- Avoid frequent full queries, which consume metered calls and hit limits.
Common integration patterns
- CRM to QuickBooks: create customers and invoices when deals close or orders are approved.
- Payments to QuickBooks: record payments from a payment platform against open invoices.
- QuickBooks to CRM: show invoice status and balances to sales and account teams.
Pitfalls to avoid
- Duplicate customers from inconsistent matching; store QuickBooks IDs on CRM records.
- Tax and item mapping mismatches that cause wrong totals.
- Ignoring token expiry and disconnections, so syncs fail silently.
- Polling for changes instead of using webhooks and change data capture.
We build QuickBooks integrations with Salesforce, payment platforms and custom apps; see our system integration services.
Integration checklist
- Register the app and configure OAuth redirect URIs for each environment.
- Use the sandbox company for development and testing.
- Store tokens encrypted and handle refresh and disconnection.
- Subscribe to webhooks for the entities you sync.
- Use change data capture to recover after outages.
- Log every request and response for troubleshooting.
- Estimate monthly CorePlus usage and choose the right partner tier.
Frequently asked questions
Is the QuickBooks Online API free?
Under the App Partner Program, Core calls are free and CorePlus calls are metered beyond tier allowances, with a free Builder tier. Check Intuit’s current terms.
Does the program apply to QuickBooks Desktop?
The App Partner Program API pricing applies to QuickBooks Online.
How do we know when data changes in QuickBooks?
Use webhooks for notifications and the change data capture endpoint to retrieve changed entities efficiently.



