QuickBooks Online – Application Overview
QuickBooks Online is a cloud-based accounting platform used by finance, operations, and accounting teams to manage invoices, bills, vendors, customers, payments, and general ledger activity. The QuickBooks Online integration within the Wrk platform allows you to automate accounting Wrkflows by calling the QuickBooks Online Accounting API through prebuilt Wrk Actions.
Authentication
QuickBooks Online uses OAuth 2.0 authentication. When connecting your QuickBooks Online account in Wrk, you will be redirected to Intuit’s OAuth login screen. After signing in and granting access, Wrk receives an access token and refresh token, which are used for all subsequent API calls.
Important Notes
- OAuth tokens expire automatically; Wrk refreshes them in the background.
- If authorization is revoked in QuickBooks or scopes are changed, the connection must be reauthenticated.
- If authentication fails, QuickBooks typically returns HTTP 401 Unauthorized.
How to Authenticate
- Create a new QuickBooks Online Connected Account in Wrk.
- Sign in using your Intuit account.
- Choose the QuickBooks Online company file you want Wrk to access.
General API Behaviour
QuickBooks API Overview
The integration uses the QuickBooks Online Accounting API (v3). Most entities, such as invoices, customers, vendors, exchange rates, and bills, follow a consistent JSON structure. Each record returned by QuickBooks generally includes:
- Id — the unique entity identifier
- SyncToken — required for certain update/delete operations
- MetaData — timestamps for creation/update tracking
Query Language (IQL)
QuickBooks uses a SQL-like query syntax called Intuit Query Language (IQL) for filtered and paginated retrievals. Example:
SELECT * FROM Invoice WHERE Balance > '0' ORDER BY TxnDate DESC STARTPOSITION 1 MAXRESULTS 50
Key details:
- Supports
WHEREfilters - Supports
ORDER BY(ASC or DESC) ANDis supported,ORis not supported- Pagination uses
STARTPOSITIONandMAXRESULTS - Queries operate on one entity at a time (no JOINs)
IQL Reference: https://developer.intuit.com/app/developer/qbo/docs/learn/explore-the-quickbooks-online-api/data-queries
Rate Limits
QuickBooks Online enforces API rate limits at the:
- Company file level
- User/application level
- Concurrency level
If limits are exceeded, QuickBooks may return throttling errors such as 429 or rate-limit warnings.
Available Wrk Actions for QuickBooks Online
Wrk provides a curated set of QuickBooks Online Actions that map directly to the most commonly used Accounting API endpoints.
- Perform an API call in QuickBooks Online
- Perform an API call in QuickBooks Online (Accounting Scopes Only)
- Create a bill in QuickBooks Online
- Create a customer in QuickBooks Online
- Create a vendor in QuickBooks Online
- Create an invoice in QuickBooks Online
- Retrieve a bill from QuickBooks Online
- Retrieve a customer from QuickBooks Online
- Retrieve a vendor from QuickBooks Online
- Retrieve an invoice from QuickBooks Online
- Retrieve exchange rate from QuickBooks Online
- Delete a bill in QuickBooks Online
- Delete an invoice in QuickBooks Online
- Query QuickBooks Online
- Send an invoice in QuickBooks Online
- Upload file attachment in Quickbooks Online
Additional Resources
-
QuickBooks Online Accounting API Reference:
https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/account
-
Query Language Documentation:
-
Troubleshooting Guide:
https://developer.intuit.com/app/developer/qbo/docs/develop/troubleshooting