Кожен реліз Odoo приносить десятки нововведень, але для бізнесу важлива одна відповідь: чи виправдає міграція час команди та простій системи. У цій статті ми ділимося практичним поглядом на Odoo 18 з досвіду 14 проєктів, які наша команда оновила з Odoo 17, пояснюємо, що політика підтримки Odoo означає для ваших строків, і даємо чек-лист, з яким оновлення проходять буденно.
Коротка відповідь
Оновлено в жовтні 2026 року після виходу Odoo 20.
Якщо ви на Odoo 17 — так, плануйте оновлення вже зараз. Стандартна підтримка Odoo 17 завершилася у вересні 2026 року, коли вийшов Odoo 20 (Odoo: стандартна і розширена підтримка). Залишатися довше означає платити за розширену підтримку або працювати без виправлень помилок і оновлень безпеки. Реальне питання сьогодні не чи йти з 17-ї, а куди саме: на 18, 19 чи 20.
Графік підтримки Odoo у 2026 році
Odoo надає кожній мажорній версії три роки стандартної підтримки на Odoo Online, Odoo.sh та on-premise. Після цього розширена підтримка коштує додатково і доступна лише на Odoo.sh (для частини версій) та on-premise.
| Версія | Реліз | Кінець стандартної підтримки |
|---|---|---|
| Odoo 20.0 | вересень 2026 | вересень 2029 (план) |
| Odoo 19.0 | вересень 2025 | вересень 2028 (план) |
| Odoo 18.0 | жовтень 2024 | вересень 2027 (план) |
| Odoo 17.0 | листопад 2023 | вересень 2026 |
| Odoo 16.0 | жовтень 2022 | вересень 2025 |
Джерело: документація Odoo.
Два правила з тієї ж сторінки визначають кожен план оновлення. Оновитися можна з будь-якої версії на будь-яку мажорну версію, що ще перебуває на стандартній підтримці. А на Odoo Online є ще проміжні SaaS-версії, як-от 19.1–19.4: вони виходять кожні два-три місяці й недоступні on-premise чи на Odoo.sh.
Що змінилося під капотом в Odoo 18
Odoo 18 — передусім реліз про продуктивність і зручність. На наших навантажувальних тестах на 14 оновлених базах час відкриття списків із фільтрами скоротився в середньому на 23%, а квартальні pivot-звіти стали швидшими приблизно на 40%. Ваші цифри залежатимуть від обсягу даних і кастомізацій, тож міряйте на копії власної бази, перш ніж щось обіцяти користувачам.
Зміни, які наші клієнти помітили найбільше (усі є в release notes Odoo 18):
- Навігація. Читабельні URL на кшталт
/odoo/project/5/tasksі гаряча клавіша для перемикання компаній у мультикомпанійних налаштуваннях. - Бухгалтерія. Спрощена банківська звірка і пакетні платежі, кольорові номери зіставлення, виявлення аномалій в інвойсах і краще керування кредитами.
- Склад. Push-правила тепер спрацьовують під час валідації переміщення, а не заздалегідь; відстеження лотів і серійних номерів між компаніями; покращена логіка розміщення товарів.
- Point of Sale. Повністю перероблений, простіший інтерфейс з оплатою через QR-код.
- Мобільні сценарії та штрихкоди. Barcode, PoS і Attendances як прогресивні вебзастосунки (PWA), що встановлюються на пристрій, плюс підтримка RFID-сканерів і пакетне сканування серійних номерів.
- Сайт і eCommerce. Click & Collect, налаштовувані сторінки категорій, мега-меню, автоматична конвертація зображень у WebP і десятки нових блоків конструктора.
Технічні вимоги майже не змінилися: і Odoo 17, і Odoo 18 потребують Python 3.10 або новішого та PostgreSQL 12 або новішого (гайд зі встановлення Odoo 18). В Odoo 19 мінімальну версію PostgreSQL підняли до 13.
Кому міграція дасть найбільший виграш
Якщо ваш Odoo 17 «впирається» у звіти, обробку складських документів або щоденні bulk-оновлення — самого приросту продуктивності достатньо, щоб виправдати оновлення. Якщо ж інстанс невеликий і мало кастомізований, головна причина простіша: вам потрібна версія, що підтримується.
Сценарії, де міграція термінова
- Ви на Odoo 17 або старішій версії без контракту на розширену підтримку. Ви більше не отримуєте виправлень безпеки.
- У вас понад 100 одночасних користувачів і скарги на швидкодію.
- Команда хоче мобільні сценарії на складах і в магазинах із застосунками Barcode та PoS.
- Ви будуєте інтеграції або AI-агентів. В Odoo 19 з'явився новий зовнішній JSON-2 API з автентифікацією за API-ключем, а старі ендпоінти XML-RPC і JSON-RPC оголошені застарілими і будуть видалені в Odoo 22 (зовнішній API Odoo). Нові інтеграції варто одразу будувати на JSON-2.
Odoo 18, 19 чи 20?
- Odoo 18 — найменш ризиковий перехід із 17-ї, вже два роки в продакшені, але його стандартна підтримка закінчується у вересні 2027 року. Обирайте його, лише якщо ваші кастомні модулі чи сторонні застосунки ще не портовані далі.
- Odoo 19 — наша ціль за замовчуванням наприкінці 2026 року: зріла версія, широко підтримувана OCA та вендорами застосунків, з підтримкою до вересня 2028 року.
- Odoo 20 дає найдовший горизонт — до вересня 2029 року, але для складних баз ми чекаємо кілька місяців перших виправлень і портування ключових сторонніх модулів.
Платформа оновлень Odoo мігрує базу одразу на цільову версію, тож перехід із 17 на 19 — це один проєкт, а не два. Кастомні модулі все одно треба портувати з урахуванням змін API в кожній проміжній версії — саме туди йде більша частина зусиль.
Чек-лист безболісної міграції
- Аудит усіх кастомних модулів і їхньої сумісності з ORM і views цільової версії. Видаліть модулі, якими ніхто не користується, — з нашого досвіду це 10–20% коду.
- Замовте оновлену тестову базу через платформу оновлень Odoo або скрипт оновлення, використовуючи свіжу копію продакшену (документація з оновлення Odoo).
- Портуйте кастомний код за гайдом Odoo з оновлення кастомізованої бази. Для Community Edition замість сервісу Odoo використовуйте проєкт OCA OpenUpgrade.
- Проганяйте регресійні тести критичних процесів: quote-to-cash, procure-to-pay, закриття місяця, зарплата, якщо ви її ведете в Odoo.
- Відрепетируйте переключення хоча б раз, засікаючи час кожного кроку, щоб знати реальне вікно простою.
- Підготуйте план відкату за 30 хвилин: перевірений бекап, заморожена копія старого коду і чітко визначена людина, що ухвалює рішення go/no-go.
- Навчіть ключових користувачів за 1–2 тижні до релізу на staging-копії з їхніми власними даними.
Автоматизуйте регресійні тести
Ручне тестування не масштабується, якщо оновлюватися кожні один-два роки. Ми покриваємо кожен критичний процес вбудованим тестовим фреймворком Odoo, тож той самий набір тестів запускається на старій версії, на оновленій тестовій базі й при кожному наступному оновленні (документація Odoo: тестування):
from odoo.tests import TransactionCase, tagged
@tagged("post_install", "-at_install", "upgrade_regression")
class TestQuoteToCash(TransactionCase):
def test_order_to_invoice(self):
partner = self.env["res.partner"].create({"name": "Regression Customer"})
product = self.env["product.product"].create({"name": "Widget", "list_price": 100})
order = self.env["sale.order"].create({
"partner_id": partner.id,
"order_line": [(0, 0, {"product_id": product.id, "product_uom_qty": 3})],
})
order.action_confirm()
invoice = order._create_invoices()
invoice.action_post()
self.assertEqual(invoice.amount_untaxed, 300)
self.assertEqual(invoice.state, "posted")
Запускайте набір із тегом командою odoo-bin --test-tags upgrade_regression -d <db> після кожної репетиції оновлення. Кілька десятків таких тестів ловлять більшість зламаних кастомізацій раніше, ніж це зробить користувач.
Найбільший ризик міграції — не технічний, а організаційний. Команда, яка не побачила нову версію до релізу, опирається змінам. Ми завжди робимо демо для ключових користувачів за два тижні до запуску.
Типовий графік міграції
| Тиждень | Роботи |
|---|---|
| 1 | Аудит модулів, оновлена тестова база, обсяг робіт і оцінка |
| 2–3 | Портування кастомних модулів, виправлення проблем з даними зі звіту оновлення |
| 4 | Регресійне тестування командою та ключовими користувачами |
| 5 | Навчання, репетиція переключення, виправлення |
| 6 | Оновлення продакшену у вихідні, підвищена підтримка після запуску |
Для великих баз або переходу через дві версії додайте один-два тижні на портування і тестування.
Скільки це коштує
Типова міграція середнього бізнесу (50–150 користувачів, 10–20 кастомних модулів) займає 4–6 тижнів і вкладається в 18 000–35 000 євро з нашого боку. Понад 60% часу йде на аудит кастомізацій і регресійне тестування — економити на цьому небезпечно. Перехід одразу з 17 на 19 зазвичай коштує на 20–30% більше, ніж із 17 на 18, але це все одно значно дешевше, ніж два оновлення з різницею в рік.
Якщо ви досі на 1С, а не на старішій версії Odoo, проєкт виглядає інакше — див. Міграція з 1С на Odoo: покроковий план для середнього бізнесу.
Пов'язані гайди
Оновлення — добрий момент переглянути редакцію і тариф (Odoo Community чи Enterprise), виправити повільні екрани (Оптимізація продуктивності Odoo) і перевести інтеграції на новий JSON-2 API (Інтеграція AI-агентів з Odoo).
FAQ
Чи підтримується ще Odoo 17? Стандартна підтримка завершилася у вересні 2026 року. Розширена підтримка доступна за додаткову плату на Odoo.sh та on-premise.
Чи можна оновитися з Odoo 17 одразу на Odoo 19 або 20? Так. Сервіс оновлень Odoo переводить базу на будь-яку мажорну версію, що ще перебуває на стандартній підтримці.
Скільки триває оновлення Odoo? Для бази середнього розміру з 10–20 кастомними модулями — чотири-шість тижнів разом із тестуванням і навчанням. Фактичний простій продакшену зазвичай становить кілька годин у вихідні.
Чи ламаються кастомні модулі під час оновлення? Зазвичай частина з них — так. Odoo оновлює стандартну модель даних, але кастомний код треба портувати на API нової версії і протестувати.
Джерела
- Odoo. Standard and extended support.
- Odoo. Odoo 18 release notes.
- Odoo. Документація з оновлення і оновлення кастомізованої бази.
- Odoo. Вимоги до встановлення з вихідного коду, Odoo 18.
- Odoo. External JSON-2 API.
- Odoo. Testing Odoo.
- Odoo Community Association. OpenUpgrade.