QuickBooks Setup Guide

Complete guide to connecting your QuickBooks Online account to Codeless Sync.

Updated: 29 Jan 2026

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

  1. Go to your CLS dashboard
  2. Create a new configuration
  3. Select QuickBooks as your provider
  4. Choose the data type you want to sync (Customers, Invoices, etc.)
  5. 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":

  1. You'll be redirected to Intuit's secure login page
  2. Sign in with your QuickBooks credentials
  3. If you have multiple companies, select the one you want to connect
  4. Review the permissions CLS is requesting
  5. 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:

  1. You'll be automatically redirected back to CLS
  2. Your connection status will show as "Connected"
  3. Continue with the configuration wizard
  4. Set up your database table and complete the configuration

Permissions Requested

CLS requests the following read-only permissions:

PermissionData Access
CustomersCustomer names, contact info, addresses
InvoicesInvoice details, line items, amounts
PaymentsPayment records, amounts, dates
ItemsProducts 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:

  1. Go to the Connections page in your dashboard
  2. Find the connection you want to remove
  3. Click Disconnect

From QuickBooks:

  1. Log into QuickBooks Online
  2. Go to Settings → Manage Users → Apps
  3. Find Codeless Sync
  4. 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_id column 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:

  1. Disconnect the current connection in CLS
  2. Start a new connection
  3. 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:

  1. CLS will attempt to automatically refresh the token
  2. If auto-refresh fails, you'll see a "Reconnect" button
  3. 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

  1. Go to your CLS dashboard
  2. Navigate to the configuration using the connection
  3. Check the connection status indicator

Test the Connection

If a connection shows errors:

  1. Try triggering a manual sync
  2. Check the sync history for specific error messages
  3. 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