Skip to Content
Aviation ERP · Odoo 18

Books that looked slightly wrong, repaired without SQL

Currency revaluation plus explicit tools that find and fix stale fields on posted journal lines.

Built by Yaseen
Odoo 18 Python

The problem a client brought us

“Some of our posted journal entries have numbers that don't match what they should — payments that look broken, exchange-rate lines that drifted out of sync after posting.”

Before and after

Drifted after posting

  • Stored entry names
  • Exchange-difference lines
  • Payments

Fixed from the interface

One repair toolkit

What we found and built

Beyond a standard currency revaluation wizard, this detects and repairs a real Odoo behavior — stale denormalized fields on posted journal lines that drift after a sequence number is allocated — plus explicit tools to fix broken payments and revert bad revaluations. The kind of fix normally done by hand in SQL.

Result

Finance stopped needing a developer on standby every time the books looked slightly wrong.

The pattern behind it

Design for the failure you've already seen

Every failure we meet becomes a rule: stale events are skipped, drifted fields are detected and repaired, and a failed upgrade rolls itself back.

How we think about problems

Recognise any of this?

Most of our work starts with a message that sounds a lot like this one did.