Configuration Overview
After installing the QuickBooks Invoicing integration, you need to configure it to connect to your QuickBooks account and set up default preferences. This section guides you through the configuration process.
Configuration Steps
The configuration process takes approximately 10-15 minutes and includes:
- Connect to QuickBooks - Enter OAuth credentials and authenticate (5-10 minutes)
- Add CRM Card to Deals - Enable the QuickBooks Invoices card on deal records (2 minutes)
- Configure Default Settings - Set up default tax codes and products (3-5 minutes)
- Select Environment - Choose Sandbox or Production (included in step 1)
Prerequisites
Before configuring, make sure you have:
- Successfully installed the QuickBooks Invoicing integration from HubSpot Marketplace
- Super Admin permissions in HubSpot
- Completed Intuit Developer setup and have your credentials ready:
- Client ID
- Client Secret
- Environment (Sandbox or Production)
- QuickBooks Company Admin access (for OAuth authorization)
What You’ll Configure
QuickBooks Connection
Purpose: Establish OAuth connection between HubSpot and QuickBooks
What you’ll need:
- Client ID from Intuit Developer Portal
- Client Secret from Intuit Developer Portal
- QuickBooks account login credentials
What you’ll do:
- Enter credentials in HubSpot settings
- Choose environment (Sandbox or Production)
- Complete OAuth authorization flow
- Select QuickBooks company to connect
Result: Integration can access your QuickBooks account to create invoices and customers
Add CRM Card to Deals
Purpose: Enable the QuickBooks Invoices card to appear on deal records
What you’ll do:
- Navigate to HubSpot Settings → Objects → Deals
- Go to the Properties tab
- Scroll to the Cards section
- Find and enable the “QuickBooks Invoices” card
- Ensure it’s visible in your deal record layout
Result: QuickBooks Invoices tab appears in the middle column of all deal records
Note: The card may appear automatically after installation. If you don’t see it, follow these steps to enable it manually.
Step-by-Step Instructions:
- In HubSpot, click the Settings gear icon (top right)
- Navigate to Objects → Deals
- Click the Record Customization tab
- Click on the view you want to edit (or create a new view)
- In the Overview column, click “Add card”
- Find “QuickBooks Invoices” in the list of available cards
- Click to add the card to the view
- Save your changes
- The card will now appear in the middle column when viewing deal records
Verification: Open any deal record and check the middle column for the “QuickBooks Invoices” card.
Default Tax Code
Purpose: Pre-select a tax code for invoice creation
What you’ll choose:
- A tax code from your QuickBooks company
- Examples: “Sales Tax”, “Non-Taxable”, “Tax Exempt”
Benefits:
- Speeds up invoice creation (tax code pre-selected)
- Ensures consistency across invoices
- Reduces user errors
Optional: You can skip this and select tax code manually for each invoice
Default Product
Purpose: Pre-select a product/service for invoice line items
What you’ll choose:
- A product or service from your QuickBooks company
- Examples: “Services”, “Consulting”, “Sales”
Benefits:
- Faster invoice creation
- Consistent product categorization
- Simplified user experience
Optional: You can skip this and select product manually for each invoice
Configuration Workflow
Install App → Access Settings → Enter Credentials → Connect to QuickBooks → Configure Defaults → Start Creating InvoicesStep-by-Step Process
-
Access Settings Page:
- Go to HubSpot Settings → Integrations → Connected Apps
- Click on QuickBooks Invoicing
- Settings page opens with multiple tabs
-
Authentication Tab:
- Select environment (Sandbox or Production)
- Enter Client ID
- Enter Client Secret
- Click “Connect to QuickBooks”
- Complete OAuth authorization
-
Defaults Tab:
- Select default tax code (optional)
- Select default product (optional)
- Save settings
-
Add CRM Card:
- Navigate to Settings → Objects → Deals
- Click the “Record Customization” tab
- Click on the view to edit
- In the overview column, click “Add card”
- Find “QuickBooks Invoices” card and add it
- The card will appear in the middle column of deal records
-
Verification:
- Check connection status shows “Connected”
- QuickBooks company name displayed
- Default settings saved
- CRM card visible on deal records
-
Start Using:
- Open a deal record
- Click QuickBooks Invoices tab (middle column)
- Create your first invoice
Configuration Tabs
The settings page includes the following tabs:
Authentication Tab
What’s here:
- Environment selector (Sandbox/Production)
- Client ID input field
- Client Secret input field
- Connect to QuickBooks button
- Connection status display
- QuickBooks company name (when connected)
- Disconnect button (when connected)
Who can access: Super Admins only
When to use: Initial setup, switching environments, reconnecting
Defaults Tab
What’s here:
- Default tax code dropdown
- Default product dropdown
- Save button
Who can access: Super Admins only
When to use: Initial setup, changing defaults
Environment Selection
You must choose between two QuickBooks environments:
Sandbox (Development)
Use for:
- Testing the integration with sample data
- Training users on invoice creation
- Troubleshooting issues safely
- Development and QA
Credentials needed: Development Client ID and Secret
QuickBooks company: Sandbox test company
Data: Test data only (not real business data)
Production (Live)
Use for:
- Creating real invoices for customers
- Live business operations
- After testing in Sandbox is complete
Credentials needed: Production Client ID and Secret
QuickBooks company: Real QuickBooks Online company
Data: Live business data
Configuration Best Practices
Before You Start
✅ Do:
- Complete Intuit Developer setup first
- Have credentials ready (copy/paste from Intuit portal)
- Decide on Sandbox vs Production before connecting
- Test in Sandbox before using Production
- Document your configuration choices
❌ Don’t:
- Rush through configuration without reading instructions
- Use Production credentials for testing
- Share credentials via email or unsecure channels
- Skip Sandbox testing for production deployments
During Configuration
✅ Do:
- Double-check credentials before saving (copy/paste to avoid typos)
- Verify environment matches your credentials
- Test the connection immediately after setup
- Configure default tax code and product (saves time later)
- Note which QuickBooks company you connected to
❌ Don’t:
- Enter Production credentials when testing
- Connect to the wrong QuickBooks company
- Skip testing after configuration
- Ignore error messages
After Configuration
✅ Do:
- Create a test invoice to verify everything works
- Document which environment you’re using
- Train users on invoice creation
- Set up a process for invoice review
- Plan for production migration (if starting in Sandbox)
❌ Don’t:
- Assume everything works without testing
- Give all users access before testing
- Skip user training
- Forget to switch to Production when ready
Common Configuration Scenarios
Scenario 1: First-Time Setup for Testing
Goal: Test the integration before using with real data
Configuration:
- Environment: Sandbox
- Credentials: Development Client ID and Secret
- QuickBooks company: Sandbox test company
- Default tax code: Any tax code from sandbox
- Default product: Any product from sandbox
Next steps: Create test invoices, train users, verify functionality
Scenario 2: First-Time Setup for Production
Goal: Go live with real invoice creation
Prerequisites: Tested thoroughly in Sandbox
Configuration:
- Environment: Production
- Credentials: Production Client ID and Secret
- QuickBooks company: Real QuickBooks Online company
- Default tax code: Your most commonly used tax code
- Default product: Your default service/product
Next steps: Create first real invoice, monitor for issues
Scenario 3: Switching from Sandbox to Production
Goal: Migrate from testing to live use
Steps:
- Disconnect from Sandbox (in settings)
- Change environment to Production
- Enter Production credentials
- Connect to production QuickBooks company
- Reconfigure default tax code and product (may differ from sandbox)
See Environment Selection for detailed steps.
Scenario 4: Reconnecting After Credential Rotation
Goal: Update credentials for security
Steps:
- Disconnect in HubSpot settings
- Rotate credentials in Intuit Developer Portal
- Enter new Client Secret in HubSpot
- Reconnect to QuickBooks
- Verify connection works
Troubleshooting Configuration
Can’t Access Settings Page
Possible causes:
- Not a Super Admin in HubSpot
- App not fully installed
- Browser issue
Solutions:
- Verify you’re a Super Admin
- Try different browser
- Clear cache and retry
- Contact HubSpot support
See Authentication Troubleshooting for more details.
OAuth Connection Fails
Possible causes:
- Incorrect Client ID or Secret
- Wrong environment selected
- Redirect URI mismatch
- QuickBooks account access issues
Solutions:
- Verify credentials are correct (copy from Intuit portal)
- Check environment matches credentials (Sandbox vs Production)
- Verify redirect URI in Intuit Developer Portal
- Sign in to QuickBooks with admin account
- Try different browser
See Authentication Troubleshooting for comprehensive solutions.
Default Settings Won’t Save
Possible causes:
- Not connected to QuickBooks yet
- Invalid tax code or product ID
- Network timeout
Solutions:
- Connect to QuickBooks first (required before setting defaults)
- Verify tax code exists in QuickBooks
- Verify product exists in QuickBooks
- Check network connection
- Retry saving
Security During Configuration
Credential Handling
Your credentials are secured during and after configuration:
Entry:
- Client Secret entered in browser form (HTTPS)
- Transmitted to backend via encrypted connection
- Never stored in browser or logs
Storage:
- Encrypted using AES-256-GCM before database storage
- Unique encryption key derived per HubSpot account (PBKDF2, 100k iterations)
- Cannot be decrypted without account-specific key
Usage:
- Decrypted only in secure server-side context
- Never transmitted back to browser
- Used only for OAuth token exchange
See Security Best Practices for technical details.
OAuth Token Security
OAuth tokens obtained during configuration:
Tokens:
- Access token (1-hour lifespan)
- Refresh token (100-day lifespan, rolling)
Security:
- Encrypted immediately upon receipt
- Same encryption as credentials (AES-256-GCM, derived keys)
- Auto-refreshed when access token expires
- Deleted immediately upon disconnection
Privacy guarantee: After disconnection, tokens are permanently deleted and we cannot access your QuickBooks data.
Next Steps
Ready to configure the integration?
- Connect to QuickBooks - Start here for step-by-step connection guide
- Environment Selection - Understand Sandbox vs Production in detail
- Default Settings - Configure tax codes and products after connecting
Already configured? Start using the integration:
- Creating Invoices - Learn how to create your first invoice
- Best Practices - Optimize your invoice workflow
Additional Resources
- Intuit Developer Setup - Complete Intuit setup if you haven’t already
- Installation Guide - Install the app before configuring
- Troubleshooting - Fix configuration issues
- Data Sharing Reference - Understand what data flows where