Odoo 17 to 18: what changed
Community only Community modules only (Odoo Enterprise 17 sources are not available to us). 885 models in Odoo 17, 970 in Odoo 18.
Breaking changes to know first
"tree" views are now "list" views
Odoo 18 renamed the "tree" view type to "list": <tree> roots and //tree xpaths no longer match.
What to do: Replace <tree> with <list> and //tree with //list.
view_mode "tree" becomes "list"
Window actions that open a "tree" view mode must use "list" in Odoo 18.
What to do: Change view_mode "tree,form" to "list,form".
product detailed_type removed
product.template.detailed_type was removed in Odoo 18: products use type plus the is_storable flag.
What to do: Use type ('consu', 'service', 'combo') and, for stock-tracked goods, is_storable = True.
product type 'product' (storable) removed
The product type value 'product' no longer exists in Odoo 18.
What to do: Use [('type', '=', 'consu'), ('is_storable', '=', True)].
name_get() removed
name_get() was removed from the ORM in Odoo 18.
What to do: Read record.display_name (and override _compute_display_name) instead.
Renamed models and fields
| Odoo 17 | Odoo 18 | Kind |
|---|---|---|
| product.template.detailed_type | product.template.type + is_storable | field |
| product.product.detailed_type | product.product.type + is_storable | field |
13 more field renames detected from matching names and types (likely, not confirmed)
| Model | Odoo 17 | Odoo 18 | Confidence |
|---|---|---|---|
| res.config.settings | l10n_es_edi_certificate_ids | l10n_es_sii_certificate_ids | likely |
| res.config.settings | l10n_es_edi_tax_agency | l10n_es_sii_tax_agency | likely |
| res.config.settings | l10n_es_edi_test_env | l10n_es_sii_test_env | likely |
| account.move | payment_id | origin_payment_id | possible |
| account.move | reversal_move_id | reversal_move_ids | likely |
| res.company | l10n_es_edi_certificate_id | l10n_es_tbai_certificate_id | likely |
| res.company | l10n_es_edi_certificate_ids | l10n_es_tbai_certificate_ids | likely |
| res.company | l10n_es_edi_facturae_certificate_id | l10n_es_edi_facturae_certificate_ids | likely |
| res.company | l10n_es_edi_tax_agency | l10n_es_sii_tax_agency | likely |
| res.company | l10n_es_edi_test_env | l10n_es_tbai_test_env | likely |
| product.template | detailed_type | type + is_storable | confirmed |
| product.product | ribbon_id | variant_ribbon_id | possible |
| pos.category | child_id | child_ids | likely |
Models with the most field changes
| Model | Added | Removed | Type changes |
|---|---|---|---|
| res.config.settings | 114 | 50 | 0 |
| account.move | 134 | 20 | 0 |
| res.company | 85 | 23 | 0 |
| account.move.send | 0 | 70 | 0 |
| res.partner | 38 | 17 | 0 |
| pos.order | 37 | 5 | 5 |
| payment.provider | 9 | 31 | 0 |
| account.payment.register | 25 | 6 | 0 |
| pos.payment | 10 | 20 | 0 |
| pos.config | 18 | 11 | 0 |
| account.move.line | 22 | 5 | 0 |
| account.payment | 16 | 10 | 0 |
| account.tax | 23 | 2 | 1 |
| account.journal | 19 | 5 | 0 |
| sale.order | 17 | 6 | 0 |
| stock.picking.type | 18 | 3 | 0 |
| hr.leave.allocation | 7 | 11 | 0 |
| product.template | 14 | 4 | 0 |
| project.project | 12 | 6 | 0 |
| stock.picking.batch | 16 | 2 | 0 |
| hr.leave | 1 | 14 | 2 |
| stock.picking | 11 | 6 | 0 |
| project.task | 14 | 2 | 0 |
| sale.order.line | 15 | 1 | 0 |
| pos.payment.method | 13 | 2 | 0 |
Models removed in Odoo 18 (29)
Grouped by the module that defined them in Odoo 17. E = Enterprise module.
account
- account.tour.upload.billAccount tour upload bill
- account.tour.upload.bill.email.confirmAccount tour upload bill email confirm
- account.unreconcileAccount Unreconcile
base
- ir.propertyCompany Property
- res.config.installerConfig Installer
google_calendar
- google.calendar.credentialsGoogle Calendar Account Data
hr_recruitment_skills
- hr.applicant.skillSkill level for an applicant
iap
- iap.account.infoIAP Account Info
l10n_es_edi_facturae
- l10n_es_edi_facturae.certificateFacturae Digital Certificate
l10n_es_edi_facturae_adm_centers
- l10n_es_edi_facturae_adm_centers.ac_role_typeAdministrative Center Role Type
l10n_es_edi_sii
- l10n_es_edi.certificatePersonal Digital Certificate
l10n_es_edi_verifactu
- l10n_es_edi_verifactu.certificatePersonal Digital Certificate
l10n_fr_fec
- account.fr.fecFicher Echange Informatise
- mail.notification.web.pushCron data used for web push notification
- mail.partner.devicePartner Web Push Device
- mail.shortcodeCanned Response / Shortcode
microsoft_calendar
- microsoft.calendar.credentialsMicrosoft Calendar Account Data
mrp
- mrp.documentProduction Document
point_of_sale
- pos.comboProduct combo choices
- pos.combo.lineProduct Combo Items
pos_mercury
- pos_mercury.configurationPoint of Sale Vantiv Configuration
- pos_mercury.mercury_transactionPoint of Sale Vantiv Transaction
purchase_requisition
- purchase.requisition.typePurchase Requisition Type
repair
- repair.warn.uncomplete.moveWarn Uncomplete Move(s)
sale_timesheet
- project.create.sale.orderCreate SO from project
- project.create.sale.order.lineCreate SO Line from project
stock
- stock.assign.serialStock Assign Serial Numbers
- stock.scheduler.computeRun Scheduler Manually
website_twitter
- website.twitter.tweetWebsite Twitter
Models added in Odoo 18 (114)
Modules with the most new models:
Modules removed and added
32 modules of Odoo 17 are gone
77 new modules in Odoo 18
Views, menus and actions removed
XML ids that existed in Odoo 17 and no longer exist in Odoo 18. Customisations that inherit or reference them fail to install. See the full list.
| Module | Views | Menus | Actions |
|---|---|---|---|
| account | 7 | 5 | 4 |
| pos_mercury | 9 | 1 | 1 |
| l10n_ro_efactura | 7 | 0 | 1 |
| base | 5 | 1 | 1 |
| website_sale | 6 | 0 | 1 |
| event_sale | 6 | 0 | 0 |
| mrp | 5 | 0 | 1 |
| point_of_sale | 4 | 1 | 1 |
| project | 3 | 0 | 3 |
| website_event | 5 | 0 | 1 |
| account_audit_trail | 3 | 1 | 1 |
| account_edi_ubl_cii | 5 | 0 | 0 |
| hr | 0 | 2 | 3 |
| l10n_es_edi_sii | 2 | 2 | 1 |
| stock | 2 | 1 | 2 |
| website_sale_picking | 5 | 0 | 0 |
| website_twitter | 5 | 0 | 0 |
| hr_holidays | 2 | 0 | 2 |
| hr_presence | 2 | 1 | 1 |
| l10n_es_edi_facturae | 4 | 0 | 0 |
| l10n_es_edi_facturae_adm_centers | 4 | 0 | 0 |
| l10n_in | 2 | 1 | 1 |
| l10n_my_edi | 4 | 0 | 0 |
| 3 | 0 | 1 | |
| purchase_requisition | 4 | 0 | 0 |
| web_tour | 3 | 0 | 1 |
| website_sale_product_configurator | 4 | 0 | 0 |
| account_peppol | 3 | 0 | 0 |
| l10n_ch | 2 | 0 | 1 |
| l10n_es_edi_tbai_multi_refund | 3 | 0 | 0 |
And 70 more modules in the full list.