QuickBooks Online Reference

Complete API reference for the QuickBooks Online integration.

Overview

This reference covers the QuickBooks Online-specific endpoints and data types available through Sync2Books.

Endpoints

Accounts

Get accounts

Retrieve chart of accounts from QuickBooks Online.

GET /connections/{connectionId}/accounts

Response:

{
  "accounts": [
    {
      "id": "64",
      "name": "Office Expenses",
      "type": "Expense",
      "subType": "OfficeExpenses",
      "status": "Active",
      "fullyQualifiedName": "Office Expenses"
    }
  ]
}

Tax rates

Get tax rates

Retrieve tax rates from QuickBooks Online.

Response:

Suppliers

Get suppliers

Retrieve vendors/suppliers from QuickBooks Online.

Response:

Customers

Get customers

Retrieve customers from QuickBooks Online.

Response:

Tracking categories

Get tracking categories

Retrieve tracking categories (classes, locations, etc.) from QuickBooks Online.

Response:

Data types

Account

Tax rate

Supplier

Customer

Tracking category

Expense transaction mapping

QuickBooks Online expense structure

When syncing expenses to QuickBooks Online, they're mapped to QuickBooks Purchase transactions:

Supported operations

Create expense

Creates a Purchase transaction in QuickBooks Online.

Endpoint: POST /expenses/{connectionId}

QuickBooks mapping:

  • merchantNameEntityRef.name

  • bankAccountRefAccountRef (payment account)

  • lines[].accountRefLine[].AccountBasedExpenseLineDetail.AccountRef

  • lines[].taxRateRefLine[].AccountBasedExpenseLineDetail.TaxCodeRef

Upload attachment

Creates an Attachable in QuickBooks Online linked to the expense.

Endpoint: POST /connections/{connectionId}/syncs/{syncId}/transactions/{transactionId}/attachments

QuickBooks mapping:

  • File → Attachable.AttachRef linked to Purchase transaction

Error codes

QuickBooks-specific errors

Error Code
Description
Solution

3200

Invalid account ID

Verify account exists and is active

3201

Invalid tax rate ID

Verify tax rate exists and is active

3202

Invalid vendor ID

Verify supplier exists and is active

3203

Invalid customer ID

Verify customer exists and is active

3204

Rate limit exceeded

Wait and retry with exponential backoff

3205

OAuth token expired

Reconnect the company

Rate limits

QuickBooks Online rate limits vary by subscription tier:

  • Simple Start: 500 API calls per minute

  • Essentials: 500 API calls per minute

  • Plus: 500 API calls per minute

  • Advanced: 500 API calls per minute

Sync2Books automatically handles rate limits and retries requests when needed.

Best practices

  1. Cache reference data - Store account, tax rate, and supplier IDs to reduce API calls

  2. Batch expenses - Create multiple expenses in a single request

  3. Handle errors gracefully - Implement retry logic for transient failures

  4. Monitor sync status - Always check sync batch status after creating expenses

  5. Use company-level defaults - Reduce transaction complexity

Last updated