ServiceFlow Pro Docs
Invoices & Payments

QuickBooks Online Sync

Sync customers, invoices, and payments with QuickBooks.
7 min read

QuickBooks Online Sync

Overview

QuickBooks Online sync keeps customers, invoices, payments, expenses, items, and credit memos aligned between ServiceFlow and your QuickBooks company. Connect once via OAuth, map income and accounts receivable accounts, then run outbound sync (ServiceFlow → QuickBooks) and optional inbound sync (QuickBooks → ServiceFlow) from a control center in integrations settings.
A sync dashboard shows synced, pending, and failed counts; a sync log captures individual run details for troubleshooting.

How to access

SurfacePath
IntegrationsSettings → Integrations (/settings/integrations)
QuickBooks control centerSettings → Integrations → QuickBooks — opens when connected or from Connect button
Tabs inside control centerOverview, Sync Settings, Account Mapping, Sync Dashboard, Sync Log, Setup Guide

What you can do today

  • Connect QuickBooks Online via Intuit OAuth
  • Toggle automatic sync and per-entity sync flags (customer, invoice, payment, expense, item, credit memo)
  • Enable inbound sync to pull changes from QuickBooks into ServiceFlow
  • Map Income and A/R accounts (required before invoice outbound sync)
  • Run manual outbound or inbound sync from the sync dashboard
  • View dashboard stats: synced, pending, failed, last sync timestamps
  • Review sync log entries for errors
  • Disconnect and reconnect QuickBooks
  • Copy OAuth redirect URI and webhook URL from the Setup Guide tab

Prerequisites

Setup path: Settings → Integrations → QuickBooks (/settings/integrations)
Platform and business requirements:
  1. QuickBooks Online subscription (not Desktop-only without bridge)
  2. Intuit Developer app with OAuth redirect URI matching your API:
    https://<your-api-host>/api/quickbooks/callback
    
  3. API environment variables configured by your administrator:
    • QUICKBOOKS_CLIENT_ID
    • QUICKBOOKS_CLIENT_SECRET
    • QUICKBOOKS_REDIRECT_URI
    • QUICKBOOKS_TOKEN_ENCRYPTION_KEY
    • QUICKBOOKS_WEBHOOK_VERIFIER_TOKEN (optional, for inbound webhooks)
  4. Account mapping completed — at minimum Income and A/R accounts before syncing invoices outbound
  5. User with business settings access to connect integrations

Step-by-step

1. Connect QuickBooks

  1. Go to Settings → Integrations.
  2. Find QuickBooks Online and click Connect QuickBooks Online.
  3. Sign in with Intuit and authorize ServiceFlow for your company.
  4. On success, the QuickBooks Control Center opens with company name, realm ID, and environment.

2. Complete account mapping

  1. Open the Account Mapping tab.
  2. Select Income account and Accounts Receivable account (and other mappings as offered).
  3. Save mappings. The Overview tab warns until income and A/R are set.

3. Configure sync settings

  1. Open Sync Settings.
  2. Toggle Automatic Sync if you want background sync.
  3. Toggle Inbound Sync (QuickBooks → ServiceFlow) if you need two-way updates.
  4. Enable or disable each entity type: customer, invoice, payment, expense, item, credit memo.
  5. Save sync settings.

4. Run sync from the dashboard

  1. Open Sync Dashboard.
  2. Review Synced, Pending, and Failed counts and last sync times.
  3. Click Sync to QuickBooks (outbound) or Sync from QuickBooks (inbound).
  4. Review the result message (synced / failed / skipped counts).

5. Troubleshoot with the sync log

  1. Open Sync Log.
  2. Filter or scroll to failed entries and read error messages.
  3. Fix mapping or data issues, then re-run sync from the dashboard.

6. Optional: Intuit webhooks

  1. On the Setup Guide tab, copy Webhook URL and Verifier token.
  2. In Intuit Developer → Webhooks, register the URL for real-time inbound events.
  3. Reduces reliance on manual inbound sync runs.

7. Disconnect (if needed)

  1. From Overview, click Disconnect QuickBooks.
  2. Confirm — sync stops until you reconnect and re-map if necessary.

Current limitations

  • QuickBooks Online only — not QuickBooks Desktop native sync
  • Invoice outbound sync blocked until income and A/R mappings exist
  • Token refresh errors surface on Overview — reconnect may be required after long idle periods
  • Conflict resolution favors configured sync direction; review inbound settings before enabling on busy books
  • Not every ServiceFlow custom field maps to QuickBooks entities — expect subset sync
  • Initial bulk sync of large histories may require multiple manual runs

Roadmap

  • Richer field-level mapping UI for line items and classes
  • Scheduled sync reports emailed to administrators
  • Tighter payment-processor reconciliation (Stripe/Helcim) with QuickBooks deposits

Related features