Skip to Content
Upgrade step

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.

114models added
29models removed
1,143fields added
461fields removed
13renames
19field type changes
206views removed
32modules removed

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 17Odoo 18Kind
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)
ModelOdoo 17Odoo 18Confidence
res.config.settings l10n_es_edi_certificate_idsl10n_es_sii_certificate_ids likely
res.config.settings l10n_es_edi_tax_agencyl10n_es_sii_tax_agency likely
res.config.settings l10n_es_edi_test_envl10n_es_sii_test_env likely
account.move payment_idorigin_payment_id possible
account.move reversal_move_idreversal_move_ids likely
res.company l10n_es_edi_certificate_idl10n_es_tbai_certificate_id likely
res.company l10n_es_edi_certificate_idsl10n_es_tbai_certificate_ids likely
res.company l10n_es_edi_facturae_certificate_idl10n_es_edi_facturae_certificate_ids likely
res.company l10n_es_edi_tax_agencyl10n_es_sii_tax_agency likely
res.company l10n_es_edi_test_envl10n_es_tbai_test_env likely
product.template detailed_typetype + is_storable confirmed
product.product ribbon_idvariant_ribbon_id possible
pos.category child_idchild_ids likely

Models removed in Odoo 18 (29)

Grouped by the module that defined them in Odoo 17. E = Enterprise module.

account

base

google_calendar

hr_recruitment_skills

iap

l10n_es_edi_facturae

l10n_es_edi_facturae_adm_centers

l10n_es_edi_sii

l10n_es_edi_verifactu

l10n_fr_fec

mail

microsoft_calendar

mrp

point_of_sale

pos_mercury

purchase_requisition

repair

sale_timesheet

stock

website_twitter

Models added in Odoo 18 (114)

Modules with the most new models:

account 8 account_edi_ubl_cii 5 base 5 l10n_hr_edi 5 mail 4 marketing_card 4 account_peppol 3 hr_recruitment 3 l10n_account_withholding_tax 3 l10n_ar_withholding 3 l10n_my_edi_pos 3 point_of_sale 3 product 3 sms 3 stock 3 website 3

See all 114 new models, grouped by module

Modules removed and added

32 modules of Odoo 17 are gone

account_audit_trailaccount_debit_note_sequenceaccount_lockaccount_payment_termim_livechat_mail_botl10n_br_pixl10n_de_audit_traill10n_dk_audit_traill10n_dk_bookkeepingl10n_es_edi_facturae_adm_centersl10n_es_edi_facturae_invoice_periodl10n_es_edi_tbai_multi_refundl10n_es_pos_tbail10n_fr_fecl10n_fr_invoice_addrl10n_ro_efacturamrp_subonctracting_landed_costspayment_alipaypayment_ogonepayment_payulatampayment_payumoneypayment_sipspos_mercurypos_sale_product_configuratorsale_product_configuratorspreadsheet_dashboard_purchasespreadsheet_dashboard_purchase_stockstock_landed_costs_companywebsite_form_projectwebsite_sale_pickingwebsite_sale_product_configuratorwebsite_twitter

77 new modules in Odoo 18

auth_passkeycertificatecloud_storagecloud_storage_azurecloud_storage_googlecloud_storage_migrationevent_producthr_calendarhr_holidays_contracthr_homeworking_calendarhtml_editorl10n_account_withholding_taxl10n_account_withholding_tax_posl10n_be_pos_restaurantl10n_bg_ledgerl10n_din5008_expensel10n_dk_nemhandell10n_dk_nemhandel_responsel10n_es_edi_tbai_posl10n_fr_accountl10n_gr_edil10n_gr_edi_e_invool10n_hr_edil10n_hu_edi_receivel10n_id_posl10n_in_gstin_statusl10n_in_hr_holidaysl10n_in_withholding_paymentl10n_jo_edi_posl10n_khl10n_krl10n_mcl10n_my_edi_posl10n_oml10n_pl_bank_verificationl10n_pl_edil10n_pl_edi_jstl10n_pl_taxable_supply_datel10n_test_pos_qr_paymentl10n_tr_nilvera_einvoice_extendedl10n_tw_edi_ecpayl10n_tw_edi_ecpay_website_salel10n_us_accountl10n_uy_posl10n_vn_edi_viettel_posmarketing_cardmrp_subcontracting_landed_costspayment_nuveipos_account_tax_pythonpos_edi_ublpos_eventpos_event_salepos_pine_labspos_self_order_razorpaypos_smsproject_hr_skillsproject_mrp_accountproject_mrp_saleproject_mrp_stock_landed_costsproject_purchase_stockproject_stockproject_stock_accountproject_stock_landed_costspurchase_edi_ubl_bis3purchase_repairresource_mailsale_edi_ublsale_gelatosale_gelato_stocksale_project_stock_accountsale_purchase_projectspreadsheet_dashboard_pos_restaurantstock_fleetwebsite_projectwebsite_sale_collectwebsite_sale_gelatowebsite_sale_mass_mailing

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.

And 70 more modules in the full list.

Coverage. Odoo 16 to 17 and 17 to 18 compare Community modules only (the Enterprise 16 and 17 sources are not available to us). Odoo 18 to 19 and 19 to 20 include Community and Enterprise modules. Everything here comes from a static read of the Odoo source code: a field counts as removed only when no parent model, mixin or delegated model still provides it. Fields created dynamically at run time can be missed, and entries we could not confirm are marked as low confidence.