
Integration and data migration.
Connect the systems that hold your data, and move records between them with reconciliation you can audit line by line.
Systems that talk, reliably
An integration is only worth having if it keeps working on the day one side is slow, unavailable or sends something unexpected. Everything below is built to survive that rather than to demonstrate well.
APIs and webhooks
Versioned REST endpoints with OpenAPI contracts, retries, idempotency keys and signed webhooks.
Message-based work
Azure Service Bus queues and topics with dead-letter handling, so a downstream outage never loses a transaction.
Scheduled pipelines
Azure Functions and Data Factory pipelines for nightly exchanges, with alerting when a run does not complete.
Systems we connect regularly
Bespoke supplier feeds in CSV, XML or EDI are routine. If yours is not listed, it is very likely we have connected something like it.
Migration: proved, not assumed
A migration is only finished when someone can demonstrate that nothing was lost. Every run produces a reconciliation report: record counts, control totals and a list of every row that failed a rule, with the reason.
We rehearse the cut-over against a copy of production until the timings and the rollback are known, then run it in a scheduled window.
01
Profiling
The real state of the source data: duplicates, gaps, encodings and rules nobody documented.
02
Mapping and cleansing
A field-by-field map, signed off by the people who own the data, with cleansing rules made explicit.
03
Trial runs
Repeated dry runs against production copies until the exception list is empty and the timing is known.
04
Cut-over and reconciliation
The live run in a planned window, followed by a signed reconciliation pack and a tested rollback.
