Systems Integration & APIs
Make the systems you already paid for talk to each other.
Integration is where most enterprise software actually fails, and it fails quietly: a message dropped at 2am, a duplicate order created by a retry, a sync that has been silently broken for six weeks. Doing this well is unglamorous discipline: idempotency keys, dead-letter queues, replay, reconciliation and alerting that names an owner. It is also where the honest division of labour matters: your ERP partner knows that ERP better than we ever will and should keep everything inside it, and your controls integrator should keep everything at and below the control layer. What tends to have no owner is the middle — the queue, the retry, the reconciliation, the audit trail, the thing that has to be correct when one side is down. We are usually there to take that piece and hand the other two back, not to relitigate either of them.
- Every write path, by design
- IdempotentEvery write path, by design
- Every message, after any failure
- ReplayableEvery message, after any failure
- Every alert routes to a named person
- OwnedEvery alert routes to a named person
Sounds like
You might recognise one of these.
Orders sometimes get created twice and nobody knows why.
Our ERP and warehouse system disagree about inventory every day.
We’re onboarding a partner and their EDI spec is from 1997.
Someone re-keys the same data into two systems all day.
What this includes
The work, specifically.
Not every engagement needs all of it. This is the range we cover and what each part is actually for.
Enterprise system integration
SAP, Oracle, Dynamics, NetSuite, Epicor, Infor, Salesforce, Workday, Epic and Cerner, through supported interfaces, without the brittle screen-scraping that breaks at the next upgrade.
EDI and trading partner onboarding
X12 and EDIFACT over AS2, SFTP or VAN, with partner-specific mapping, acknowledgement handling and an onboarding process measured in days rather than months.
API design and developer experience
OpenAPI-first REST, GraphQL or gRPC, with versioning policy, pagination, rate limiting, idempotency and documentation good enough that a partner integrates without a call.
Event-driven architecture
Durable messaging with outbox patterns, exactly-once effects, replay and schema registries, so the estate can evolve without every system needing to change at once.
Reconciliation and monitoring
Automated comparison that proves two systems agree, and alerting on the silence that means a feed has stopped: the failure mode that costs the most and gets noticed the least.
What you get
Deliverables, not documents.
- Integration architecture with an anti-corruption layer per system
- Idempotent, retryable interfaces with dead-letter handling
- OpenAPI or schema-registry contracts under version control
- Reconciliation jobs proving cross-system agreement
- Monitoring on feed liveness, latency and error budget
- Partner onboarding runbook and self-service documentation
Shapes
How this usually runs.
Estate mapping
2 weeksEvery interface in the business, drawn accurately, with failure modes and manual workarounds catalogued.
Integration build
4–12 weeksThe critical flows implemented properly, with the reconciliation to prove they’re right.
Platform & partner scale
OngoingA reusable integration platform so the next partner is a configuration change rather than a project.
Tooling
What we build it with.
No tool here was picked because it was new. Where we do reach for something novel, it is in one place, for a stated reason, and it is written down.
- ERP & LOB
- Health & finance
- Messaging
- Interchange
Questions
Integration & APIs, honestly.
For a handful of simple, well-supported connections, often yes. The economics invert when flows need custom business logic, high volume, or failure handling more sophisticated than a retry, which is where most operational integrations end up.
Sometimes true, frequently a support-tier issue, occasionally a licensing conversation. We’ve been on enough of these calls to know which one it is, and we’ll come with you.
Database-level change capture, file-based interchange, or a vendor-sanctioned extension point, in that order of preference. UI automation is a last resort and we’ll tell you what it will cost you in maintenance.
Further reading
What we think about this, at length.
- Systems7 min read
EDI 214 in practice: why your ETAs are wrong
The status feed is not a truth feed. Almost every bad ETA we have been asked to fix comes from four failures that are visible in the message itself.
- Systems6 min read
Consensus is not the hard part. Reconfiguration is.
Every distributed-systems reading list ends where the real engineering starts. What breaks in production is the day the topology changes.
- Engineering5 min read
From RTL to user space, and why the order matters
Five layers of stack on a single board. The engineering lesson was not about hardware; it was about the discipline of bringing up one layer at a time.
Sources
- 1.FHIR Overview, HL7 International
- 2.X12 Transaction Sets, X12
Next step
Tell us what’s breaking.
Forty-five minutes, no charge, no deck. We’ll tell you what we’d do, what it would likely cost, and whether you should be building this at all.