The pattern across mid-market Odoo engagements: a partner ships a v14 deployment with twenty custom modules that monkey-patch core. Two years later v17 is out, the customer wants the new accounting features, and the upgrade quote is bigger than the original implementation. Every customization that bypassed the published Odoo API is now a migration cost the customer didn’t scope. The platform isn’t the problem; the implementation discipline is.
Prosigns ships Odoo with version-upgrade discipline as primary scope. Custom modules written against published APIs only — no core monkey-patching. OWL extensions, controllers, and inheriting views, not duplicate templates. Every customization has an upgrade-impact note in writing. Migrations from older Odoo versions (and from QuickBooks, Tally, SAP Business One) are phased and reconciled. Odoo.sh, on-prem, or hybrid hosting decided against the actual workload. We stay through the first quarterly close.