Safe Upgrade Checker
Spell-checker for Odoo upgrades. Scan a module ZIP against any Odoo version, or compare two ZIPs method-by-method with Before / Now / Reason explanations and Green / Yellow / Red risk scores.
Community Enterprise Odoo.sh Odoo 19Key Features
Scan App + Comparison + History for agencies and ISVs
Scan App
Pick an Odoo version, upload one module ZIP, and scan for known breaking patterns.
Any Version Comparison
Compare FROM â TO (13â19). Upload two ZIPs and see method, button, and view differences.
Before / Now / Reason
Every difference explains what happened before, what happens now, and why it was flagged.
Green / Yellow / Red
Simple risk levels business owners understand, plus PDF reports for clients.
Scan & Compare History
Keep every past scan and comparison so your team can reopen and re-run anytime.
Configurable Patterns
Extend Breaking Patterns and Deprecated Modules from Configuration.
How Accurate Is It?
Honest limits â so buyers know what to expect
Scan App accuracy â 70â80%
Catches about 70â80% of common, known migration problems for the selected target version (legacy APIs, attrs=, manifest version, deprecated depends, and more). It is a strong pre-check, not a full QA replacement.
Comparison accuracy â 80â90% on reported diffs
Compare explains method/button/view changes with Before â Now + Reason. On reported items it is typically about 80â90% useful (missing methods, migration API changes, large rewrites, attrs cleanup). It still cannot prove runtime behavior 100%.
Always test before go-live
Use Scan + Compare as a review checklist, then manually test critical flows on the target Odoo version before production upgrade.
How It Works
Open History
App opens on History so you can see past scans and compares.
Scan App
Choose Odoo version, upload one ZIP, click Scan.
Comparison
Upload source + target ZIPs and compare method by method.
PDF Report
Print Green / Yellow / Red findings for clients and testers.
Screenshots
Step by step guide with real Odoo screenshots
1. History â Scan History
Opening the app lands on History. View past scans with migration path, risk level (Green / Yellow / Red), issue counts, and state.
2. History â Compare History
Under History, open Compare History to reopen any previous version-to-version comparison (for example Odoo 13.0 â Odoo 19.0).
3. Scan App Wizard
Click Scan App. Choose the Odoo Version, upload the module ZIP, and click Scan to check the code against known patterns for that version.
4. Scan Result â Risk & Disclaimer
See migration path, risk level, and issue counts. The highlighted Accuracy disclaimer and Summary boxes clearly state the ~70â80% coverage and scan outcome.
5. Scan Issues List
The Issues tab lists severity, category, name, file path, line number, and code snippet for every finding (for example manifest version or legacy read_group).
6. Issue Detail with Suggestion
Open any issue to see pattern code, snippet, message, and a clear migration suggestion (for example migrate read_group to _read_group).
7. Comparison Wizard (2 ZIPs)
Click Comparison. Set Source version + ZIP and Compare version + ZIP, optionally run a pattern scan on the source ZIP, then click Compare Now.
8. Comparison Form & Linked Scan
After compare, review the migration path, uploaded ZIPs, options, and the linked source pattern scan from the same screen.
9. Comparison Risk & Summary
Risk counters show Red / Yellow / Green totals. Highlighted boxes explain accuracy limits and summarize the compare result for stakeholders.
10. Differences List
The Differences tab shows each item with severity, method/item, what happened before, what happens now, why it is flagged, and advice.
11. Difference Detail â Before / Now
Open a difference to see severity, files/lines, and plain-language What happened before vs What happens now.
12. Difference Detail â Reason & Advice
Each difference includes why it was flagged, technical change detail, behavior signals, and clear advice for developers and testers.
13. Configuration â Breaking Patterns
Managers can extend Breaking Patterns and Deprecated Modules from Configuration to match your migration standards.
FAQ
Is it only for Odoo 16 â 19?
No. Choose any source and target (for example 17â19, 16â18, 19â13). Patterns can be scoped per target version.
How accurate is Safe Upgrade Checker?
Scan App catches about 70â80% of common known issues. Comparison is about 80â90% useful on the differences it reports. It is not 100% â always manual-test before go-live.
Does Comparison run both databases?
No. It compares code and behavior signals (email, state write, create, attrs cleanupâ¦). Live click testing can be a future Pro add-on.
Can I add my own patterns?
Yes. Managers can add Breaking Patterns and Deprecated Modules from Configuration.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module