One way feeds
Data moves from one system to another, on a schedule or on an event.
System integration
I connect the systems you already run, so the same information stops being typed into two of them, and the two stop disagreeing about which version is right.
Recognise this
Kinds of connection
Which one is right depends on what your systems allow and on who is meant to change what. That is decided before anything is built, not after.
Data moves from one system to another, on a schedule or on an event.
Both sides can change, and a rule decides which one wins.
A value is checked against the other system at the moment it is typed.
History moved once, cleaned up, without anyone retyping it.
The other system tells us the moment something happens, instead of us asking.
Your data leaves in a format another system, or another developer, can read.
Example only. What a connection exposes depends on the systems involved.
One source of truth
Most integration problems are not technical. They start when nobody said which system is right about a client address, a price or a stock level, and both keep changing it.
Checked at entry
A code, a registration number, a customer reference: each can be checked against the system that owns it at the moment somebody types it, instead of turning out to be wrong when an invoice bounces back.
A value, checked
When the other side is down
The systems you connect to will be unavailable sometimes. That is normal. What is not normal is losing the work that was in flight, or finding out weeks later that a day of data never arrived.
What you can look at when something goes wrong
09:14:02INFO
09:14:02INFO
09:14:03INFO
09:15:11WARN
09:15:11INFO
09:15:41ERR
09:15:41INFO
09:23:07INFO
09:23:07INFO
09:23:08INFO
The same thing, twice
Systems repeat themselves. A callback fires again, a retry succeeds after all, someone presses a button twice. Handled badly, this is how a client ends up with two invoices for one delivery.
The event, first time
{
"event_id": "evt_8f21c4",
"type": "order.confirmed",
"order_id": 4417,
"signature": "verified",
"applied": true
}
The same event, again
{
"event_id": "evt_8f21c4",
"applied": false,
"reason": "already applied",
"orders_created": 1
}
Leaving is possible
Providers change: prices go up, a service closes, you find a better one. Each connection is built behind its own boundary, so replacing it is a piece of work, not a rewrite of how your business runs.
What stays yours
The connection
One provider, one boundary
Replaceable on its own
No business rules inside it
Documented, not remembered
Yours either way
The rules of your business
The data on both sides
The accounts and credentials
The source code
How it runs
What each system exposes, what it refuses, and what access you actually have.
Which side is right about what, and what happens when they disagree.
Against the other side's test environment first, never straight onto live data. The connection itself runs through middleware I build, with its own security layers, on a VPS behind a VPN tunnel.
It runs on real traffic while somebody is still looking, before it is trusted.
How much
Questions
In principle, any system that offers a way in: ERP, CRM, accounting and invoicing, couriers, payment providers like Stripe, email. Which of yours qualify is one of the first things we find out, because it decides both what is possible and what it costs.
Then we look at what else it offers: a scheduled export, a database we are allowed to read, a file it can drop somewhere. If none of that exists either, I will say so instead of building something fragile that breaks the first time the other side changes a screen.
It is priced per project, once we have seen what your systems allow. Three things move the figure: how many systems are involved, whether they have a usable interface, and how much history has to be moved at the start. The first conversation costs nothing.
That is the normal starting point, and it is better to find out now than later. Part of the work is deciding what happens to the records that disagree: which version wins, what gets corrected, and what is left alone because it is history.
What cannot be delivered is held in order and sent again when the other side is back. A person is told if the outage lasts longer than agreed. You can see what is waiting and since when, so nobody has to guess.
An NDA is signed before I am given any access, not after it. That order is deliberate. Letting somebody into the systems your business runs on is the part clients think hardest about, and it belongs in writing before anything is connected.
You do. The accounts and credentials are yours from the first day, the source code is yours, and how everything is connected is written down rather than kept in someone's head. Each connection sits behind its own boundary, so another developer can replace one without touching the rest.
The first step is finding out what they will let us do.