Home/Insights/CRM customisation
Insights

What limits customisation in most CRM platforms

Every vendor says their platform is configurable, and every one of them is telling the truth. Almost none of them explain where configuration stops — and it stops in the same place every time.

1,050 words·no gate, no email requiredAbout four minutes

You can rename a field. You can add a pipeline stage, write a validation rule, build an automation that fires on close, and expose all of it through an API. Every mainstream CRM lets you do this, and for most businesses it is genuinely enough.

What you cannot do is change how the platform thinks about a record.

That sentence is the whole of it, and it is worth being precise about what it means. Every CRM ships with an object model — a fixed set of things it believes exist, and a fixed set of relationships between them. Salesforce has Accounts, Contacts, Leads and Opportunities. HubSpot has Contacts, Companies, Deals and Tickets. The names differ; the principle does not. Everything you build afterwards sits on top of those objects and inherits their assumptions.

Configuration lets you decorate the model. It does not let you replace it.

The object model
what ships, and what a lending operation needed

Left to right: the four objects every Salesforce org begins with, then the same diagram after a funding operation has been fitted into it. Nothing here is broken — every dashed box compiles, reports and passes review. It just no longer describes the business.

Where the ceiling actually is

The limit shows up the first time your business needs a relationship the vendor did not anticipate. Three examples, all of them real:

  • A merchant with three open advances. Not three deals — one merchant, three positions, each with a balance, a remittance schedule and a remaining term. Pricing a renewal means knowing all three at once.
  • A household with two custodians and a trust. Two individuals, one irrevocable trust, one operating company, six accounts across three custodians. The client is the household, not any of the people in it.
  • A matter rather than a deal. A legal matter has parties on both sides, a conflict-check history, a limitation date and privilege attached to conversations that happened before anyone signed anything.

In each case the platform can be made to hold the data. A merchant's positions become three custom objects with a lookup back to the account. A household becomes a naming convention across contact records. A matter becomes an opportunity with fourteen custom fields.

It works. Reports run. Nobody is lying when they say the platform supports it.

But the system has stopped describing what actually happened, and started describing what the platform could be persuaded to store.

What that costs, specifically

The cost is rarely a missing feature. It arrives in four other forms, and all four are easy to mistake for something else.

1 · Fields holding things they were never named for

A deal amount holding a commission rate. A close date holding a limitation deadline. A text field called Notes 3 holding the second position's remittance schedule. Each of these was a reasonable decision at the time, and collectively they mean nobody can read the database without a translator.

One opportunity record
field label against what it actually holds
FIELDWHAT IS IN ITMATCHES THE NAME
Account nameMeridian Freightyes
Amountthe commission rate, not the advanceno
Close datethe first remittance dateno
StageUnderwritingyes
Descriptionposition two, balance and termno
Notes 3position three, same againno
4 of 6 fields hold something other than their namenobody can read this without a translator

Each of these was a reasonable decision on the day it was made. The test is not whether the data is there — it is whether the meaning of a field depends on which record you are looking at.

The tell is simple: ask what any given field means and see whether the answer depends on which record you are looking at.

2 · Reporting that cannot answer the obvious question

Total exposure to one merchant across three positions. Total assets for a household including held-away. Realisation rate by matter type. These are not exotic requests — they are the first thing anyone senior asks — and they are hard because the report has to reassemble a relationship the data model never held.

3 · Automation that has to guess

A workflow can only act on what the model exposes. If the concept of second position lives in a naming convention rather than a field, no rule can reliably find it. So the automation approximates, and approximations in a compliance-adjacent process are how firms end up with findings.

4 · The workaround becomes the system

This is the one that matters. Every operation running on a platform that half-fits has a spreadsheet alongside it. The spreadsheet is where the real logic lives, because it is the only place that can hold the shape of the actual work.

A DIAGNOSTIC

Ask what is in the spreadsheet that runs next to your CRM. Not whether one exists — one always exists. What is in it. That list is a precise description of what your data model cannot hold, written by the people who needed it most.

When configuration is still the right answer

It usually is, and this is the part most agencies have a commercial reason not to say clearly.

A great deal of what looks like a platform limit is a configuration nobody attempted. In our own engagements, the honest recommendation is more often "stay where you are and fix the setup" than "build something". The distinction that matters is not how frustrated the team is. It is this:

THE QUESTIONCONFIGUREBUILD
Is the object model right?Yes — the platform has the right things, set up badlyNo — the relationship you need does not exist in it
What is the workaround?A habit, a convention, a training gapA spreadsheet holding load-bearing logic
What breaks at scale?Nothing structural — it gets messierReporting, automation and audit, all at once
Cost of being wrongWasted configuration timeA rebuild in eighteen months

If the object model is right and the setup is poor, configuration wins every time — it is faster, cheaper, and somebody else maintains the platform. If the object model genuinely cannot express the relationship, no amount of configuration fixes it, and every month of workaround makes the eventual correction more expensive.

The question worth asking a vendor

Not "is it customisable?" — the answer is always yes, and it is always true.

Ask instead: which objects can I create, and what relationships can exist between them? Then describe the relationship your business actually needs and see whether it fits.

On most platforms you can add objects and you cannot change how the core ones relate to each other. That constraint is not a flaw — it is what makes the platform reliable, upgradeable and cheap. It is also the exact boundary of what configuration can do for you, and it is knowable in an afternoon rather than discovered in month nine.

Configuration decorates the model. It never replaces it. Everything else follows from that.

This is one of the questions we answer in the first week of any engagement — before anything is quoted, and often concluding that nothing should be built. If it sounds like your situation, start a conversation, or read how we work.