Skip to content
Systems integration

Everything connected, with the ERP still in charge.

Systems integration, at Codedesign, means connecting ERP, CRM, legacy and new applications, AI included, through APIs, message queues and import formats, so that data is entered once, moves correctly, and every movement can be traced.

  • ERP integration, e.g. Microsoft Dynamics NAV
  • APIs, message queues, synchronisation
  • Migrations from legacy systems
  • Idempotent, observable, documented

The cost of systems that don't talk

In many enterprises the same data is typed more than once: a booking in one system and again in accounting, an order in an email and again in the transport system. Every re-keying is a delay and a chance for an error.

Point-to-point scripts solve today's problem and create tomorrow's: nobody knows what runs, when it fails or which record it touched. Integration is engineering work, and it deserves the same design, testing and monitoring as any application.

What we build

  • 01

    ERP integration

    Postings, master data and documents exchanged with your ERP — Microsoft Dynamics NAV, for example — through its services or import tables, so figures are not re-keyed by hand.

  • 02

    APIs and middleware

    A layer of documented APIs between your systems, including the ones that were never designed to talk to each other.

  • 03

    Message queues

    Queues such as RabbitMQ or Azure Service Bus decouple systems, absorb peaks and retry safely when a system is unavailable.

  • 04

    Data synchronisation

    Scheduled or event-driven synchronisation between operational systems and the ERP, with a clear owner for every field.

  • 05

    Legacy formats

    Files in the exact format a legacy system expects — XML, CSV, fixed-width — generated and validated before delivery.

  • 06

    Migrations

    Data moved from old systems to new ones in rehearsed steps, with reconciliation reports that show nothing was lost.

  • 07

    Identity across applications

    Single sign-on with Keycloak or Microsoft Entra ID, including two-factor authentication, so people have one identity everywhere.

How we work

  1. 01

    Map systems and owners

    For every piece of data we establish which system holds the record, who owns it and who may change it.

  2. 02

    Write the contracts

    Each exchange gets a written contract: format, validation rules, error handling, and what happens on a retry.

  3. 03

    Build idempotent flows

    Every import can run twice without creating duplicates, so a failed transfer can be retried safely.

  4. 04

    Make it observable

    Logs, traces and alerts show every message, where it went and why it failed, before a user notices.

Principles

  • The ERP remains the system of record

    New applications and AI prepare and validate data; the ERP books it. Accounting rules stay where your auditors expect them.

  • Idempotent by design

    Same input, same result, no duplicates, however many times a flow is retried.

  • Observable

    Every exchange is traced end to end, and a failed message can be found and processed again.

  • Contracts in writing

    Formats, mappings and rules are written down and versioned, not hidden in code.

  • Step by step

    Legacy systems are replaced one area at a time, never in a single risky weekend.

In practice

For a luxury cruise line, booking financials are pushed automatically into Microsoft Dynamics NAV, and onboard property-management data is synchronised with the ERP. Read the case study. For an international freight forwarder, supplier invoices are imported into the management system and matched to shipment files through the operational system's API. Read the case study.

Further reading

Questions we are asked

What is systems integration?

Systems integration is the work of making separate applications — ERP, CRM, warehouse, transport, legacy software — exchange data reliably, so that information is entered once and stays consistent everywhere. It covers APIs, message queues, file formats, synchronisation, error handling and monitoring.

Do we need to replace our ERP to use AI?

No. The ERP can remain the system of record: AI prepares data outside it, deterministic rules validate it, and an integration layer writes it through the interfaces the ERP already offers. We describe the pattern in bringing AI into ERP and legacy systems.

What does idempotent integration mean?

An idempotent integration produces the same result however many times it runs with the same input. If a transfer is interrupted and retried, no duplicate invoice or order is created. It is what makes automatic retries safe.

Can you integrate a legacy system that has no API?

Usually yes: through the import files or tables it already reads, a database view, or a small service placed in front of it. Codedesign generates exactly the format the system expects and validates it before delivery.

Which systems have you integrated?

Codedesign has built integrations with Microsoft Dynamics NAV, Oracle systems, Microsoft Exchange and Microsoft Graph, Microsoft Entra ID, and the management and transport systems of its clients. The approach is the same for any system that exposes services, tables or import formats.

How do you migrate data from an old system?

In rehearsed steps: map fields and master data, run trial migrations on copies, reconcile records and totals with reports, then switch over one area at a time while the old system can still be consulted.

Systems integration

Where is your data typed twice?

Show us the flow between two systems that don't talk. We'll describe how we would connect them, and what it would take to keep the connection running.

Request a private meeting