Overview
QuickBooks Online is the dominant cloud accounting platform in the US, Canada, UK, AU. The Automize QuickBooks connector covers invoices, customers, vendors, payments, products/services, journal entries, and reports.
- Regions: QuickBooks Online has regional deployments (US, CA, UK, AU). API endpoints differ per region – connector routes based on your company region picked at OAuth time.
- Plans: Simple Start, Essentials, Plus, Advanced – all expose the API. Advanced features (custom roles, batch invoices) need Advanced plan.
Setting up the connection
Auth type: OAuth 2.0 (Authorization Code).
- Sign in to developer.intuit.com → My Apps → Create an app → QuickBooks Online and Payments.
- Set Redirect URI to the one in the Automize QuickBooks connector dialog.
- Add scope com.intuit.quickbooks.accounting (read+write) – payment scope only if you use the Payments API.
- Copy Client ID + Client Secret.
- In Automize, open Settings → Connectors → QuickBooks → Add connection. Paste credentials, click Connect with QuickBooks, select the company to connect.
Scopes required:
com.intuit.quickbooks.accounting
Find your credentials at https://developer.intuit.com/app/developer/myapps.
Rate limits
QuickBooks enforces ~500 requests/min/realm and ~10/sec burst. Connector retries 429 with backoff. Batch API can do up to 30 operations in one call – use for bulk loads.
Data model
Realm (company) is the tenant:
Customer ─┬─ Invoices ─── Payments
└─ Sales Receipts
Vendor ─── Bills ─── BillPayments
Item (Product/Service) ── used on invoice lines
Account (Chart of Accounts) ── used on journal entries
JournalEntry ── debit/credit pairs against accounts
Class / Department (job costing dimensions)
All records have a realmID-scoped numeric Id + SyncToken (optimistic
locking version).Available operations
30 operations available. Click any row to jump to its detail.
| Operation | Category | What it does |
|---|---|---|
| Balance sheet | Accounts & Reports | Get balance sheet report from QuickBooks. |
| List accounts | Accounts & Reports | Query chart of accounts in QuickBooks. |
| Profit and loss | Accounts & Reports | Get profit and loss report from QuickBooks. |
| Custom query | Accounts & Reports | Execute a custom QuickBooks query using the QB query language. |
| Create bill | Bills | Create a new bill (accounts payable) in QuickBooks. |
| List bills | Bills | Query bills/payables in QuickBooks. |
| Create customer | Customers & Vendors | Create a new customer in QuickBooks. |
| Create vendor | Customers & Vendors | Create a new vendor in QuickBooks. |
| Get customer | Customers & Vendors | Get a customer by ID from QuickBooks. |
| Get vendor | Customers & Vendors | Get a vendor by ID from QuickBooks. |
| List customers | Customers & Vendors | Query customers in QuickBooks. |
| List vendors | Customers & Vendors | Query vendors/suppliers in QuickBooks. |
| Create credit memo | General | Create a QuickBooks credit memo. |
| Create deposit | General | Create a QuickBooks deposit. |
| Create estimate | General | Create a QuickBooks estimate/quote. |
| Create purchase | General | Create a QuickBooks purchase/expense. |
| Get Company Info | General | Get company information |
| List estimates | General | List QuickBooks estimates. |
| List Tax Codes | General | Query tax codes |
| Update customer | General | Update a QuickBooks customer. |
| Create invoice | Invoices | Create a new invoice in QuickBooks. |
| Delete invoice | Invoices | Delete/void an invoice in QuickBooks. |
| Get invoice | Invoices | Get an invoice by ID from QuickBooks. |
| List invoices | Invoices | Query invoices in QuickBooks. |
| Send invoice | Invoices | Email an invoice to the customer from QuickBooks. |
| Update invoice | Invoices | Update an existing invoice in QuickBooks (full update, include SyncToken). |
| Create payment | Items & Payments | Record a payment received in QuickBooks. |
| Get item | Items & Payments | Get an item by ID from QuickBooks. |
| List items | Items & Payments | Query products/services in QuickBooks. |
| List payments | Items & Payments | Query payments received in QuickBooks. |
Operations
Balance sheet
Get balance sheet report from QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text |
Create bill
Create a new bill (accounts payable) in QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text | |
Bill data (JSON) fields | Yes | textarea |
Tips
- VendorRef + Line[] (Each line: AccountBasedExpenseLineDetail.AccountRef).
Create credit memo
Create a QuickBooks credit memo.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm Id realm_id | Yes | text |
Create customer
Create a new customer in QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text | |
Customer data (JSON) fields | Yes | textarea |
Tips
- DisplayName required + unique. PrimaryEmailAddr.Address + PrimaryPhone.FreeFormNumber typical.
Errors
Duplicate Name Exists Error– DisplayName already in use. QuickBooks is case-insensitive but allows differing spaces / punctuation.
Create deposit
Create a QuickBooks deposit.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm Id realm_id | Yes | text |
Create estimate
Create a QuickBooks estimate/quote.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm Id realm_id | Yes | text |
Create invoice
Create a new invoice in QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text | |
Invoice data (JSON) fields | Yes | textarea |
Tips
- CustomerRef + Line[] required. Each line: DetailType (SalesItemLineDetail), Amount, SalesItemLineDetail.ItemRef.
Create payment
Record a payment received in QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text | |
Payment data (JSON) fields | Yes | textarea |
Tips
- CustomerRef + TotalAmt + Line (LinkedTxn pointing at the invoice).
- DepositToAccountRef tells QuickBooks where the money went.
Create purchase
Create a QuickBooks purchase/expense.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm Id realm_id | Yes | text |
Create vendor
Create a new vendor in QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text | |
Vendor data (JSON) fields | Yes | textarea |
Tips
- DisplayName required + unique within Vendor namespace.
Delete invoice
Delete/void an invoice in QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text | |
Invoice ref (JSON, include Id+SyncToken) fields | Yes | textarea |
Tips
- Hard-delete. Use Void instead unless legally required to remove.
Get Company Info
Get company information
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm Id realm_id | Yes | text | |
Realm Id realm_id | Yes | text |
Get customer
Get a customer by ID from QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text | |
Customer ID customer_id | Yes | text |
Tips
- Returns customer + balance + ParentRef (for sub-customers).
Get invoice
Get an invoice by ID from QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text | |
Invoice ID invoice_id | Yes | text |
Tips
- Returns invoice + lines + EmailStatus.
Get item
Get an item by ID from QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text | |
Item ID item_id | Yes | text |
Get vendor
Get a vendor by ID from QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text | |
Vendor ID vendor_id | Yes | text |
Tips
- Returns vendor + balance + 1099 flag.
List accounts
Query chart of accounts in QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text |
Tips
- Chart of accounts. Filter by AccountType (Income, Expense, Asset, Liability, Equity).
List bills
Query bills/payables in QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text |
Tips
- Vendor bills (money you owe).
List customers
Query customers in QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text |
Tips
- Use the SQL-like Query: SELECT * FROM Customer WHERE Active=true MAXRESULTS 100.
- MAXRESULTS max 1000. Page via STARTPOSITION.
List estimates
List QuickBooks estimates.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm Id realm_id | Yes | text |
List invoices
Query invoices in QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text |
Tips
- Query: SELECT * FROM Invoice WHERE Balance > 0 ORDERBY MetaData.LastUpdatedTime DESC.
List items
Query products/services in QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text |
Tips
- Products + Services. Filter by Type: Inventory, Service, NonInventory.
List payments
Query payments received in QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text |
Tips
- Payments received. Linked to invoices via LinkedTxn.
List Tax Codes
Query tax codes
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm Id realm_id | Yes | text |
List vendors
Query vendors/suppliers in QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text |
Tips
- Same query contract as Customer. Use Vendor entity.
Profit and loss
Get profit and loss report from QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text |
Custom query
Execute a custom QuickBooks query using the QB query language.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text | |
Query query | Yes | textarea |
Send invoice
Email an invoice to the customer from QuickBooks.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text | |
Invoice ID invoice_id | Yes | text |
Tips
- Emails the invoice to the customer's PrimaryEmailAddr. Use ?sendTo=<email> to override.
Update customer
Update a QuickBooks customer.
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm Id realm_id | Yes | text |
Tips
- Send sparse=true + SyncToken (current version). QuickBooks uses optimistic locking – fetch current, increment SyncToken, send.
Update invoice
Update an existing invoice in QuickBooks (full update, include SyncToken).
| Parameter | Required | Type | Description |
|---|---|---|---|
Realm ID realm_id | Yes | text | |
Invoice data (JSON, include SyncToken) fields | Yes | textarea |
Tips
- sparse=true + SyncToken. Same locking model as Customer.
FAQ
- Sandbox vs production?
- Sandbox is separate (sandbox.api.intuit.com), with seeded test data. Create a sandbox app + sandbox company at developer.intuit.com. Different OAuth tokens – use a separate Automize connection.
- SyncToken – what is it?
- Optimistic locking. Every entity has a SyncToken that increments on each update. Send the current SyncToken with your update – if it's stale, you get an error. Always Get-then-Update.
- sparse=true – when?
- Default Update replaces every writable field with what you send. sparse=true updates only the fields present in your payload (PATCH-style). Almost always use sparse=true.
- Multiple companies – one connection?
- Each QuickBooks company (realm) = one Automize QuickBooks connection. Authorise per realm.