Odoo 20 Upgrade in Syria: A Step-by-Step Plan for Companies
Odoo 20 is out, but upgrading is a project, not a button. This plan for companies in Syria covers when to move, Odoo's test-first process, custom modules, the changes to try, and a USD and SYP review after go-live.
Published 2026-10-06 · METCH
Odoo 20 upgrade in Syria: now or later?
Odoo released version 20 in September 2026. Moving to it is a project in two stages, not a single click: Odoo first produces an upgraded test copy of your database, and only then upgrades the live one. When you start depends on a few plain facts.
- On Odoo 17 or older: standard support for 17.0 ended in September 2026, and for 16.0 a year earlier. Start the assessment now.
- On Odoo Online: Odoo sets the timing. A major version must be upgraded every two years, but a SaaS version such as 19.4 must move a few weeks after the next release; with no action by the due date, the upgrade runs automatically.
- On Odoo 18.0 or 19.0 on Odoo.sh or your own server: both remain under standard support, so plan an assessment rather than a rush.
- Heavy custom code: begin early, because custom modules must work on the new version before the database can move.
- Planning to use AI agents: budget for IAP credits, which every AI feature now consumes.
You can jump from any version straight to any major version still under standard support, though Odoo notes that a smaller version gap makes the upgrade easier. Effort depends on that gap, hosting type, apps, custom modules, Studio work, integrations, data clean-up and training.
For companies in Syria, the practical gains are offline mode and clearer USD and SYP handling. Pick a go-live window with connectivity in mind, clear of month-end closing and rate updates.
Odoo's official route: a test copy first, production second
Every request goes through Odoo's upgrade platform. On Odoo Online you start it from the database manager (Manage, then Upgrade), and the first request is set to Test automatically. Odoo.sh runs it on a staging branch. On-premise servers use Odoo's upgrade script, which must reach Odoo's servers on port 443 and on random ports between 32768 and 60999, so a strict office firewall may need an exception; cloud-hosted databases skip this step.
The test copy is neutralized so it cannot touch real business: scheduled actions stop, outgoing email goes to a fake server, payment providers and carriers switch to test mode, and bank synchronization is off. Use it to check what your team relies on.
- printed invoices, sales orders and accounting reports
- the views and search filters people use daily
- creating and editing records from start to finish
- integrations, automated actions and data exports
Report problems through Odoo's Support page, choosing the option for testing an upgrade. Each completed request brings an upgrade report by email, also posted in Discuss for administrators. Request fresh test copies as you go, and rehearse fully the day before go-live.
During the production upgrade the database is unavailable, so pick a low-use window; on Odoo Online it cannot be reverted once complete. On-premise, anything entered after the database is uploaded will not reach the upgraded version, so ask every office and shop to stop using Odoo until it finishes. METCH runs this as three steps: assessment, test on a copy, then train and go live.
Custom modules, partner modules and Studio: who upgrades what
With an Odoo Enterprise subscription, upgrading to the latest version is free, including support to fix discrepancies in the upgraded database. The service covers all standard apps, all Studio customizations as long as Studio is still installed and the subscription is active, and code covered by a maintenance-of-customizations subscription.
It does not cover cleaning existing data, training, or modules written in-house or by third parties without a maintenance contract, and Odoo says this includes modules from Odoo partners. Such a module can hold up the whole project: a database with custom modules cannot be upgraded until those modules work on the target version, and fixing them is the maintainer's job.
Odoo's advice is to freeze development first, then challenge every custom feature against what the new standard already does. Next, make each module install on an empty Odoo 20 database, then on the upgraded copy, and test and rehearse before production. Odoo 20 technical changes worth checking in custom code:
- record rules removed, with a domain now set on each access right
- Font Awesome icons replaced by Material Symbols
- stored tracking values removed
- Field Service worksheets using property fields instead of Studio fields
- push notifications sent through Odoo's own service instead of Firebase
In Syria, look hard at anything built for currencies: scripts that import exchange rates, reports that put USD and SYP side by side, or fields added to show a converted total. Compare each with what Odoo 20 now shows as standard before paying to port it.
Before-you-upgrade checklist: nine changes to try on the copy
Our Odoo 20 page lists 15 changes from Odoo's release notes that deserve a check before upgrading. These nine touch most companies, so have the people who use each one try it on the test copy.
- Parent accounts replace account groups, and account codes become optional. Check that chart-of-accounts reports still group correctly.
- Payment statuses are renamed: "In Process" becomes "Paid", and "Paid" becomes "Reconciled". "Mark as Reconciled" moves to the action menu. Update user guides and reports.
- Entries affecting a bank account must now come from bank transactions; manual bank entries are blocked.
- A default tax outside the invoice's fiscal position is removed, even with no replacement. Check products and accounts with default taxes.
- Asset models become depreciation models, with configuration moved onto the asset accounts. Review the asset setup.
- Field Service is discontinued and its features move into Planning. Technicians and dispatchers should rehearse their day there.
- Work entries and the Planning–Payroll link are removed, and work entry types merge with time-off types. Check the payroll setup.
- The return wizard is gone and returns are simpler. Walk the warehouse team through the new flow.
- All AI features consume IAP credits. Estimate who will use them.
For Syrian teams, the bank rule and the status renames matter most. A company with USD and SYP bank accounts feels both on day one: entries on each must start from its own bank transactions, and anyone who treated "Paid" as the final, bank-matched state now looks for "Reconciled".
After go-live in Syria: currency checks and training
Odoo 20 has no Syria-specific localization, so post-upgrade checks here center on currencies and connectivity. In the first days, confirm that:
- USD, SYP and any other currency you trade in are still active
- the rate routine works: the interval and service under Automatic Currency Rates, or your manual entries in each currency's Rates tab
- the exchange difference journal and its gain and loss accounts are set under Default Accounts in the Accounting settings
- converted totals show the exchange-rate date, and foreign-currency payments show the rate used
- staff can type decimals with a dot or a comma
- offline mode works on the devices used in branches and warehouses, so work continues when the connection drops
- SYP rates and historical figures read correctly: since 1 January 2026 the redenominated pound has been in circulation, with 100 old pounds equal to 1 new pound and the SYP code unchanged. Odoo does not handle this for you, so check pre-2026 figures deliberately.
Odoo's upgrade service excludes training, so plan it separately. Cover the new payment statuses, the returns flow, Planning for technicians, bank reconciliation and how AI credits are spent, then update internal guides and report templates.
Plan your Odoo 20 upgrade with METCH's team in Damascus; the first consultation is free. Bring your current version, hosting type and list of custom modules.
Frequently asked questions
Is upgrading to Odoo 20 free?
With Odoo Enterprise, the upgrade service is free for standard apps, for Studio customizations while Studio is installed and the subscription is active, and for code under a maintenance-of-customizations subscription. It does not cover custom or partner modules without a maintenance contract, data clean-up or training, so those need their own budget.
Can we go straight from Odoo 16 or 17 to Odoo 20?
Yes. Odoo allows an upgrade from any version to any major version still under standard support, which includes Odoo 20, although a smaller version gap is easier. Standard support for 17.0 ended in September 2026 and for 16.0 in September 2025, so companies on either version should start testing now.
Does upgrading to Odoo 20 change how we handle USD and SYP?
The upgrade converts your existing currencies, rates and exchange difference accounts with the rest of the database, but confirm them on the test copy. What changes is the display: converted totals show the exchange-rate date, foreign-currency payments show the rate used, and exchange differences sit on one expandable line per invoice. Odoo has no Syria-specific localization, so the rate source and update routine remain your team's decision.
Do Odoo 20 AI features cost extra?
Yes. All AI features in Odoo 20 consume credits bought through Odoo's In-App Purchase (IAP) service. Odoo's IAP documentation says Enterprise users with a valid subscription get free credits to test IAP services, but do not count on them for daily AI use: check your balances on the new My Subscription page and budget for more.
Need help with this?
METCH is a certified Odoo partner serving Syria — book a free consultation.
Get a proposal