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
Upgrade steps
Odoo 16 to 17
Community only
- Models
- +100 -43
- Fields
- +1397 -534
- Views removed
- 362
- Renames
- 9
Odoo 17 to 18
Community only
- Models
- +114 -29
- Fields
- +1143 -461
- Views removed
- 206
- Renames
- 13
Odoo 18 to 19
Community + Enterprise
- Models
- +297 -127
- Fields
- +2606 -1042
- Views removed
- 1126
- Renames
- 49
Odoo 19 to 20
Community + Enterprise
- Models
- +434 -175
- Fields
- +4254 -1686
- Views removed
- 3552
- Renames
- 53
Most-changed core models
Own fields added (+), removed (-) and re-typed per upgrade step.
| Model | 16 to 17 | 17 to 18 | 18 to 19 | 19 to 20 | Total |
|---|---|---|---|---|---|
| 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.
Planning an Odoo upgrade?
Odoo app
Check your own database: Studio Upgrade Checker
Scans your Studio fields, views, automations and custom code for everything listed here before you upgrade.
See it on the Odoo Apps store
Odoo app
Fix broken views: Studio View Repair Assistant
Finds views that stopped loading after an upgrade and helps you repair the xpaths and fields they point at.
See it on the Odoo Apps store
Upgrade service
Need the upgrade done? Book a call
We move databases between major Odoo versions, port custom modules and validate the data.
Book a call
Free
Free upgrade scan, we run it for you
Send us a copy of your database or give us access and we report what will break on the target version.
Ask for a scan