Skip to content

Connect business workflows without replacing your ERP

Define record ownership, handoffs, exceptions and reconciliation when connecting the business systems your team already relies on.

·4 min read

A company can have a functioning ERP, a useful CRM and capable accounting software while still moving critical work through spreadsheets and messages. The gap often sits between systems: a customer promise that never becomes an assigned job, a completed delivery that finance cannot verify, or an approved change that never reaches the project record.

Business systems integration should begin with those handoffs. Replacing an established platform is a substantial decision. Before proposing it, determine whether a defined workflow and a reliable connection can close the gap using the systems that already work.

Map one business journey across the tools

Choose a complete journey, such as an accepted order becoming an operational job and then a billable completion. Follow a real record through each stage. Identify who enters the information, which system holds it, who changes its status and what evidence the next team needs.

An integration diagram that only names applications misses these decisions. A connection between sales and operations is not fully specified until the team knows what event creates the job, what happens to revisions and how a cancelled order is handled.

Use the single source of truth principle to settle these questions at the record level. Multiple systems can remain useful while each important fact has an agreed authority.

Assign ownership field by field

The CRM may own a commercial opportunity, the operating system may own job execution and the accounting platform may own posted invoices. Shared information needs more precise treatment. Decide which system controls the customer identifier, billing address, approved scope, completion date and invoice status.

Do not allow every connected application to overwrite every shared field. If two teams edit the same value independently, synchronisation can faithfully distribute a disagreement. The business needs a conflict rule, such as routing a proposed change to the record owner.

Also distinguish identifiers from display names. Two customers can have similar names, and a company can change its trading name. Store stable references and mappings so a renamed record does not silently become a second customer or supplier.

Write a contract for the handoff

A practical integration contract can be short, but it should answer the questions that operators will ask when something goes wrong:

  • Trigger: which authorised business event starts the handoff?
  • Payload: which fields and document references are required?
  • Validation: what must be true before the receiving system accepts the work?
  • Authority: which identity may perform the action, for which organisation?
  • Result: which receiving record and status confirm successful processing?
  • Failure: where does rejected or incomplete work appear, and who owns it?
  • Recovery: how are retries, corrections and reconciliation handled?

Specify when data should be current. An hourly update may be sufficient for one management report and unsuitable for a check made immediately before a commitment. The interface should make data age visible where it affects a decision.

Design retries so they do not repeat the business action

A connection can fail after the receiving system has accepted a request but before the sender receives confirmation. Repeating the request without a duplicate-handling design can create a second record. Simply stopping every retry can leave valid work stranded.

Where supported, use a stable operation identifier that the receiving service can recognise across retries. Stripe's idempotent request documentation provides a concrete API example: requests using the same key can return the stored result instead of performing the operation again. Its rules are specific to Stripe; each integration needs its own verified behaviour and retention limits.

Where a target system has no such facility, the integration needs another controlled way to detect prior processing. Test ambiguous outcomes deliberately. The operator should be able to see whether a request is pending, confirmed, rejected or awaiting investigation.

Give exceptions a visible home

Suppose, in an illustrative workflow, a completed job cannot be invoiced because its customer reference is missing. Repeating the same failed request does not fix the data. The item should enter an exception queue with the missing information, the affected record and a named owner.

Separate failures that may recover with a retry from failures that need a person. A temporary unavailable service and an invalid tax identifier are different problems. Record the correction and preserve the relationship between the original request and the successful result.

A useful Operations OS makes this coordination visible: the current state, the person responsible and the next action. The integration should feed that operating record rather than create a second hidden queue that only a developer can inspect.

Reconcile meaning, not just network traffic

A successful API response confirms only what the API's contract says it confirms. It may indicate that a request was received, not that the business process has finished. Define the receiving status that means the intended outcome occurred.

Compare counts, identifiers and relevant totals across a defined period. Investigate missing records, duplicates and unexplained state differences. Agree how cancellations, partial completion, time zones and late corrections affect that comparison. Record when the last reconciliation ran and who must act on discrepancies.

Access checks belong in this test as well. A working connection must not allow one organisation's records to be retrieved or modified under another organisation's credentials. Keep the integration's permissions limited to its task and include access revocation in the operating procedure.

Roll out a complete, bounded route

Start with one journey and a controlled group of users. Verify ordinary processing, corrections, interrupted connections and manual fallback before extending to another business unit. Assign owners on both sides of every handoff and document how changes to either platform will be reviewed.

An additional system is justified when it gives the business a clear operating capability and maintainable connections. It should reduce unresolved handoffs and repeated entry. That is the result to measure before considering a wider replacement programme.

Next step

Reading about the pattern is useful. Seeing it in your own process is decisive.

Map the gaps between your systems