Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
  1. Home
  2. Blog
  3. Moving Data Between Things That Do Not Talk
Python & Django

Moving Data Between Things That Do Not Talk

Connecting business systems with Python: idempotency, retries, a queue and daily reconciliation turn a script that mostly works into a solid integration.

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

Idempotency, retries, a queue and reconciliation. Those four turn a script that mostly works into an integration you can rely on.

A script is not an integration

A script that reads from one system and writes to another works until something is unavailable, something is malformed, or something is retried. Then it either loses data or duplicates it.

The difference between a script and an integration is entirely in how it behaves when something goes wrong, which is most of the engineering.

The four requirements

  1. Idempotency — a retry must not create a duplicate
  2. Retries with backoff, because most failures are transient
  3. A durable queue, so nothing is lost during an outage
  4. Reconciliation — a daily comparison of sent against arrived

Idempotency comes from the source

Derive a unique reference from the source record and use it when writing to the destination. The destination then rejects or updates rather than creating a second record.

That single practice prevents the most common and most damaging integration failure, and it is cheap to implement at the start and awkward to retrofit.

Map the data explicitly

  • Document how each field in one system maps to the other
  • Decide which system is authoritative for each field
  • Handle the values that exist in one and not the other
  • Version the mapping, because it will change

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

Reconcile daily

CheckCatches
Record counts both sidesSilent drops
Totals where money is involvedTransformation errors
Records in quarantineSystematic problems
Age of oldest queued itemSomething stuck
Nothing processed todayThe integration stopped

That last one is the alert that catches the failures that otherwise run for weeks.

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 a system has no API?

File exchange, a supported import route, or database access if you control it. All are workable; screen automation is the fragile last resort.

How often should data sync?

As often as the business needs and the rate limits allow. Frequent small batches usually beats both real-time and nightly.

What about conflicting changes?

Decide which system wins per field, in advance. Ambiguity here produces data nobody trusts.

How much does an integration cost?

£4,000–£15,000 depending on the systems and the mapping complexity. The mapping is usually the larger part.

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 two systems?

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 →