> ## Documentation Index
> Fetch the complete documentation index at: https://docs.routemcp.io/llms.txt
> Use this file to discover all available pages before exploring further.

# QuickBooks Online

> Sync invoices, bills, contacts, accounts, payments, and the rest of the chart of accounts with QuickBooks Online via OAuth 2.0.

<img src="https://icon.horse/icon/intuit.com" alt="QuickBooks Online" style={{ width: "48px", height: "48px", marginBottom: "16px" }} />

## Overview

| Property    | Value                  |
| ----------- | ---------------------- |
| Slug        | `quickbooks-online`    |
| Auth        | OAuth 2.0              |
| API version | v3 (minorVersion `75`) |
| Sandbox     | Yes                    |
| Rate limit  | 500 req/min, 8 req/sec |

## Supported resources

| Resource                   | List                                      | Get                                       | Create                                    | Update                                    | Delete                                    |
| -------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
| Invoice                    | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Contact                    | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Account                    | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Payment                    | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Tax Rate                   | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Journal Entry              | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Expense                    | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Purchase Order             | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Credit Note                | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Vendor Credit              | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Item                       | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Tracking Category          | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Payment Method             | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Payment Term               | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Company Info               | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | —                                         | <span style={{color: "#16a34a"}}>✓</span> | —                                         |
| Accounting Period          | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |
| Sales Order                | —                                         | —                                         | —                                         | —                                         | —                                         |
| Employee                   | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Project                    | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Attachment                 | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> |
| Expense Report             | —                                         | —                                         | —                                         | —                                         | —                                         |
| Item Fulfillment           | —                                         | —                                         | —                                         | —                                         | —                                         |
| Balance Sheet              | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |
| Income Statement           | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |
| Cash Flow Statement        | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |
| General Ledger Transaction | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |
| Transaction                | <span style={{color: "#16a34a"}}>✓</span> | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |
| Bank Feed Account          | —                                         | —                                         | —                                         | —                                         | —                                         |
| Bank Feed Transaction      | —                                         | —                                         | —                                         | —                                         | —                                         |
| Address                    | —                                         | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |
| Phone Number               | —                                         | <span style={{color: "#16a34a"}}>✓</span> | —                                         | —                                         | —                                         |

## Connect setup

QuickBooks Online uses OAuth 2.0. You need an app registered in the **Intuit Developer** portal.

<Steps>
  <Step title="Create an Intuit app">
    Go to the [Intuit Developer dashboard](https://developer.intuit.com/app/developer/dashboard) → **My Apps** → **Create an app**. Choose **QuickBooks Online and Payments**. Under **Keys & OAuth**, copy the **Client ID** and **Client Secret**.
  </Step>

  <Step title="Add the redirect URL">
    In your app's **Redirect URIs** list, add:

    ```
    https://api.routemcp.io/api/v1/auth/callback
    ```
  </Step>

  <Step title="Configure scopes">
    QuickBooks Online uses a single accounting scope:

    * `com.intuit.quickbooks.accounting`
  </Step>

  <Step title="Connect via the widget">
    When your end user opens the Connect widget, they will enter the Client ID and Client Secret, then be redirected to QuickBooks to authorize the connection.
  </Step>
</Steps>

## Usage

```bash theme={null}
# List invoices (AR + AP merged) from QuickBooks Online
curl "https://api.routemcp.io/api/v1/accounting/invoice?provider=quickbooks-online" \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "X-End-User-Id: user-123"

# Create a bill (AP) — set type=ACCOUNTS_PAYABLE to dispatch to QBO's /bill endpoint
curl -X POST "https://api.routemcp.io/api/v1/accounting/invoice?provider=quickbooks-online" \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "Content-Type: application/json" \
  -H "X-End-User-Id: user-123" \
  -d '{ "type": "ACCOUNTS_PAYABLE", "contact": "urn:qbo:vendor:99", "total_amount": 850.00, "due_date": "2026-06-01" }'

# Update by URN — RouteMCP decodes the URN and routes to the correct entity
curl -X PATCH "https://api.routemcp.io/api/v1/accounting/invoice/urn:qbo:bill:7?provider=quickbooks-online" \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "Content-Type: application/json" \
  -H "X-End-User-Id: user-123" \
  -d '{ "memo": "Approved by ops" }'
```

## Notes

* Pass `type: "ACCOUNTS_PAYABLE"` on `invoice` and `payment` create to write bills and bill payments. For vendor contacts, set `is_supplier: true`.
* `project` requires a QBO Plus or Advanced subscription.
