Blog / Data

Our systems do not talk to each other: connecting them without replacing them

The same data typed into three places, every day. What can actually be connected, why deciding the master system matters more than the technology, what breaks and how you will know, and what it costs.

An order arrives. Somebody types it into the accounting package. Somebody types the customer into the CRM. Somebody updates the stock spreadsheet. Three versions of the same fact, entered by hand, each an opportunity to be slightly wrong.

When systems do not talk to each other, the usual answer is not to replace them. Each one is probably fine at its own job, and replacing a working system to solve a connection problem is an expensive way to acquire a different set of problems. The work is in the gaps between them.

The retyping tax

Worth measuring before deciding anything, because the number is usually larger than the feeling.

Count how many times a single new order, customer or job is entered by a person. Then count the corrections: the invoice raised against a slightly different name, the stock figure that was right yesterday, the customer who exists twice because someone typed a middle initial. Then count the questions that cannot be answered at all, because doing so would mean joining two systems by hand.

That third category is the one people leave out, and it is often the largest. Not knowing which customers are profitable, or which products are actually moving, is a cost even though nobody spends an hour on it.

Which systems can talk to each other, and which cannot

Roughly how hard each case is
SituationDifficulty
Both systems are modern products with proper interfacesStraightforward. Often a connector already exists and the work is configuration rather than building.
One is modern, one is older but has a database you can reachDoable. Read directly, write carefully, and expect to spend the time on understanding the older data model rather than on code.
One is a desktop application with files on a shared driveAwkward but usually possible, by watching for file changes or working with scheduled exports. Fragile, so build in alerting.
One is hosted by a supplier who will not give you accessThe genuinely hard case. Sometimes there is a reporting export you can schedule. Sometimes the honest answer is that this system has to change before anything else can.
One is a spreadsheetEasy technically and risky in practice, because a person can restructure it at any moment and break the connection silently.

The fourth row is worth checking first, before planning anything else. A single system nobody can reach determines the shape of the whole project.

Decide which system is the master

This is the decision that matters, and it is not a technical one. It causes more trouble than any integration problem, because it is usually skipped.

For every piece of information that lives in more than one place, one system has to be the one that is right. If a customer's address differs between the CRM and the accounting package, which wins? If stock differs between the shop and the warehouse system, which is true? Without an answer, a connection does not fix inconsistency, it propagates it faster, and now the wrong value spreads everywhere within a minute instead of staying in one place.

  1. List each type of information: customer details, products and prices, stock, orders, invoices.
  2. For each, name one system as the master, and say which direction the data flows. Usually one way. Two-way syncing is far harder and should be a deliberate choice rather than an assumption.
  3. Decide what happens on a conflict, because there will be one. Master wins is a fine answer. Flag it for a human is also fine. Silently pick one is not.
  4. Say who is allowed to edit what. If the master is the accounting package, editing the address in the CRM should either flow back or be prevented. Anything else confuses people.
  5. Write it on one page and put it where the team can see it, because they need to know where to make a change.

What breaks, and how you will know

Connections break. Not occasionally, routinely, and a connection that fails silently is worse than no connection because everyone has stopped checking.

  • A supplier changes their interface, usually with notice you did not read because it went to a developer who has left.
  • Credentials expire, or someone rotates a password without knowing what depends on it.
  • Someone adds a required field in one system that the other does not send.
  • Unexpected data arrives, a name with an unusual character, a quantity of zero, a date in the wrong format, and the connection stops rather than guessing.
  • A rate limit is hit during a busy period, which is exactly when you least want it.

So the specification has to include how you find out. Alerts to a named person rather than an inbox nobody opens. A record of what failed and why, in language an operations lead can read. A way to retry safely, so a rerun does not create every invoice twice. And a plain view of what synced today, so somebody can sanity-check it in ten seconds. Budget for that as part of the work rather than as a nice addition, because it is the difference between a connection you trust and one you check by hand, which was the original problem.

What it costs

Illustrative ranges by shape of job
JobIllustrative costOngoing
A scheduled export from one system into another, one direction$1,500 to $6,000Almost nothing
Two modern systems, an existing connector configured properly$3,000 to $12,000A modest subscription
A custom connection between two systems, with error handling and alerts$8,000 to $30,000Hosting, plus attention when something changes
Several systems, a central place for the data, reporting on top$30,000 to $100,000 and up15 to 25 per cent of build a year

Illustrative ranges from the kind of work we quote, not a price list. The first row is the one people skip past, and for a single flow it is frequently the correct answer.

Four shapes a connection can take

Not all connections are the same thing, and knowing which shape you need stops you buying a larger one than the job requires.

Match the shape to the need
ShapeHow it worksBest for
A scheduled exportOne system produces a file on a timetable, another reads it. Old-fashioned, entirely reliable, easy for anyone to debug.Anything where nightly is soon enough, which is more cases than people admit.
A polling connectionSomething asks one system every few minutes what has changed, and pushes it to the other.Most day-to-day business needs. Simple to reason about and to restart after a failure.
An event connectionOne system announces a change the moment it happens and the other reacts immediately.When someone is genuinely waiting on the result, such as stock at the point of sale.
A central place for the dataEverything flows into one store, and reporting and other systems read from there rather than from each other.Four or more systems, or when the real goal is reporting across all of them rather than keeping two in step.

The first two cover the large majority of small-business integration work. The fourth is a different kind of project and should be recognised as one before it is started by accident.

Start with one flow

  1. Pick the single most retyped thing. Usually new customers or new orders. Not the most interesting one, the most repeated one.
  2. Connect that, in one direction only. Resist the urge to do everything at once, because the second flow is much easier once the first has taught you what the data actually looks like.
  3. Run it alongside the manual process for a fortnight, comparing. Tedious, and it is what turns a nervous switchover into an uneventful one.
  4. Then stop doing it by hand, deliberately, and tell everyone it has stopped.
  5. Only then add the next flow. Most businesses find that two or three flows remove nearly all the pain, and the rest is not worth automating.

If the retyping is really happening because a spreadsheet is holding the whole process together, signs your spreadsheet has become your business system is the prior question. And if the goal behind all this is a single view of your numbers, what a business dashboard costs explains why connecting the systems is most of that project too. The connecting work itself is data pipelines, and where a small tool is needed to sit between systems, internal tools.

Not for you if

The question that settles the scope: which single piece of information, if it were always right in every system, would remove the most arguments? Connect that one first, and see whether you still want the rest.

The guides, by email

Get the next guide in your inbox

One email when a new guide is published: what things cost, what to build first, and when the honest answer is to build nothing. No promotions, unsubscribe any time.

First guides arrive straight away. Unsubscribe any time.

Also asked

Questions that usually follow

Can systems that do not talk to each other be connected without replacing them?

Usually yes, and replacing a working system to solve a connection problem is an expensive way to acquire different problems. Two modern products with proper interfaces are straightforward and often have an existing connector. Older systems with a reachable database are doable. Desktop applications with files on a shared drive are awkward but possible. The genuinely hard case is a system hosted by a supplier who will not give you access.

What is a master system and why does it matter?

For every piece of information that lives in more than one place, one system has to be the one that is right. If a customer address differs between the CRM and accounting, one wins. Without deciding this, a connection does not fix inconsistency, it spreads it faster: the wrong value now reaches everywhere within a minute instead of staying put. It is the decision that causes the most trouble because it is usually skipped.

How much does it cost to integrate two business systems?

As illustrative ranges: $1,500 to $6,000 for a scheduled one-directional export, which people skip past and which is frequently the right answer. $3,000 to $12,000 to configure an existing connector between two modern systems. $8,000 to $30,000 for a custom connection with proper error handling and alerts. And $30,000 to $100,000 and upwards for several systems feeding a central place with reporting on top.

What goes wrong with system integrations?

They break routinely. A supplier changes their interface, credentials expire, someone adds a required field the other system does not send, unexpected data arrives and the connection stops rather than guessing, or a rate limit is hit during a busy period. The dangerous version is failing silently, so budget for alerts to a named person, a readable record of what failed, safe retries, and a plain view of what synced today.

Where should I start when connecting systems?

With one flow: the single most retyped thing, usually new customers or new orders, in one direction only. Run it alongside the manual process for a fortnight and compare, then stop doing it by hand deliberately and tell everyone. Only then add the next flow. Most businesses find two or three flows remove nearly all the pain and the rest is not worth automating.

Do I need real-time syncing between systems?

Often not. Real-time is genuinely useful when someone is waiting on the number, and it is expensive engineering for a report nobody opens until Monday morning. Ask what would actually change if the data arrived nightly rather than instantly. If it is two systems and someone exports a file weekly, a scheduled export is the whole answer at a fraction of the cost.

Next step

List the systems and we will map the connections

Send us the names of the systems and what gets retyped between them. We will map which connections are straightforward, which are awkward, and which are not worth doing, with rough costs. We reply within two working days, and sometimes the answer is a scheduled export rather than a project.

See Connecting systems Start the conversation