Most contractors run QuickBooks. Most contractors also outgrow running their jobs in QuickBooks within the first year — because QuickBooks is a ledger, and a job is not a ledger entry. It's an estimate, a signed proposal, a crew schedule, thirty photos, two change orders, and a progress invoice, and only the money parts belong in accounting.

The right mental model: the CRM runs the job, QuickBooks keeps the books. Here's where the line goes and how the sync should behave.

What belongs in the CRM

  • Everything pre-revenue: leads, pipeline stages, estimates, proposals, e-signatures. QuickBooks has no concept of a job you haven't won yet — and stuffing dead leads into it as customers pollutes the file forever.
  • Job execution: scheduling, dispatch, photos, punch lists, change orders, daily activity. None of this is accounting data.
  • Customer-facing money documents: the invoice the customer sees — branded, tied to the approved estimate, payable online — is a sales document first and a ledger entry second.
  • Operational job costing: estimate-vs-actual while the job is running, when you can still fix it. QuickBooks tells you a job lost money after it's over; the CRM should warn you in week two.

What belongs in QuickBooks

  • The general ledger, chart of accounts, and the tax-ready truth
  • Payroll, bank feeds, and reconciliation
  • Accounts payable — vendor bills and payments (with the CRM tracking the purchase orders and receipts that explain them)
  • Your accountant's entire relationship with your business

What a good sync actually moves

A useful contractor-CRM ↔ QuickBooks sync is narrower than the marketing implies, and that's a feature:

  1. Customers: created or matched in QuickBooks when a job becomes real — not before.
  2. Invoices: flow from CRM to QuickBooks with line detail, so AR lives in one place and the ledger agrees with what the customer saw.
  3. Payments: recorded once, reflected in both. If a customer pays online through the CRM, that payment must land against the same invoice in QuickBooks without a human retyping it.
  4. Expenses/bills: vendor bills entered or synced so job costing sees real costs.

That's it. Be suspicious of syncs that promise to mirror everything both directions in real time — the more surface area a sync has, the more ways duplicate customers and double-counted revenue creep in.

The three traps

  1. Double entry of invoices. If your office enters an invoice in the CRM and in QuickBooks "to be safe," you now have two invoice numbers, two totals to reconcile, and eventually two versions of the truth. Pick the CRM as the origin, let the sync carry it.
  2. Syncing every lead as a customer. A thousand dead leads in your QuickBooks customer list makes your accountant slower and your file worse. Sync on first invoice, not on first phone call.
  3. Ignoring the lock. Once a bill is paid or a period is closed in accounting, the CRM should treat that record as locked. Editing an expense in the CRM after the accountant reconciled it is how quarter-end becomes archaeology.

The bottom line

Don't buy a CRM that wants to replace QuickBooks, and stop asking QuickBooks to be a job platform. Buy the CRM that runs the job well and moves exactly four things — customers, invoices, payments, bills — into the ledger cleanly. That's how Breche's invoicing and job costing are built to work alongside QuickBooks Online: the job lives in Breche, the books stay clean in QuickBooks, and nothing gets typed twice.