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
| Feature | Sandbox | Production |
|---|---|---|
| Purpose | Testing and development | Live business use |
| Data | Sample/test data | Real business data |
| QuickBooks Company | Sandbox test companies | Real QuickBooks Online companies |
| Credentials Required | Development Client ID & Secret | Production Client ID & Secret |
| Cost | Free | Included with QuickBooks subscription |
| Invoices Created | Test invoices | Real customer invoices |
| Customer Impact | None (test data only) | Direct impact on business |
| Email Delivery | May not actually send | Sends real emails to customers |
| Requirements | Developer account only | Privacy 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:
- Sign in to developer.intuit.com
- Navigate to Dashboard or Sandbox
- Click Create a sandbox company
- Choose company type:
- Service-based business
- Product-based business
- Hybrid
- 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:
- Thorough Sandbox Testing: All features tested and working
- Production Credentials: Generated in Intuit Developer Portal
- Privacy Policy URL: Publicly accessible privacy policy
- EULA URL: End-User License Agreement URL
- QuickBooks Company: Real QuickBooks Online company
Generating Production Credentials:
- Go to Intuit Developer Portal → Your App → Keys & credentials
- Scroll to Production section
- Enter required URLs:
- Privacy Policy URL
- EULA URL
- Click Create Production Keys
- 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:
- Open HubSpot settings → QuickBooks Invoicing → Authentication tab
- See Environment dropdown with two options:
- Sandbox
- Production
- Select based on your current goal:
- Testing/setup → Choose Sandbox
- Ready for live use → Choose Production
Environment and Credentials Must Match
| Environment Selected | Credentials Required |
|---|---|
| Sandbox | Development Client ID & Secret |
| Production | Production 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:
- Check which environment you selected
- 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:
- Go to settings → QuickBooks Invoicing → Authentication tab
- Click Disconnect (disconnects from Sandbox)
- Change Environment dropdown from “Sandbox” to “Production”
- Enter Production Client ID
- Enter Production Client Secret
- Click Connect to QuickBooks
- Sign in with QuickBooks Company Admin account
- Select your production QuickBooks company
- 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:
- Click Disconnect in Authentication tab
- Change Environment to “Sandbox”
- Enter Development credentials
- 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:
- Click Disconnect
- Keep environment the same
- Keep credentials the same
- Click Connect to QuickBooks
- 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
Recommended Workflow
-
Start in Sandbox (Week 1):
- Set up integration
- Create test invoices
- Train internal team
- Test all features thoroughly
-
Internal Testing (Week 2):
- Multiple users test in Sandbox
- Document any issues
- Refine processes and workflows
- Create user guides
-
Beta Testing (Week 3):
- Select trusted users
- Create a few real invoices in Sandbox
- Gather feedback
-
Production Migration (Week 4):
- Generate Production credentials
- Switch to Production environment
- Create first production invoice
- Monitor closely
-
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:
- Verify environment selection (Sandbox or Production)
- Check which credentials you’re using:
- Sandbox → Development section in Intuit portal
- Production → Production section in Intuit portal
- Copy correct credentials and retry
Connected to Wrong QuickBooks Company
Cause: Selected wrong company during OAuth
Solution:
- Disconnect in settings
- Reconnect (same environment, same credentials)
- During OAuth, carefully select the correct company
- 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:
- Go to Intuit Developer Portal → Your App
- Navigate to Production keys section
- Enter Privacy Policy URL (publicly accessible)
- Enter EULA URL (publicly accessible)
- Both must be HTTPS URLs
- 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
- Create Sandbox Company - Set up test company
- Connect to QuickBooks - Connect using Development credentials
- Create Test Invoices - Practice invoice creation
If Using Production
- Generate Production Keys - Create production credentials
- Connect to QuickBooks - Connect using Production credentials
- Create First Invoice - Create real invoice
If Switching Environments
- Follow switching steps above
- Update default settings for new environment
- Test connection with invoice creation
Additional Resources
- Sandbox vs Production - Detailed Intuit setup guide
- Get Credentials - How to obtain credentials for each environment
- Connect to QuickBooks - Connection instructions
- Intuit Sandbox Documentation - Official Intuit sandbox guide