Skip to content

Service 04 / 04

Systems that agree with each other.

Most businesses run on several systems: an ERP, a CRM, an online store, accounting, a warehouse, and tools added along the way. We connect them so data moves reliably and processes run end to end, and we modernize the legacy systems that hold everything else back.

Fig. 04 — A central system connected to four others; two links synchronize, one is legacy.

§ 01Business challenges

When systems don't talk to each other, people do the work.

Integration problems rarely look like technology problems at first. They look like extra work and numbers that don't match.
  • The same data typed twice

    Orders are re-entered from the store into the ERP, and customer details are copied by hand between the CRM and accounting.

  • Numbers that don't match

    Inventory, invoices, or customer records differ between systems, and month-end turns into a reconciliation exercise.

  • Integrations that fail silently

    A sync stopped weeks ago and nobody noticed until a customer or an auditor did.

  • A legacy system at the center

    An older system is critical, undocumented, and hard to replace, and every new tool has to work around it.

§ 02Integration patterns

The right connection for each flow of data.

There is no single correct way to integrate systems. We choose the pattern per data flow, based on how fresh the data must be and what each system can support.

  • Real-time API sync

    Fits when
    A change in one system must appear in another within seconds, such as an order reaching fulfillment.
    Trade-off
    Depends on both systems being available; needs retries and idempotent writes.
  • Event-driven

    Fits when
    Several systems need to react to the same business event, and more will be added over time.
    Trade-off
    More moving parts; requires good monitoring and clear event contracts.
  • Scheduled batch

    Fits when
    Large volumes, reporting, or systems that only offer bulk exports.
    Trade-off
    Data is only as fresh as the last run; failures must be visible, not silent.
  • Legacy bridge

    Fits when
    An older system with no usable API, reachable only through files or its database.
    Trade-off
    Fragile unless validated and monitored; often a step toward replacing the system.

Required in every integration

  • One source of truth

    Each field has an owning system; the others read from it.

  • Safe retries

    Writes can be repeated without creating duplicates.

  • Reconciliation

    Regular checks confirm that systems still agree, with differences reported.

  • Visible failures

    Errors are queued, alerted on, and can be replayed once fixed.

§ 03Capabilities

What we build.

ERP integration
Connections between your ERP and the systems around it, working through the ERP's supported APIs and data model rather than around them.
Third-party APIs
Integrations with payment, shipping, commerce, CRM, and other external platforms, including rate limits, authentication, and version changes.
Data synchronization
Reliable two-way or one-way sync with clear ownership per field, conflict handling, and reconciliation reports.
Legacy modernization
Aging systems wrapped with APIs, then replaced piece by piece, so the business keeps running throughout the transition.
Workflow orchestration
Processes that span several systems, such as order-to-cash or procure-to-pay, coordinated with visibility into every step.

§ 04Use cases

What this looks like in practice.

Typical shapes this work takes. These are illustrations of scope, not client case studies.

  • Example A

    Store-to-ERP order flow

    Online orders, customers, and payments flowing into the ERP automatically, with stock levels sent back to the store.

    Usually involves

    • Commerce API
    • ERP API
    • Inventory sync
    • Error queue
  • Example B

    CRM and ERP in agreement

    Accounts, quotes, and orders kept consistent between sales and operations, with a defined owner for every field.

    Usually involves

    • Field mapping
    • Two-way sync
    • Conflict rules
  • Example C

    One reliable reporting dataset

    Data from several systems consolidated on a schedule, validated, and made available for reporting without manual exports.

    Usually involves

    • Batch pipelines
    • Validation
    • Data warehouse
  • Example D

    Replacing a legacy system gradually

    An API placed in front of an older system, then its responsibilities moved one at a time to new services.

    Usually involves

    • Assessment
    • API facade
    • Incremental migration
    • Parallel running

§ 05Example solution

Illustrative case study

Orderline

Orders, stock, and invoices in sync across commerce, warehouse, and ERP.

An integration layer connecting an online store, a B2B ordering portal, a marketplace, a third-party warehouse, and the ERP, so every order flows through without re-keying and every discrepancy is visible.

Technologies typically involved

  • TypeScript
  • Node.js
  • PostgreSQL
  • Message queues
  • REST APIs
  • AWS
  • Docker
orderline / integration-monitorOrderlineIntegration monitor6 FLOWS RUNNING · 1 RETRYINGLast 24 hoursCHANNELSINTEGRATION LAYERSYSTEMS OF RECORDOnline storeORDERS · 12S AGOB2B portalORDERS · 40S AGOMarketplaceSTOCK · 3S AGOERPSYSTEM OF RECORDWarehouse (3PL)RETRYING · 2 OF 5PaymentsINVOICES · 1M AGOIntegration serviceCONNECTORS6 activeEVENTS / MIN42QUEUE DEPTH3DEAD-LETTER1Recent eventsAllFailedRetryingTIMEEVENTROUTESTATUS10:42:18order.createdStore → ERPSynced10:42:18stock.updatedERP → MarketplaceSynced10:42:11shipment.created3PL → ERPSynced10:41:56order.createdB2B → ERPSynced10:41:40order.releasedERP → 3PLRetrying 2/510:41:02invoice.postedERP → PaymentsSynced10:39:27return.received3PL → ERPFailed · queuedDaily reconciliation13 OCT · 02:00Orders1,284 / 1,284Shipments1,190 / 1,190Invoices1,271 / 1,2732 DIFFERENCES REPORTED TO FINANCEFailed messagereturn.received · R-30418ERP rejected unknown reason code “RX9”Inspect payloadReplay after fix
Interface conceptIntegration monitor concept: connected systems, recent events, and daily reconciliation.

§ 06Delivery

Integrations you can see working.

The goal is not just a connection that works on launch day, but one that keeps working and tells you when it doesn't.
  1. Step 01

    Map systems and data ownership

    We document the systems, the data flowing between them, who owns each field, and where the current process breaks.

  2. Step 02

    Design the integration contract

    For each flow: the pattern, the mapping, how errors and duplicates are handled, and what must be monitored.

  3. Step 03

    Build with retries and reconciliation

    Integrations are tested against realistic data, including the messy cases, with safe retries and reconciliation built in.

  4. Step 04

    Migrate and run in parallel

    Historical data is migrated and verified, and old and new processes run side by side until the results match.

  5. Step 05

    Monitor and maintain

    Dashboards and alerts show the health of every flow, and connected systems are kept working through their updates.

§ 07Questions

Common questions

Which ERPs and platforms do you work with?

Integration work starts from each system's APIs, data model, and documentation. Tell us which systems you run, and we will discuss our experience with them and any constraints in the first conversation.

Should we use an integration platform or custom code?

It depends on the number of flows, their complexity, and who will maintain them. Integration platforms suit many standard connections; custom code suits complex logic and high volumes. We recommend per case and can work with either.

Can you migrate data from our old system?

Yes. Migration is planned as its own workstream: mapping, cleansing, test migrations, and verification against the source before the final cut-over.

What happens when one of the systems is updated?

Integrations are built against documented, versioned interfaces where they exist, and monitored so that a breaking change is detected immediately rather than discovered later in the data.

§ 08Start a project

Have systems that need to work together?

List the systems involved and where data gets stuck today. We will reply with questions and an initial view of how they could be connected.

  1. 01

    Share the context

    A short description of the project, your goals, and any constraints you already know about.

  2. 02

    We review it

    We read it carefully and reply with questions or an initial perspective on the problem.

  3. 03

    A first conversation

    A call to explore scope, approach, and whether we are the right fit for the work.