Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
  1. Home
  2. Blog
  3. Custom Software to Integrate CRM, ERP and Accounting
Custom Software

Custom Software to Integrate CRM, ERP and Accounting

Three systems that each hold part of the truth. What integration actually involves, which direction data should flow, and where teams get it wrong.

Updated 2 min readBy SpiderHunts Technologies

Free estimateNo obligation

Get a free estimate

Tell us what you need. A senior engineer reads every enquiry.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →

Quick answer — TL;DR

The hard part is not moving data between systems. It is deciding which one is authoritative for each field, what happens when they disagree, and how a failed sync is noticed. Settle those three and the code is straightforward.

The short answer

Before writing any integration, decide for each piece of data which system owns it. The CRM owns the opportunity, the ERP owns the order, accounting owns the invoice. Where two systems can both change the same field, you have a conflict problem rather than an integration problem.

Teams that skip this build a two-way sync, discover the systems disagree, and spend the next year reconciling by hand anyway.

Decide ownership per field

DataUsually owned byFlows to
Company and contact detailsCRMERP, accounting
Opportunity and pipelineCRMReporting only
Order and deliveryERPCRM for visibility
Stock and availabilityERPCRM, storefront
Invoice and payment statusAccountingCRM, ERP
Credit limitAccountingERP, CRM

Once ownership is agreed, most fields become one-way, which removes conflict entirely. The remaining two-way cases are few enough to handle deliberately.

One way beats two way

Two-way synchronisation sounds better and is considerably harder. It needs conflict resolution, loop prevention and a way to decide which change wins when both sides edited the same record.

Most requirements described as two-way turn out to be one-way plus read access. Sales wants to see the invoice status, not edit it. Making that a read-only view removes a whole class of problems.

The matching problem

Every integration hits this: the same customer exists in three systems with three identifiers and slightly different names. Nothing works until they are linked.

  1. Find anything deterministic first: a registration number, an account reference that appears in both.
  2. Normalise names and addresses before comparing.
  3. Match probabilistically on what remains, and set a high bar for automatic acceptance.
  4. Route the uncertain matches to a person rather than guessing.
  5. Keep the mapping as a durable table, not as logic inside the sync.

That last point matters. A mapping table can be corrected by someone who knows the customers. Matching logic buried in code cannot.

Failure has to be visible

  • Log every sync attempt, not just the failures
  • Alert on a run that did not happen, not only on one that errored
  • Put failed records in a queue someone owns and clears
  • Make it possible to replay a failed record after the cause is fixed
  • Report how many records are out of step, so drift is measurable

The second point is the one that catches people. A sync that silently stops running looks identical to a quiet day, and the gap is usually found weeks later by someone chasing a missing invoice.

Where custom is genuinely justified

If your three systems have supported connectors and your process is standard, a middleware product is usually cheaper and faster. Custom integration earns its cost where the mapping is specific to how you trade, where the matching is hard, or where the connector exists but does not cover the fields you actually need.

It is worth checking the off-the-shelf route properly before committing. Finding out afterwards that a connector would have done is an expensive lesson.

FAQ

Frequently asked questions

The questions readers ask us after this guide.

Still have a question?

Ask us directly — a senior engineer will get back to you.

Ask about your project

Should we use middleware or build it?

Check whether a supported connector covers the fields and direction you need. Where it does, that is usually cheaper. Custom earns its place when the mapping is specific to your business.

How often should systems sync?

Match it to the decision. Stock availability may need minutes; customer addresses can be overnight. Syncing everything in real time costs more and creates more failure modes.

What if the systems disagree?

Decide which one is authoritative per field in advance. Where both can genuinely change the same value, you need a conflict rule and someone who owns it.

How long does this kind of integration take?

It depends mostly on how clean the data is and how well the systems expose their APIs. The matching problem is usually the longest part.

Keep reading

More on Custom Software

Custom Software

When Off-the-Shelf Software Stops Fitting

Every platform is bent to fit eventually. The signals that you have passed the point where configuration is cheaper than a custom build.

Custom Software

Turning a Critical Spreadsheet Into Software

Most businesses have one. Why it survived, what it encodes that nobody wrote down, and how to replace it without losing the knowledge inside it.

Custom Software

Why Custom Software Projects Overrun

Overruns cluster around a small number of causes, and most of them are decided before any code is written. What to watch for and when.

Start here

Weighing up a custom build?

Tell us what you are trying to fix and what you already run. We will give you an honest view on whether custom software is the right answer, what it would involve and a realistic range. If configuring what you have would do the job, we will say so.

  1. You tell us what you needTwo minutes on the form, or a message on WhatsApp.
  2. A senior engineer reviews itAnd comes back with questions, a realistic range and an honest view on fit.
  3. Free 30-minute scoping callWe talk through scope, options and a realistic estimate — with no obligation.
Free estimateNo obligation

Talk to someone who builds this

Send a short brief and we will come back with an honest view and a realistic range.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →