Migrate Odoo 15 to 16
Last updated: February 2026
Migrating Odoo Community Edition from version 15 to 16 involves 194 model changes, 23 module merges, and 38 field renames. OCU automates this entire process — upload your database backup and download a production-ready database running Odoo 16.
What changes
Between Odoo 15 and 16: 14 model renames, 138 constraint changes, and 38 field renames across 194 affected models.
- Coupons rebuilt as loyalty programs. coupon.program, coupon.reward, and coupon.rule become loyalty.program, loyalty.reward, and loyalty.rule. Gift card data merges in as a loyalty program type.
- payment.acquirer becomes payment.provider. The payment model is renamed across the codebase, along with payment.token, payment.transaction, and the new auto-installed account_payment module.
- 23 modules merged into core. fetchmail folds into mail, six EDI submodules consolidate into account_edi_ubl_cii, and pad merges into web_editor.
How it works
- Upload your .zip, .sql, or .dump backup. We auto-detect the source version.
- Migrate. We handle schema changes, module merges, field renames, and data migration.
- Download your upgraded backup, ready for Odoo 16.
Pricing
Test migrations are free and unlimited. The output is neutralized (emails disabled, crons off) so it is safe to explore but not for production use.
Production migrations cost one credit (99 EUR), charged only when the migration completes successfully.
Frequently asked questions
- What is the biggest change from Odoo 15 to 16?
- The coupon and payment systems are both restructured — coupon.program becomes loyalty.program (absorbing gift cards too), and payment.acquirer becomes payment.provider. 23 modules are also merged into core.
- Why upgrade from Odoo 15 now?
- Odoo Community 15 reached end of life in October 2024 and no longer receives security patches. Migrating to 16 or later puts your database back on a supported, patched version.
- Will my custom modules still work after upgrading to Odoo 16?
- Custom modules that depend on renamed models (payment.acquirer, coupon.program) or merged modules will need adjustment. OCU handles the core database migration, but custom module code may need updating. Run a free test migration first.