The data model is the integration (the rest is plumbing)

  • AI
  • AI thinking
  • CRM
  • Integration
The data model is the integration (the rest is plumbing)

Short answer

Most CRM integrations do not fail on technology. They fail because nobody decided who owns the customer, what happens with duplicates and what applies when HubSpot says one thing and the ERP system says another. The API calls are plumbing. The data model is the project.

Three decisions that determine everything

1. Who owns the customer?

One of the systems must be the source of truth. Usually it is the ERP system for everything to do with invoicing and company registration numbers, and HubSpot for everything to do with relationship and pipeline. That sounds obvious. Still, it is written down in fewer than half of the integration projects we have reviewed.

When nobody owns the customer, you get two truths that both update each other. This is sometimes called sync. The right word is race condition.

2. What happens with duplicates?

You have duplicates. Everyone has duplicates. The question is what the integration does with them: merge, create new, or stop and raise an alert. All three can be the right answer. What is never the right answer is letting the code decide silently.

The matching key decides the outcome. Company registration number is stable but often missing. Email is common but changes. Company name is worthless as a key, and yet it is what most quick integrations match on.

3. What applies in a conflict?

The customer changes address in the ERP system the same day the salesperson corrects it in HubSpot. Which one wins? "Last written" is an answer. "The ERP system always wins on address fields" is a better answer. No answer at all is what makes the integration itself lose trust, and an integration nobody trusts is one people stop using.

Error handling is not a detail

ERP systems go down. APIs hang. Someone submits a field in the wrong format. An integration that does not queue, retry and alert when it gives up will lose data silently. Silent data loss is worse than a crashed job, because nobody notices until someone wonders why the numbers do not add up. By then it has been going on for months.

Why this costs money

When we say that a custom-built middleware lands at SEK 50,000-200,000, most of that range goes to exactly this. Not to talking to the API. To deciding, building and testing what happens when reality does not look like the demo.

We saw a HubSpot-Fortnox connection that cost SEK 380,000 and never worked. The technology was not the problem. Nobody had decided the data model, so every new discovery became a new add-on, and in the end the build was bigger than the business it was meant to support.

What you can do in an afternoon

Write down three sentences before any quote comes in: who owns the customer, how do we match records, who wins in a conflict. It takes an afternoon and it is the cheapest insurance you can buy against an integration project that blows the budget.

More on this in our guide to HubSpot integrations and what they cost.