Skip to Content
Free tool by SNM Digitech

Odoo Change Explorer: what changed between Odoo 16, 17, 18, 19 and 20

Search any model, field or view XML id and see what was added, removed or renamed in every upgrade step, straight from the Odoo source code.

Try: res.partner account.move hr.contract groups_id ir.model.access

2,572models tracked
9,400fields added
3,723fields removed
374models removed

Most-changed core models

Own fields added (+), removed (-) and re-typed per upgrade step.

Model16 to 1717 to 1818 to 1919 to 20Total
res.config.settingsConfig Settings +135 -46 +114 -50 +175 -110 +349 -205 1190
res.companyCompany +115 -33 +85 -23 +149 -39 +240 -104 793
hr.employeeEmployee +17 -4 +5 -2 +329 -19 +280 -82 741
account.moveJournal Entry +136 -16 +134 -20 +74 -48 +144 -52 632
res.partnerContact +43 -6 +38 -17 +64 -35 +86 -43 334
pos.orderPoint of Sale Order +20 -2 +37 -5 +65 -4 +50 -48 236
res.usersUser +17 -4 +8 -2 +33 -96 +47 -10 218
stock.pickingTransfer +42 -4 +11 -6 +33 -11 +56 -2 166
project.taskTask +5 -45 +14 -2 +10 -7 +5 -54 143
product.templateProduct +14 -9 +14 -4 +31 -16 +36 -13 139
account.move.lineJournal Item +9 -4 +22 -5 +33 -4 +43 -5 132
sale.orderSales Order +23 -3 +17 -6 +21 -8 +30 -11 120
stock.moveStock Move +17 -9 +3 -2 +34 -17 +14 -6 102
sale.order.lineSales Order Line +3 -3 +15 -1 +31 -8 +22 -3 87
account.paymentPayment +2 -0 +16 -10 +9 -2 +32 -10 82
mrp.productionManufacturing Order +9 -5 +9 -4 +10 -3 +15 -8 63
product.productProduct Variant +5 -3 +7 -1 +13 -7 +15 -11 62
purchase.orderPurchase Order +1 -1 +8 -4 +10 -7 +8 -1 41
crm.leadLead +5 -2 +0 -1 +4 -2 +5 -4 23
stock.quantQuant +2 -0 +1 -1 +1 -0 +2 -1 8

How to use it

  • Search a model (sale.order) to see every version it exists in, its module and each field added, removed, renamed or re-typed.
  • Search a field as model.field (res.users.groups_id) or just its name.
  • Paste an XML id from an upgrade error ("External ID not found") to see when that view, menu or action disappeared.
  • Open an upgrade step for the breaking changes, removed models and renamed fields of that release.

Where the data comes from

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.