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

# QuickBooks

> Manage invoices, bills, expenses, customers, and accounts in QuickBooks Online

## At a glance

* **Availability**: Experimental ([how to enable](/cloud/integrations)).
* **Auth**: OAuth 2.0.
* **Connection**: A user authorizes the connection in the provider's consent screen.
* **Scopes**: `com.intuit.quickbooks.accounting`.
* **Docs**: [https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0](https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0)

## Credentials

Set these per environment. See [Connect an integration](/cloud/integrations).

With a managed OAuth app, Connect works without these variables; set them to use your own OAuth app instead.

| Variable                   | Required | Description                                                                                                                                                                      |
| -------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `QUICKBOOKS_CLIENT_ID`     | Yes      | Intuit OAuth Client ID (from your app's Keys & credentials page) [Docs](https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0). |
| `QUICKBOOKS_CLIENT_SECRET` | Yes      | Intuit OAuth Client Secret [Docs](https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0).                                       |

## Setup

1. **Create an Intuit developer account**: Sign up at [https://developer.intuit.com/](https://developer.intuit.com/) - creating an app automatically provisions a QuickBooks Online sandbox company with sample data for testing.
2. **Create an app**: In the developer dashboard ([https://developer.intuit.com/app/developer/dashboard](https://developer.intuit.com/app/developer/dashboard)), create an app for the QuickBooks Online and Payments platform with the com.intuit.quickbooks.accounting scope, and add your /api/auth/quickbooks/callback URL as a redirect URI.
3. **Copy credentials**: From the app's Keys & credentials page, copy the Client ID and Client Secret (Development keys work against the sandbox host; Production keys require app review). Set QUICKBOOKS\_CLIENT\_ID and QUICKBOOKS\_CLIENT\_SECRET in your .env.
4. **Note your realm ID**: The OAuth callback includes a realmId query parameter identifying the connected company - save it; every QuickBooks tool requires it as the realmId parameter. You can also find it under the gear icon → Additional Info in QuickBooks Online.
5. **Verify access**: Run the List Invoices tool with your realmId (set host to sandbox-quickbooks.api.intuit.com for a sandbox company).

* The token endpoint authenticates with HTTP Basic (client\_id:client\_secret base64-encoded)
* Access tokens last 60 minutes; refresh tokens roll and remain valid for up to 100 days
* The company realm ID arrives as a query parameter on the OAuth callback, not in the token response - it must be saved and passed to every tool
* QuickBooks responds with XML unless the Accept: application/json header is sent (the tools set it by default)
* Sandbox companies use the sandbox-quickbooks.api.intuit.com host

Provider API reference: [https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0](https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0)

## Tools

| Tool              | Access | Description                                                                                                                                |
| ----------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
| List Invoices     | Read   | List recent invoices in a QuickBooks Online company                                                                                        |
| List Customers    | Read   | List customers in a QuickBooks Online company                                                                                              |
| List Accounts     | Read   | List the chart of accounts in a QuickBooks Online company                                                                                  |
| Get Invoice       | Read   | Get a QuickBooks invoice with its line items                                                                                               |
| Create Invoice    | Write  | Create an invoice in a QuickBooks Online company                                                                                           |
| List Bills        | Read   | List vendor bills (accounts payable) in a QuickBooks Online company                                                                        |
| Get Bill          | Read   | Get a QuickBooks vendor bill with its line items                                                                                           |
| Create Bill       | Write  | Create a vendor bill (accounts payable) in a QuickBooks Online company                                                                     |
| Create Purchase   | Write  | Record an expense (cash, check, or credit card purchase) in a QuickBooks Online company                                                    |
| Upload Attachment | Write  | Upload a file and attach it to a QuickBooks transaction (bill, invoice, purchase, ...) via the Attachable API                              |
| Run Query         | Read   | Run an arbitrary QuickBooks query against any entity (Invoice, Customer, Account, Payment, Bill, Item, ...)                                |
| List Vendors      | Read   | List vendors in a QuickBooks Online company - use this to find the VendorRef IDs that Create Bill requires                                 |
| List Purchases    | Read   | List purchase transactions (cash, check, or credit card expenses) in a QuickBooks Online company - the read counterpart to Create Purchase |

## Example prompts

* List my QuickBooks invoices with an outstanding balance, sorted by due date.
* Create an invoice in QuickBooks for a customer with the line items I provide.
