Skip to main content
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.
Response:

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

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