> For the complete documentation index, see [llms.txt](https://docs.zwapgrid.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zwapgrid.com/client-portal/systems/setup-guides/quickbooks-online.md).

# QuickBooks Online

Create an Intuit app and configure QuickBooks Online in Zwapgrid.

QuickBooks Online is Intuit's cloud-accounting product. Zwapgrid uses a client-managed Intuit application, so a published System Setting is required before onboarding a QuickBooks Online company.

| Item                        | Details                                                                                                      |
| --------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Client Portal configuration | Required                                                                                                     |
| Test option                 | Intuit sandbox company                                                                                       |
| Vendor documentation        | [QuickBooks Online developer documentation](https://developer.intuit.com/app/developer/qbo/docs/get-started) |

## Create an Intuit app

1. Create or sign in to an [Intuit Developer](https://developer.intuit.com/) account.
2. In **My Hub → App dashboard**, create an application for QuickBooks Online.
3. Add the QuickBooks Online Accounting permission and any other permissions your integration requires.
4. Register the redirect URI displayed in the Zwapgrid System Setting.
5. Open **Keys and credentials** and store the development Client ID and Client Secret securely.

Intuit provides development credentials and sandbox companies for testing. Manage the companies from **My Hub → Sandboxes** and choose a region that represents your intended customers.

## Configure Zwapgrid

1. In the Client Portal, open **Systems → QuickBooks Online → Configure**.
2. Create a System Setting for the development application.
3. Enter the development Client ID and Client Secret.
4. Confirm that the registered redirect URI matches the value shown by Zwapgrid.
5. Save, review, and publish the setting.

See [System Settings](/client-portal/systems/system-settings.md) for lifecycle and Consent-selection rules.

## Test and move to production

1. Create a Development Consent using the published setting.
2. Connect an Intuit sandbox company through the [Onboarding Flow](/onboarding-flow/onboarding-flow.md).
3. Test company selection and every required API.1 or Proxy.1 operation.
4. Complete Intuit's current go-live requirements.
5. Create a separate System Setting with production credentials.

{% hint style="warning" %}
Do not use Intuit development credentials for production onboarding. Development and production credentials are managed separately.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.zwapgrid.com/client-portal/systems/setup-guides/quickbooks-online.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
