Skip to main content

At a glance

Credentials

Set these per environment. See Connect an integration. With a managed OAuth app, Connect works without these variables; set them to use your own OAuth app instead.

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

Tools

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.