Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
  1. Home
  2. Blog
  3. Connecting to Accounting, CRM and Everything Else
Python & Django

Connecting to Accounting, CRM and Everything Else

Integrating Django with business systems: queued, idempotent calls, retries for transient failures, explicit data mapping and daily reconciliation.

Updated 2 min readBy SpiderHunts Technologies

Free estimateNo obligation

Get a free estimate

Tell us what you need. A senior engineer reads every enquiry.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →

Quick answer — TL;DR

Queue the calls, make them idempotent, retry transient failures, and reconcile daily. An integration that only works when everything is available is not an integration.

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.

FAQ

Frequently asked questions

The questions readers ask us after this guide.

Still have a question?

Ask us directly — a senior engineer will get back to you.

Ask about your project

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

More on Python & Django

Python & Django

An API Other Systems Can Depend On

Designing a Python API service others can depend on: validation at the boundary, consistent errors and status codes, early versioning and documentation.

Python & Django

Moving and Transforming Data Reliably

Building data pipelines in Python that cope with malformed input: restartable stages, quarantining failures, reconciling counts and alerting on absence.

Start here

Data retyped between your system and another?

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

  1. You tell us what you needTwo minutes on the form, or a message on WhatsApp.
  2. A senior engineer reviews itAnd comes back with questions, a realistic range and an honest view on fit.
  3. Free 30-minute scoping callWe talk through scope, options and a realistic estimate — with no obligation.
Free estimateNo obligation

Talk to someone who builds this

Send a short brief and we will come back with an honest view and a realistic range.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →