Skip to Content

Environment Selection

Choosing between Sandbox and Production environments is an important decision when configuring the QuickBooks Invoicing integration. This guide explains the differences and helps you choose the right environment for your needs.

Overview

The integration supports two QuickBooks environments:

  • Sandbox (Development): For testing with sample data
  • Production (Live): For real business operations

You select the environment when connecting to QuickBooks, and you can switch between them at any time.

Environment Comparison

FeatureSandboxProduction
PurposeTesting and developmentLive business use
DataSample/test dataReal business data
QuickBooks CompanySandbox test companiesReal QuickBooks Online companies
Credentials RequiredDevelopment Client ID & SecretProduction Client ID & Secret
CostFreeIncluded with QuickBooks subscription
Invoices CreatedTest invoicesReal customer invoices
Customer ImpactNone (test data only)Direct impact on business
Email DeliveryMay not actually sendSends real emails to customers
RequirementsDeveloper account onlyPrivacy Policy + EULA URLs

Sandbox Environment

What is Sandbox?

Sandbox is a complete testing environment that mirrors QuickBooks Online functionality without affecting real business data.

Key characteristics:

  • Isolated from production data
  • Pre-populated with sample invoices, customers, products
  • Free to use for development and testing
  • No risk to real business operations

When to Use Sandbox

Use Sandbox for:

  • Initial integration setup and testing
  • Training users on invoice creation
  • Testing new features or workflows
  • Troubleshooting issues safely
  • QA and regression testing
  • Internal demos and evaluation

Don’t use Sandbox for:

  • Creating real customer invoices
  • Live business operations
  • Production deployment

Creating Sandbox Companies

To use Sandbox, you need a QuickBooks Sandbox company:

  1. Sign in to developer.intuit.com 
  2. Navigate to Dashboard or Sandbox
  3. Click Create a sandbox company
  4. Choose company type:
    • Service-based business
    • Product-based business
    • Hybrid
  5. Company created instantly with sample data

Sample data includes:

  • Pre-existing customers
  • Sample invoices
  • Products and services
  • Tax codes
  • Sample transactions

Sandbox Limitations

While Sandbox closely mirrors Production, there are some differences:

Limitations:

  • Data may be reset periodically by Intuit
  • Performance may be slower than production
  • Email delivery may be simulated (not actually sent)
  • Some third-party integrations may not work
  • Webhooks may behave differently

Best practice: Always verify critical features in Production during final testing, even after thorough Sandbox testing.


Production Environment

What is Production?

Production connects to real QuickBooks Online companies with actual business data.

Key characteristics:

  • Real customer and financial data
  • Invoices created are real and billable
  • Emails sent to actual customers
  • Permanent data (not reset)

When to Use Production

Use Production for:

  • Live customer invoicing
  • Real business transactions
  • After completing Sandbox testing
  • Customer-facing features

Don’t use Production for:

  • Initial development and testing
  • Experimenting with features
  • Training (use Sandbox instead)
  • Troubleshooting unknown issues

Production Requirements

Before using Production, you must have:

  1. Thorough Sandbox Testing: All features tested and working
  2. Production Credentials: Generated in Intuit Developer Portal
  3. Privacy Policy URL: Publicly accessible privacy policy
  4. EULA URL: End-User License Agreement URL
  5. QuickBooks Company: Real QuickBooks Online company

Generating Production Credentials:

  1. Go to Intuit Developer Portal → Your App → Keys & credentials
  2. Scroll to Production section
  3. Enter required URLs:
    • Privacy Policy URL
    • EULA URL
  4. Click Create Production Keys
  5. Copy Client ID and Secret

Important: Production keys cannot be generated without providing Privacy Policy and EULA URLs.

See Get Credentials for detailed instructions.


Selecting Your Environment

During Initial Connection

When you first connect to QuickBooks:

  1. Open HubSpot settings → QuickBooks Invoicing → Authentication tab
  2. See Environment dropdown with two options:
    • Sandbox
    • Production
  3. Select based on your current goal:
    • Testing/setup → Choose Sandbox
    • Ready for live use → Choose Production

Environment and Credentials Must Match

Environment SelectedCredentials Required
SandboxDevelopment Client ID & Secret
ProductionProduction Client ID & Secret

Mismatch = Connection Failure:

  • If you select Sandbox but enter Production credentials → OAuth fails
  • If you select Production but enter Development credentials → OAuth fails

Always verify:

  1. Check which environment you selected
  2. Use corresponding credentials from Intuit portal

Switching Between Environments

From Sandbox to Production

When to switch: After completing testing and ready for live use

Steps:

  1. Go to settings → QuickBooks Invoicing → Authentication tab
  2. Click Disconnect (disconnects from Sandbox)
  3. Change Environment dropdown from “Sandbox” to “Production”
  4. Enter Production Client ID
  5. Enter Production Client Secret
  6. Click Connect to QuickBooks
  7. Sign in with QuickBooks Company Admin account
  8. Select your production QuickBooks company
  9. Authorize the connection

What’s preserved:

  • ✅ Default tax code and product settings (but may need updating)
  • ✅ HubSpot app installation
  • ✅ CRM card on deals

What changes:

  • ❌ Connected QuickBooks company (now production)
  • ❌ OAuth tokens (new tokens for production)
  • ❌ Available invoices (production company data, not sandbox data)

From Production to Sandbox

When to switch: To test new features or troubleshoot issues

Steps:

  1. Click Disconnect in Authentication tab
  2. Change Environment to “Sandbox”
  3. Enter Development credentials
  4. Connect to Sandbox company

Warning: This disconnects you from production. Consider whether you need both environments simultaneously (not supported - only one connection at a time).

Switching QuickBooks Companies (Same Environment)

To connect to a different company in the same environment:

  1. Click Disconnect
  2. Keep environment the same
  3. Keep credentials the same
  4. Click Connect to QuickBooks
  5. During OAuth, select the different company

No need to change environment or credentials.


Data Isolation

Sandbox and Production Are Completely Separate

Sandbox data:

  • Stays in sandbox companies
  • Never appears in production
  • Reset periodically by Intuit
  • No customer impact

Production data:

  • Stays in production companies
  • Real invoices and customers
  • Permanent records
  • Direct customer impact

No data migration: There is no automatic way to copy data from Sandbox to Production.

Moving from Sandbox to Production

When you switch environments:

What happens to Sandbox data:

  • Sandbox invoices remain in sandbox company
  • Sandbox customers remain in sandbox company
  • Data is NOT migrated to production

Starting fresh in Production:

  • Production company has its own existing data
  • Integration creates new invoices in production
  • May need to sync customers again

If you created test data in Sandbox:

  • Cannot automatically import to production
  • Recreate manually in production QuickBooks if needed
  • Or use QuickBooks’ native import tools

Development Workflow Recommendations

  1. Start in Sandbox (Week 1):

    • Set up integration
    • Create test invoices
    • Train internal team
    • Test all features thoroughly
  2. Internal Testing (Week 2):

    • Multiple users test in Sandbox
    • Document any issues
    • Refine processes and workflows
    • Create user guides
  3. Beta Testing (Week 3):

    • Select trusted users
    • Create a few real invoices in Sandbox
    • Gather feedback
  4. Production Migration (Week 4):

    • Generate Production credentials
    • Switch to Production environment
    • Create first production invoice
    • Monitor closely
  5. Full Rollout:

    • Enable for all users
    • Provide training and documentation
    • Offer ongoing support

Parallel Environments (Not Supported)

Note: You cannot be connected to both Sandbox and Production simultaneously. The integration supports one active connection at a time.

If you need both:

  • Use Sandbox in one HubSpot account
  • Use Production in a different HubSpot account
  • Or switch back and forth as needed (quick 2-minute process)

Troubleshooting Environment Issues

”Invalid Client Credentials” After Switching Environments

Cause: Used wrong credentials for the environment

Solution:

  1. Verify environment selection (Sandbox or Production)
  2. Check which credentials you’re using:
    • Sandbox → Development section in Intuit portal
    • Production → Production section in Intuit portal
  3. Copy correct credentials and retry

Connected to Wrong QuickBooks Company

Cause: Selected wrong company during OAuth

Solution:

  1. Disconnect in settings
  2. Reconnect (same environment, same credentials)
  3. During OAuth, carefully select the correct company
  4. Verify company name in settings after connection

Sandbox Data Disappeared

Cause: Intuit periodically resets sandbox data

Solution:

  • This is normal behavior for sandbox environments
  • Recreate test data as needed
  • Don’t rely on sandbox data persistence
  • For critical testing, create fresh data each time

Cannot Generate Production Keys

Cause: Privacy Policy or EULA URL not provided

Solution:

  1. Go to Intuit Developer Portal → Your App
  2. Navigate to Production keys section
  3. Enter Privacy Policy URL (publicly accessible)
  4. Enter EULA URL (publicly accessible)
  5. Both must be HTTPS URLs
  6. Click Create Production Keys

See Get Credentials for details.


Best Practices

For Development and Testing

Do:

  • Always start in Sandbox
  • Test all features thoroughly before production
  • Create multiple test scenarios
  • Train users in Sandbox first
  • Document your testing process

Don’t:

  • Skip Sandbox testing
  • Test directly in Production
  • Assume Sandbox = Production (verify in prod)
  • Use production credentials in Sandbox

For Production Deployment

Do:

  • Complete comprehensive Sandbox testing first
  • Have Privacy Policy and EULA URLs ready
  • Test with one real invoice before full rollout
  • Monitor first week of production usage
  • Have rollback plan (can switch back to Sandbox)

Don’t:

  • Deploy to production without testing
  • Use production for experimentation
  • Share production credentials
  • Forget to update default settings for production

For Ongoing Use

Do:

  • Use Production for all live customer invoices
  • Return to Sandbox for testing new workflows
  • Document which environment you’re using
  • Review environment regularly (quarterly)

Don’t:

  • Mix up environments (confusion about which is active)
  • Stay in Sandbox when you should be in Production
  • Create real invoices in Sandbox

Frequently Asked Questions

Can I use both Sandbox and Production at the same time?

No. The integration supports one active connection at a time. You must disconnect from one environment to connect to the other.

Will switching environments delete my data?

No. Switching only changes which QuickBooks company you’re connected to. Data in both Sandbox and Production companies remains intact.

Do I need different HubSpot accounts for Sandbox and Production?

No. You can use the same HubSpot account and switch the integration between Sandbox and Production as needed.

How long does it take to switch environments?

About 5 minutes: Disconnect (30 seconds) + Change credentials (1 minute) + Reconnect (3 minutes).

Can I test in Production without sending real invoices?

Not recommended. If you need to test with real data, create a separate test QuickBooks company (not sandbox) and connect to that.

What if I accidentally create an invoice in the wrong environment?

  • Sandbox invoice in production company: Delete it in QuickBooks
  • Production invoice in sandbox: No impact (sandbox data is test data)
  • Best practice: Label environments clearly to avoid confusion

Do default settings carry over when switching environments?

Settings are preserved, but you may need to update them:

  • Tax codes in Production may differ from Sandbox
  • Products in Production may differ from Sandbox
  • Review and update defaults after switching

Next Steps

If Using Sandbox

  1. Create Sandbox Company  - Set up test company
  2. Connect to QuickBooks - Connect using Development credentials
  3. Create Test Invoices - Practice invoice creation

If Using Production

  1. Generate Production Keys - Create production credentials
  2. Connect to QuickBooks - Connect using Production credentials
  3. Create First Invoice - Create real invoice

If Switching Environments

  1. Follow switching steps above
  2. Update default settings for new environment
  3. Test connection with invoice creation

Additional Resources

Last updated on