Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
Python & Django

Connecting to Accounting, CRM and Everything Else

Last updated:

Never call external systems in a request

An external call during a web request makes the request as slow as the other system and as reliable as it is. Both are outside your control.

Queue it. The user gets an immediate response, the call is retried automatically, and a provider outage becomes a delay rather than a failure.

The four requirements

  1. Idempotency — derive a reference from your record so a retry cannot duplicate
  2. Retries with backoff for transient failures
  3. A durable queue, so nothing is lost during an outage
  4. Reconciliation — a daily comparison of sent against arrived

Record the integration state

  • Which records have been sent, and when
  • The external system's identifier for each
  • What failed and why
  • What is queued and how long it has waited
  • Enough to answer “where is this?” in seconds

Map the data explicitly

DecisionWhy
Which system owns each fieldPrevents overwriting
How values map between themTerminology differs
What happens on conflictIt will happen
What is not synchronisedClarity
How the mapping is versionedIt will change

The mapping is business work rather than technical work, and it is where the time goes on most integration projects.

Reconcile daily and alert on nothing

A daily comparison catches silent divergence the same day. And an alert when nothing has been sent catches the integration that stopped entirely.

That second alert is the one that prevents a broken integration running unnoticed for a month.

Frequently asked questions

What if the other system has no API?

File exchange or a supported import route. Both are workable and less elegant; screen automation is the fragile last resort.

How do we handle their rate limits?

Queue and throttle. Know the limit before designing the batch sizes rather than discovering it under load.

What about their outages?

Queue and retry. Nothing should be lost because a destination was temporarily unavailable.

How much does an integration cost?

£4,000–£15,000 depending on the systems and the mapping complexity.

Keep reading

Data retyped between your system and another?

Tell us which systems and what moves between them. We will scope a proper connection.

Book a free 30-minute call Get a project estimate WhatsApp us

Related services

What we build for problems like this one

Custom Software DevelopmentWeb DevelopmentMachine Learning