QuickBooks Setup Guide
Complete guide to connecting your QuickBooks Online account to Codeless Sync.
QuickBooks Setup Guide
This guide helps you connect your QuickBooks Online account to Codeless Sync. Unlike Stripe which uses API keys, QuickBooks uses OAuth authentication for a secure, one-click connection experience.
Prerequisites
- A QuickBooks Online account (Desktop versions are not supported)
- Admin or Company Admin access to the QuickBooks company you want to connect
- An active CLS account
QuickBooks Desktop is not supported. You must have a QuickBooks Online subscription.
How QuickBooks Connection Works
QuickBooks uses OAuth 2.0 for secure authorization:
- No API keys needed - You don't need to create or manage API keys
- One-click authorization - Simply click "Connect" and authorize in QuickBooks
- Read-only access - CLS only requests permission to read your data
- Secure token storage - OAuth tokens are encrypted and stored securely
- Automatic refresh - Tokens are automatically refreshed before expiration
Step 1: Start the Connection
- Go to your CLS dashboard
- Create a new configuration
- Select QuickBooks as your provider
- Choose the data type you want to sync (Customers, Invoices, etc.)
- Click the Connect QuickBooks button
If you've already connected a QuickBooks company, you can select an existing connection instead of creating a new one.
Step 2: Authorize in QuickBooks
After clicking "Connect QuickBooks":
- You'll be redirected to Intuit's secure login page
- Sign in with your QuickBooks credentials
- If you have multiple companies, select the one you want to connect
- Review the permissions CLS is requesting
- Click Connect to authorize
Make sure you're signing into the correct QuickBooks company. Each company requires its own connection.
Step 3: Complete Setup
After authorization:
- You'll be automatically redirected back to CLS
- Your connection status will show as "Connected"
- Continue with the configuration wizard
- Set up your database table and complete the configuration
Permissions Requested
CLS requests the following read-only permissions:
| Permission | Data Access |
|---|---|
| Customers | Customer names, contact info, addresses |
| Invoices | Invoice details, line items, amounts |
| Payments | Payment records, amounts, dates |
| Items | Products and services in your catalog |
CLS only requests read access. We cannot modify, create, or delete any data in your QuickBooks account.
Managing Connections
View Connections
All your QuickBooks connections are visible in the CLS dashboard:
- Connection status (Connected, Expired, Error)
- Company name and ID
- Last sync time
- Associated configurations
Reusing Connections
Once connected, a QuickBooks company can be used across multiple sync configurations:
- Create one connection per QuickBooks company
- Use that connection for multiple data types (Customers, Invoices, etc.)
- Each configuration can have its own sync schedule
Revoking Access
To disconnect CLS from your QuickBooks account:
From CLS:
- Go to the Connections page in your dashboard
- Find the connection you want to remove
- Click Disconnect
From QuickBooks:
- Log into QuickBooks Online
- Go to Settings → Manage Users → Apps
- Find Codeless Sync
- Click Remove
Security Best Practices
Token Security
- OAuth tokens are encrypted at rest using AES-256
- Tokens are automatically refreshed before expiration
- Refresh tokens are stored separately from access tokens
Access Control
- Only users with admin access to your CLS account can view connections
- Connection credentials are never exposed in the UI
- All API communication uses HTTPS
Regular Review
- Periodically review your connected apps in QuickBooks
- Remove connections you no longer use
- Monitor sync activity in the CLS dashboard
Multi-Company Support
CLS supports connecting multiple QuickBooks companies:
- Each company requires its own OAuth connection
- Data from all companies can sync to the same database table
- Use the
company_idcolumn to distinguish between companies
See the Multi-Company Support guide for detailed information on working with multiple QuickBooks companies.
Common Issues
Authorization Failed
If you see an authorization error:
- Ensure you have admin access to the QuickBooks company
- Try signing out of QuickBooks completely, then reconnect
- Clear your browser cookies and try again
- Check if your QuickBooks subscription is active
Wrong Company Connected
If you connected the wrong company:
- Disconnect the current connection in CLS
- Start a new connection
- When prompted, select the correct company in QuickBooks
Connection Expired
OAuth tokens typically don't expire as long as they're being used regularly. If you see an expired connection:
- CLS will attempt to automatically refresh the token
- If auto-refresh fails, you'll see a "Reconnect" button
- Click Reconnect to re-authorize
"Access Denied" Errors
If syncs fail with access denied:
- Verify your QuickBooks subscription is active
- Ensure you haven't revoked CLS access in QuickBooks
- Check if your QuickBooks user still has admin permissions
- Try disconnecting and reconnecting
Troubleshooting Connection Issues
Check Connection Status
- Go to your CLS dashboard
- Navigate to the configuration using the connection
- Check the connection status indicator
Test the Connection
If a connection shows errors:
- Try triggering a manual sync
- Check the sync history for specific error messages
- If errors persist, reconnect the QuickBooks account
Browser Issues
If the OAuth popup doesn't appear or fails:
- Disable popup blockers for the CLS domain
- Try a different browser
- Clear browser cache and cookies
- Ensure JavaScript is enabled
Next Steps
- Quick Start Guide - Create your first sync
- Configurations - Learn about sync configs
- Multi-Company Support - Working with multiple companies
- Troubleshooting - Common issues and solutions