A 9-year-old, heavily customized Odoo 12 instance was blocking every upgrade. We migrated it to Odoo 18 with zero business-hours downtime.
40+ custom modules built over 9 years, none upgrade-safe. 2.1M records. The business couldn't afford downtime and previous quotes were 3× our price.
We refactored every custom module to OCA standards, built an automated migration pipeline with checksum validation, and ran a staged cutover overnight with a parallel-run safety net.
Live on Odoo 18 with all data intact, hosting costs down 38% on a right-sized cloud setup, and future upgrades now take days instead of months.
🛠 Stack: Odoo 18, PostgreSQL, OCA modules, AWS