Connect QuickBooks

Hook SideQuest up to QuickBooks in 3 minutes.

This page replaces the Intuit OAuth Playground step in the install. Paste two values from your Intuit developer app, click one button, sign in to QuickBooks, paste two values back into your terminal. That's the flow.

Why this step exists. QuickBooks won't let any app — including SideQuest — read or write your books without you explicitly granting permission. Intuit hands the permission out as a "Refresh Token" that lives on your computer. This page just gets you that token without making you read the Intuit developer docs.

Before you start, have these tabs open:

  1. The terminal that's running python -m qb_distributor_mcp.auth_qb (or the Claude Desktop chat that's walking you through install).
  2. developer.intuit.com/app/developer/myapps — your Intuit developer dashboard.
1

Create the Intuit Developer app (one time, free)

Go to developer.intuit.com/app/developer/myapps and sign in with your QuickBooks login. Click Create app → QuickBooks Online and Payments. Name it whatever you want (e.g. "SideQuest").

Once the app exists, open Keys & OAuth → Production (or Development if you're testing against a sandbox). Under Redirect URIs, click Add URI and paste exactly this:

https://sidequestautomation.com/qb/callback

Click Save. Then copy two values from the Keys & OAuth page: Client ID and Client Secret.

Already did this in an earlier install? Skip to step 2.

2

Paste your Client ID and pick your environment

This is safe to paste into a webpage — it's a public identifier. The Client Secret stays in your .env file and never comes here.

Sandbox (testing) Production (real books)

Sandbox is the recommended starting point. You can re-run this flow for production once you're confident in the install.

3

Authorize QuickBooks

This opens Intuit's consent page in a new tab. You sign in to QuickBooks (your real QB account), pick the company you want to connect, and click Connect.

Authorize QuickBooks →

After you click Connect, Intuit redirects you to sidequestautomation.com/qb/callback. That page shows you two values: an authorization code and your realm ID. Both are temporary and useless without your Client Secret, so they're safe to display on a webpage.

4

Paste the two values back to your terminal

The terminal that's running python -m qb_distributor_mcp.auth_qb is waiting at two prompts:

  1. Paste the authorization code: — paste the long code from the callback page, press Enter.
  2. Paste the realm ID: — paste the realm ID, press Enter.

Your terminal then exchanges the code for a Refresh Token using your local Client Secret and writes the result to ~/.qb-distributor-mcp/.env. After that, restart Claude Desktop (Cmd+Q on Mac, right-click tray icon on Windows) and your QuickBooks connection is live.

Frequent questions

I don't have an Intuit Developer account — is this different from my QuickBooks login?

You use the same login. The Developer dashboard is at developer.intuit.com; sign in with the email you use for QuickBooks. Creating a developer app is free and takes about a minute. You'll do this once and never again.

Why does QB make me create a "developer app" at all? I'm not a developer.

It's QuickBooks' rule for any external tool that wants to read or write your books, including off-the-shelf integrations and one-person shops. The good news: it's a one-time setup. Once your Intuit app exists, every future connection (re-auth, multiple companies, etc.) reuses it.

What happens if I lose my Refresh Token?

Just re-run this whole flow. The new Refresh Token replaces the old one in your .env file. Old tokens are short-lived enough that there's no security risk in leaving them behind.

Is the Client ID I'm pasting here safe to share?

Yes. The Client ID is a public identifier (like a username). The Client Secret is the password equivalent and never leaves your computer — it stays in your local .env file. This page only uses the Client ID to build the consent URL Intuit needs.

What if I'd rather use the OAuth Playground?

You can. The Playground at developer.intuit.com/app/developer/playground still works for sandbox testing. This page exists because the Playground requires several extra clicks and the field names can be confusing for first-time users.

SideQuest Automation · sidequestautomation.com
Quick-start · Stuck?