The story
01
The problem
The sync engine copies POS sessions, journal entries and purchases from one Odoo database to another. Before trusting it with more of the books, I audited it end to end in July 2026.
02
What I found
- A write that timed out could be retried automatically, so the same entry could be posted twice.
- The closing-cash figure was counting card revenue.
- Some failed posts and reconciliations were reported as successful.
- Stacked rules compounded each other instead of applying once.
03
What I did
- Never retry a call that writes: a timed-out write is checked on the target before anything else happens.
- Added sign-in to the app, and every money write is recorded against the person who approved it.
- Failures are reported as failures, and aborted runs can be resumed.
- Rules are evaluated with state, so stacked rules apply once.
- Added CI, an integration test harness on a real PostgreSQL database, and a refactor that cut code-quality warnings from 187 to 23.
Result
Every write has a name on it, and nothing is written twice. The overhaul shipped in September 2026.