↑
What actually changes between a QuickBooks sandbox company and your real books, and the six-step test we ran before connecting an AI agent to ours.

QuickBooks Sandbox vs Production: What Really Changes

Sep Gaspari|October 13, 2026|8 min read
Share:

Quick Answer

QuickBooks sandbox and production use separate keys, separate redirect URI rules, and separate approval processes, but they share the same API rate limits. Sandbox companies hold fake sample data and connect with Development keys that approve instantly. Production touches your real books and needs Production keys, which require Intuit's app assessment questionnaire. We ran a full connect-to-disconnect test in sandbox before ever pointing an AI agent at our real company.

Before we connected our own agency's real QuickBooks company to Claude Code, we spent about ten minutes testing the exact same commands against a sandbox company first. That sounds like a small thing, but it's also one of the questions Intuit's production-keys questionnaire asks directly, and it caught a real issue in our error handling before it ever touched a real invoice.

Here is what actually differs between the two environments, what stays identical, and the test worth running before you flip the switch.

What changes between sandbox and production

SandboxProduction
KeysDevelopment keys, instant, no reviewProduction keys, need the questionnaire
DataSample customers, invoices, and items Intuit generatesYour real company's real financial data
Redirect URIhttp://localhost allowedMust be HTTPS on a domain you own
How many you can haveUp to 5 sandbox companies per developer accountOne company, your actual business
LifespanUp to roughly 2 years, resettable anytimeOngoing, tied to your real books

What stays the same

The API itself doesn't change. The same endpoints, the same OAuth 2.0 flow, and the same rate limits apply in both environments: 500 requests per minute and 10 concurrent requests per second, per company. For a small business asking an AI agent a handful of questions about its own books, that ceiling is far higher than you'll ever hit.

That consistency is actually the point. Anything you build and test against the sandbox should behave the same way against production, with the one obvious exception that production touches real money and real customers.

Why test in sandbox first

Intuit's production-keys questionnaire asks directly whether you've tested connecting, disconnecting, and reconnecting on a sandbox company, and whether you've tested how your app handles API errors. The honest way to answer that is to actually run the test, which takes about ten minutes:

  1. Connect to the sandbox company and confirm the approval screen works.
  2. Read something simple, like company details or a list of invoices, to confirm the connection works.
  3. Deliberately send a broken request and confirm the error gets caught, shown clearly, and logged.
  4. Disconnect, and confirm QuickBooks actually revokes the connection.
  5. Try to call the API again after disconnecting, and confirm it fails cleanly with a clear message instead of a confusing crash.
  6. Reconnect, and confirm everything works again.

We ran this exact sequence before applying for our own production keys, and step three is where we caught a gap in how our own error handling logged things. Better to find that against fake data than real invoices.

Moving from sandbox to production

Once production keys are approved, you'll typically add them alongside your existing Development keys rather than replacing them. Keep both. Switching an environment variable, rather than deleting your sandbox setup, means you can always drop back to testing a new command safely before running it against real data.

The full path to get there, including the questionnaire itself, is covered in our production-keys walkthrough, and the specific redirect URI change that trips people up is in why localhost gets rejected.

Common mistakes

Skipping the error-handling test

It is easy to test the happy path (connect, read, disconnect) and skip deliberately breaking something. That is exactly the gap the questionnaire is checking for.

Deleting sandbox access after going live

Keep your Development keys and sandbox company around. They are the safest place to test any new command before you run it against real data.

Mixing up which token file belongs to which environment

Sandbox and production need their own separate token files. Running a production command with a sandbox token, or the reverse, will fail or point at the wrong company.

Assuming production has different rate limits

It does not. If you are hitting limits in testing, you will hit the same ones in production, so test your real usage pattern, not just a single call.

The six-step test, already written

The QuickBooks Agent for Claude Code ($29) walks you through this exact sandbox test, keeps sandbox and production keys and tokens cleanly separate, and only moves you to the questionnaire once every step passes.

Get the QuickBooks Agent ($29)

Frequently Asked Questions

How many sandbox companies can I create?▼

Up to five per Intuit developer account. Each one comes preloaded with sample customers, invoices, and items, and can be reset or recreated if you want to start clean.

How long does a sandbox company last?▼

Intuit documents sandbox companies as lasting up to two years, and they can be reset before then if you need fresh sample data. You do not need to recreate one for every test.

Do sandbox and production share the same API rate limits?▼

Yes. QuickBooks applies the same 500 requests per minute and 10 concurrent requests per second, per company, regardless of whether the company is a sandbox or your real production books.

Can I keep testing in sandbox after I get production keys?▼

Yes, and you should. Development keys and your sandbox company keep working after your production keys are approved. Test any new command against the sandbox first, then run it for real.

What exactly should I test before switching to production?▼

Connect, read a report, deliberately trigger an error and confirm it is caught and logged, disconnect, confirm the old connection is refused, then reconnect. That is the same sequence Intuit’s own production-keys questionnaire asks whether you have done.

Related Reading

Sep Gaspari

Written by

Sep Gaspari

Founder & Digital Marketing Strategist, Zio Advertising | Kelowna, BC

15+ years in digital marketing, Google Ads, and SEO. I've helped businesses across 12+ industries generate qualified leads and grow revenue through data-driven strategies. I don't just run campaigns, I obsess over results, test relentlessly, and treat your budget like it's my own.

Connect on LinkedIn→

Based on our own sandbox-to-production QuickBooks setup, October 2026. Sources: Intuit Developer sandbox company documentation and API call limits and throttles reference.

Zio team member

Got a quick question?

Sep usually replies within a few hours

Or email us at [email protected]