Skip to Content

Sandbox vs Production

Understanding the difference between Sandbox and Production environments is crucial for safely testing and deploying your QuickBooks integration. This guide explains when to use each environment and how to transition between them.

Overview

Intuit provides two separate environments for QuickBooks Online apps:

  • Sandbox (Development): For testing with sample data
  • Production: For live customer data

Sandbox Environment

What is Sandbox?

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

Key Characteristics

  • Separate data: Completely isolated from production QuickBooks companies
  • Test companies: Create unlimited test companies for free
  • Sample data: Pre-populated with sample invoices, customers, and products
  • No cost: Free to use for development and testing
  • Development credentials: Uses Development Client ID and Secret

When to Use Sandbox

Use Sandbox for:

  • Initial development and testing
  • Testing new features before production release
  • Training and demonstrations
  • Troubleshooting issues without risking real data
  • QA and regression testing
  • Beta testing with internal teams

Don’t use Sandbox for:

  • Live customer transactions
  • Real business operations
  • Production deployments
  • Customer-facing features

Creating Sandbox Companies

To test your integration, you’ll need a QuickBooks Sandbox company:

  1. Sign in to developer.intuit.com 
  2. Go to Dashboard or Sandbox
  3. Click Create a sandbox company
  4. Choose a company type (e.g., Service-based, Product-based)
  5. Your sandbox company is created instantly

Note: Sandbox companies have the same features as production companies but use test data.

Production Environment

What is Production?

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

Key Characteristics

  • Real data: Connects to live QuickBooks companies
  • Real transactions: Creates actual invoices and financial records
  • Customer-facing: Used by your end users
  • Requires credentials: Uses Production Client ID and Secret
  • Compliance required: Must provide Privacy Policy and EULA

When to Use Production

Use Production for:

  • Live customer deployments
  • Real business transactions
  • Production invoicing
  • Customer-facing features
  • After thorough sandbox testing

Don’t use Production for:

  • Initial development
  • Untested features
  • Training or demos
  • Experimental functionality

Production Requirements

Before you can use Production credentials, you must:

  1. Privacy Policy: Publicly accessible URL explaining data handling
  2. EULA: End-User License Agreement URL
  3. Testing: Thorough testing in Sandbox environment
  4. Documentation: User-facing setup instructions

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

Comparison Table

FeatureSandboxProduction
PurposeTesting and developmentLive customer use
DataTest/sample dataReal business data
CompaniesSandbox companies onlyReal QuickBooks companies
CredentialsDevelopment keysProduction keys
CostFreeIncluded with QB subscription
RequirementsDeveloper account onlyPrivacy Policy + EULA
API Rate Limits500 requests/minute500 requests/minute
Data PersistenceMay be resetPermanent
Customer ImpactNoneDirect impact on business

Transitioning from Sandbox to Production

Step 1: Complete Sandbox Testing

Before moving to production:

  • All features work correctly in Sandbox
  • Invoice creation tested thoroughly
  • Email functionality verified
  • Customer sync working properly
  • Error handling tested
  • Edge cases covered

Step 2: Prepare Production Requirements

Gather the required documentation:

  • Privacy Policy URL ready
  • EULA URL ready
  • App description written
  • Support contact information updated

Step 3: Generate Production Keys

  1. Go to your app in Intuit Developer Portal
  2. Navigate to Keys & credentials
  3. Go to the Production section
  4. Enter Privacy Policy URL
  5. Enter EULA URL
  6. Click Create Production Keys
  7. Copy and save your Production credentials

Step 4: Update HubSpot Configuration

In your HubSpot integration settings:

  1. Switch from Sandbox to Production environment
  2. Enter your Production Client ID
  3. Enter your Production Client Secret
  4. Save and test the connection
  5. Authorize with a real QuickBooks company

Step 5: Test with Real Data

Perform final testing in production:

  • Create a test invoice in a real QuickBooks company
  • Verify the invoice appears correctly in QuickBooks
  • Test email functionality
  • Confirm customer sync works
  • Monitor for any errors

Warning: Test with a non-critical QuickBooks company first, or create a dedicated test company for final production testing.

Best Practices

Development Workflow

  1. Develop in Sandbox: Build all features using sandbox
  2. Test thoroughly: Complete comprehensive testing
  3. Internal QA: Have team members test in sandbox
  4. Beta test: Test with select customers in sandbox
  5. Migrate to Production: Only after everything works perfectly
  6. Monitor: Watch for issues in production

Switching Environments

In the HubSpot integration settings:

  • Environment selector: Choose “Sandbox” or “Production”
  • Credentials: Different for each environment
  • Re-authentication: Required when switching environments
  • Company data: Separate between environments

Common Pitfalls to Avoid

Don’t:

  • Test new features in production first
  • Use production credentials in sandbox
  • Mix sandbox and production data
  • Skip thorough sandbox testing
  • Deploy untested code to production

Do:

  • Always test in sandbox first
  • Keep credentials separate
  • Document your testing process
  • Have a rollback plan
  • Monitor production closely after deployment

Sandbox Limitations

While sandbox closely mirrors production, there are some limitations:

  • Data reset: Sandbox data may be periodically reset
  • Performance: May be slower than production
  • Email: Emails may not actually send (simulation mode)
  • Webhooks: May have different behavior
  • Third-party integrations: May not work in sandbox

Note: Always verify critical features in production during final testing, even after thorough sandbox testing.

OAuth Considerations

Sandbox OAuth

  • Uses Development Client ID and Secret
  • Redirects to sandbox QuickBooks companies
  • Users select from their sandbox companies
  • Tokens are specific to sandbox environment

Production OAuth

  • Uses Production Client ID and Secret
  • Redirects to real QuickBooks companies
  • Users select from their actual companies
  • Tokens work only in production environment

Important: Tokens are not interchangeable between environments. A sandbox token cannot access production data and vice versa.

Troubleshooting

Can’t Create Sandbox Company

  • Verify your developer account is active
  • Check that you’re signed in to the developer portal
  • Try a different browser
  • Contact Intuit support

Production Keys Not Available

  • Ensure you’ve provided Privacy Policy URL
  • Verify EULA URL is accessible
  • Check that URLs are publicly accessible (not behind login)
  • URLs must use HTTPS

Wrong Environment Connected

If you’re connected to the wrong environment:

  1. Go to HubSpot integration settings
  2. Change the environment selector
  3. Enter the correct credentials for that environment
  4. Disconnect and reconnect to QuickBooks
  5. Authorize with the appropriate company type

Data Migration

Note: There is no automatic data migration from Sandbox to Production. Data in sandbox companies stays in sandbox. When you connect to production, you start fresh with real QuickBooks company data.

If you created test data in sandbox that you need in production:

  • Recreate it manually in production
  • Use QuickBooks import tools
  • Consider using the QuickBooks API to migrate data

Next Steps

Additional Resources

Last updated on