Skip to content
Taha Media

An offline-first Odoo server that syncs to the cloud

The shop always works on a local Odoo, and a background daemon pushes invoices and customers to the cloud when the internet returns, without duplicates.

  • Odoo 18
  • PostgreSQL
  • Python
  • systemd
  • Caddy
  • Docker

Measured result

34

tests passing

The problem

In branches with unreliable internet, invoicing stops at every outage, because a cloud Odoo doesn't work offline.

What I built

  • A small in-store server: Odoo 18, PostgreSQL 16, Mattermost and Portainer, Caddy with an internal CA that works offline, and nightly backups to a second disk.
  • A Python sync daemon (systemd) that detects outages and recovery with multiple probes and hysteresis, so it doesn't flap.
  • Every record is bound to an external id on the central server, so re-running never duplicates an invoice, even if the link drops between create and bind.
  • Exponential backoff for network errors, a separate retry queue for bad records so they don't block the rest, a restore script and an Arabic runbook.

Measured result

  • 34 automated tests pass, covering the state machine, the watermark, idempotency and conflicts.

Need something similar?

Offline-first Odoo server + auto-sync daemon · $29

All case studies

13/13tests passing

WhatsApp Cloud API audit and a secure webhook

A toolkit that shows whether a WhatsApp integration is really official and who owns it, plus a webhook that verifies Meta's signature and never processes a message twice.

20/20evaluation cases

A document assistant that cites its sources

Answers only from your files, cites the file and section, says when the answer isn't there instead of inventing one, and flags instructions hidden in documents.