Integrating HubSpot With the Systems a Contractor Already Runs

HubSpot connects to accounting, field and project systems, and most contractor integrations fail on the same three things: direction, conflict rules, and what counts as the same company.

Most failed integrations did not fail technically. The data moved exactly as specified. The specification was wrong, and it was wrong in one of three predictable ways.

Decision one: which direction, per field

Not per system. Per field.

"Sync HubSpot and QuickBooks" is not a specification, it is a wish. The real question is whether the contract value flows from HubSpot to accounting, from accounting to HubSpot, or both. Both is the answer that causes outages.

A workable pattern for a contractor:

Decision two: what happens when both sides change

Two-way sync without conflict rules is a data loss mechanism with a scheduler.

Somebody updates the contract value in HubSpot. Somebody updates it in accounting. Both changes are valid. The sync runs. One of them wins silently, and whichever one is wrong propagates into reporting that somebody will make a decision on.

Three workable rules, in order of preference:

  1. One writer per field. Removes the conflict rather than resolving it. Nearly always correct.
  2. Last write wins, with a log. Acceptable where the field is low stakes, unacceptable for money.
  3. Conflict quarantine. Both values held, neither applied, a human notified. Right for financial fields.

Decision three: what counts as the same company

The one that eats the most time in a contractor integration and gets the least planning.

Your CRM has the GC as a company. Accounting has them as three customers because there are three billing entities. The field system has them by project. Matching on name fails the first time somebody writes "Turner Construction" one place and "Turner Construction Company" another.

Pick a durable key before anything moves: an accounting customer ID, a tax ID, a domain. Then decide how a new record is created on one side without duplicating the other.

What does HubSpot connect to well in a contracting business?

What should not be integrated?

A judgement worth making explicitly, because the default is to connect everything.

Document systems are usually better linked than synced: put the URL on the record and let the document system own the document. Project schedules do not belong in a CRM in any form. And anything a person maintains deliberately, like cost codes, should have exactly one home.

How to sequence it

One seam at a time, starting with the one that costs the most when it breaks. For most contractors that is won bid to scheduled job, because that is where the scope detail gets lost. Accounting second, because that is where the money is. Everything else when there is a reason.

An integration programme that tries to connect six systems at once does not fail loudly. It stalls in month four, half connected, and leaves you maintaining two sources of truth for the things it reached.

Related: which system should own which fact.

Knowledge Base