InsightsInsight

    How to Connect Business Systems That Don’t Talk to Each Other

    A practical guide to joining disconnected business systems without replacing everything, from choosing the right integration method to handling exceptions and proving that records stay in sync.

    Many businesses rely on a collection of systems that each do one job reasonably well. The CRM holds customer details, a booking platform manages appointments, an accounting package raises invoices and a specialist system runs the operational work. The trouble starts in the gaps between them.

    Staff copy the same details from one screen to another. A spreadsheet becomes the unofficial bridge between two departments. Somebody checks a shared inbox for a notification, then updates another system by hand. Reports disagree because each application uses a different customer name or status. None of this necessarily means the existing software is wrong. It usually means the business has grown beyond the handoffs that once held it together.

    Connecting those systems can remove a great deal of repeated administration, but the answer is rarely a single clever connector. A reliable integration needs clear ownership of data, a suitable technical route, sensible exception handling and a way to prove that information arrived correctly.

    Start With the Business Event

    Begin with the event that should move work forward, rather than the applications themselves. A new customer may be accepted. An appointment may be booked. A job may be completed. An invoice may be paid. Each event has a source, some information that needs to travel and a result that should appear elsewhere.

    Write down one journey in plain language. For example, when an approved quotation becomes an order, create the customer in the operational system, open the job, pass across the agreed work and tell the scheduling team it is ready. When the job is marked complete, send the correct reference and completion details to the accounting system so an invoice can be prepared.

    This exposes the actual integration requirement. It also stops the project turning into a vague attempt to make every system share everything. Most applications contain data that no other application needs. Moving it adds complexity without improving the work.

    Use several recent real cases to check the journey. Include a normal case, a duplicate customer, a missing reference, a cancellation and a record that somebody corrected after it was first created. The awkward examples reveal more about the design than a tidy process diagram.

    Decide Which System Owns Each Fact

    Connected systems quickly become unreliable when two applications are both allowed to be the authority for the same information. An address changed in both the CRM and the accounting package needs an agreed winner. A job status edited in three places needs one defined source for the change that triggers the next action.

    Give every important field a system of record. Customer relationship details may belong in the CRM. The operational platform may own job progress. The accounting package should remain responsible for invoices and payment status. Other systems can receive a copy, but they should not quietly become competing masters.

    Shared identifiers matter as much as field ownership. Names are poor matching keys because they change, are entered inconsistently and are often duplicated. Keep the stable customer, order and job identifiers issued by each system, then store the relationship between them. That lets the integration recognise that customer 1842 in one platform is account C00971 in another without guessing from a company name.

    Agree how updates should behave too. Some fields should replace an older value. Some should only be filled when blank. Some changes should create a task for review because automatically overwriting them would be risky. These rules are business decisions, not technical housekeeping.

    Choose the Simplest Reliable Connection

    An application programming interface, usually called an API, is often the cleanest route. It gives another system a controlled way to read or update records. A webhook improves this by sending an immediate notification when something happens, such as a new booking or completed job, so the receiving process does not have to keep checking.

    APIs are not the only valid option. A scheduled file exchange can work well when a system exports a consistent CSV file and immediate updates are unnecessary. A monitored email attachment may be appropriate for a narrow, low-frequency process if the sender and format are controlled. Direct database access is possible in some environments, but it needs great care because bypassing the application's own rules can damage data or break after an upgrade.

    Browser automation can bridge a system that has no usable API or export. It can sign in and perform the same steps as a person, but it should be treated as the last practical route. Screen layouts change, sessions expire and unexpected messages appear. A browser-based connection needs stronger monitoring and a clear manual fallback.

    The right choice depends on timing, volume, available interfaces and the consequence of a missed update. A daily file may be perfectly adequate for management reporting. A customer booking that reserves scarce capacity may need an immediate, confirmed response.

    Put a Small Integration Layer in the Middle

    Point-to-point connections look simple at first. The CRM sends directly to scheduling, scheduling sends to finance and finance sends something back to the CRM. As more links are added, business rules become scattered across several tools and failures are difficult to trace.

    A small integration layer gives the process one place to coordinate those handoffs. It receives an event, validates the information, translates it into the format required by the next system and records what happened. This does not need to become a huge central platform. It can be a focused service or automation workflow with a narrow responsibility.

    Keep the original source reference, the time received, the action attempted and the response from the destination. Avoid storing sensitive data that is not needed for diagnosis. The useful record is often that job J1048 triggered invoice request I772 successfully, or that it stopped because the purchase order was missing.

    This separation also makes future change easier. If the booking platform is replaced, the new connection can translate its events into the same internal format. The downstream finance rule does not have to be rebuilt at the same time.

    Design the Failure Route Before the Happy Path

    Every integration will eventually meet missing data, duplicate records, an unavailable service or a changed business rule. A dependable design decides what happens next.

    Automatic retries are useful for temporary failures, but they must not create duplicate customers, jobs or invoices. Each action should be idempotent where possible, meaning the same event can be processed again without repeating the business outcome. Checking a stable source reference before creating a record is one common safeguard.

    Permanent exceptions need a visible queue with a reason and an owner. A message saying that synchronisation failed is less useful than a task stating that job J1048 cannot move to finance because its customer has no billing reference. Give the reviewer the source record, the attempted action and the safest next step. Once corrected, the case should resume without staff reconstructing the whole process.

    Reconciliation provides a second line of defence. Compare what should have crossed the boundary with what actually arrived. That might be a daily check of completed jobs against invoice requests, or a count of accepted bookings against created work orders. Quiet omissions are usually more dangerous than obvious errors because nobody knows to investigate them.

    Release One Complete Journey

    Start with one business event and carry it all the way to a useful result. Connecting customer creation alone may save a little typing while leaving scheduling and finance dependent on the same spreadsheet. A narrow end-to-end journey proves more: one accepted order becomes a correctly identified job, reaches the right queue and produces a traceable finance handoff when completed.

    Run the connection alongside the existing process for a short controlled period. Compare records, review every exception and confirm that staff understand which system they should update. Measure duplicated entry, time spent chasing, incomplete handoffs and the delay between one stage finishing and the next beginning.

    The aim is not to make every application behave like one enormous system. It is to let each useful tool keep doing its job while information moves between them accurately, visibly and with clear ownership. When that foundation is in place, disconnected software stops dictating how people spend their day.

    Birdcage Tech helps businesses connect established software, spreadsheets and bespoke systems around the way the work actually needs to flow.