Skip to main content

At a glance

  • Availability: Experimental (how to enable).
  • Authentication: OAuth 2.0.
  • Connection: A user authorizes the connection in the provider’s consent screen.
  • Scopes: com.intuit.quickbooks.accounting.
  • Provider documentation: Authentication reference.

Credentials

Set these per environment. See Connect an integration. These variables are required only when you supply your own OAuth app. If a managed app is available, you can connect without setting them. Provider permissions and consent still apply.

Setup

  1. Create an Intuit developer account: Sign up at 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), 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 QUICKBOOKS_API_HOST=sandbox-quickbooks.api.intuit.com in your .env for a sandbox company).

Provider notes

  • 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.

Tools

Verify the connection

Call a read tool such as quickbooks__list_invoices with arguments for your account. Confirm that the result comes from the intended account or workspace before enabling write tools.