Так — у прямому порівнянні на одній і тій самій функції (чеклісти завдань проєкту для Odoo 19) модуль Odoo, згенерований OdoMate, не поступився популярному модулю з Apps Store за жодною ключовою можливістю та додав пакет із 12 автоматичних тестів, безпеку на рівні record rules і два запобіжники, яких у популярного модуля немає. Нижче — докази на рівні коду, поруч, без жодного ручного доопрацювання після генерації.
Ми хотіли чесно відповісти на питання, яке чуємо і від партнерів Odoo, і від внутрішніх команд: чи може згенерований модуль реально стати поруч із тим, що люди вже встановлюють тисячами? Тож ми взяли добре відому задачу, згенерували під неї модуль в OdoMate і поставили його поруч з одним із найпопулярніших community-модулів, що робить те саме.
Умови: одна задача, дві реалізації
Обидва модулі додають до завдань проєкту багатокрокові чеклісти з шаблонів — обери шаблон, завантаж його кроки в завдання, переводь кожен крок через To Do → In Progress → Done/Cancelled і дивись, як заповнюється смуга прогресу.
- Референс: Project Task Checklist від Cybrosys — безкоштовний, усталений community-модуль. Його сторінка в Apps Store показує 3 136 встановлень станом на 20 липня 2026 р. Це легітимне, широко вживане рішення від вендора з великим каталогом.
- Згенерований: Project Task Checklists від OdoMate — специфікований, згенерований і автоматично протестований OdoMate, після чого пройшов security-review перед публікацією. Жоден рядок його коду не переписувався вручну для цього порівняння.
Обидва — для Odoo 19 Community, залежать лише від project, безкоштовні та open-source, обидва мають повноцінну сторінку опису в Apps Store. Це не «платний проти безкоштовного» і не «Enterprise проти Community» — це одна задача, зроблена двома способами.
Де вони однакові
Чесно віддамо належне: у ключовій обіцянці ці модулі близькі.
- Багаторазові шаблони чеклістів, якими керуєш у бібліотеці
- Ті самі чотири стани кроку з інлайн-кнопками Start / Done / Cancel
- Жива смуга прогресу на завданні та колонка прогресу в списку завдань
- Легкий, адитивний слід (обидва лише розширюють
project.task)
Жоден не постачає файли перекладів, і жоден не ізолює шаблони по компаніях. Якщо все, що потрібно, — це просте відстеження чеклістів, референсний модуль давно робить цю роботу в продакшені.
Де згенерований модуль іде далі
Відмінності не в головній функції — вони в інженерії під нею. Ми переглянули обидва модулі файл за файлом за десятьма темами (функції, модель даних, коректність коду, безпека, конвенції Odoo/OCA, тести, UX, продуктивність, документація, ліцензування) — усього 74 виміри. Ось згрупований, відібраний зріз; кожен рядок простежується до вихідного коду самих модулів.
| Тема | Що перевіряли | OdoMate | Cybrosys |
|---|---|---|---|
| Базові функції | Шаблони, 4 стани кроку, інлайн-кнопки | ✅ | ✅ |
| Базові функції | Смуга прогресу + колонка в списку завдань | ✅ | ✅ |
| Тестування | Пакет автоматичних тестів | ✅ 12 кейсів | ⬜ немає |
| Тестування | Demo-дані для оцінки після встановлення | ✅ | ⬜ немає |
| Безпека і доступ | Поділ прав користувач/менеджер | ✅ | ⬜ плоскі, усі |
| Безпека і доступ | Record rules за видимістю завдання | ✅ 2 | ⬜ немає |
| Коректність | Прогрес рахує лише завершене (без скасованих) | ✅ | 🟡 |
| Коректність | Обчислення збережені + з @api.depends |
✅ | 🟡 не збережені |
| Захист роботи | Підтвердження перед заміною чекліста | ✅ візард | ⬜ немає |
| Захист роботи | Авто- та самовідновні дати старту/завершення | ✅ | ⬜ вручну |
| Інженерія | Індекси, батч-безпечні create/write | ✅ | 🟡 |
| Модель даних | Явні _order, ondelete, copy |
✅ | 🟡 |
| UX | Кнопки з підписами й врахуванням стану | ✅ | 🟡 лише іконки |
| Пакування | Архівація шаблонів + гайд користувача | ✅ | ⬜ |
| Документація | README + підказки на полях | ✅ | ✅ |
| Документація | Підтримуваний changelog / release notes | 🟡 | ✅ |
| Впровадження | Перевірена база встановлень | 🟡 нове | ✅ 3 136 |
✅ повністю · 🟡 частково · ⬜ немає. Це відібраний зріз повного огляду з 74 пунктів; за базовими функціями модулі справді рівні, а референсний модуль лідирує за впровадженням і підтримуваним changelog.
Він постачається з пакетом тестів
Згенерований модуль постачається з пакетом із 12 автоматичних тестів (tests/test_project_checklist.py), що перевіряють те, що найімовірніше зламається:
test_apply_on_empty_task_copies_lines
test_switch_without_progress_replaces_immediately
test_switch_with_progress_waits_for_confirmation
test_replace_wizard_confirm_replaces
test_progress_excludes_cancelled
test_progress_zero_when_all_cancelled
test_start_date_stamped_on_first_in_progress
test_start_date_not_overwritten
test_end_date_stamped_on_completion
test_end_date_self_heals_when_reopened
test_end_date_cleared_on_confirmed_replace
test_template_line_countOdoMate генерує та автоматично тестує кожен модуль у рамках свого процесу; запис про генерацію цього модуля повідомляє про успішне виконання 12 із 12 юніт-тестів. Референсний модуль не постачає каталог tests/ — що звично для модулів Apps Store, але означає, що немає чого перезапустити на власній збірці, щоб підтвердити поведінку після оновлення. Тести — повноцінна частина фреймворку розробника Odoo саме тому, що там ловляться регресії.
Контроль доступу слідує за видимістю завдання
Згенерований модуль розділяє права: внутрішні користувачі можуть читати бібліотеку шаблонів, але редагувати її можуть лише Project Managers (6 правил доступу). Він також постачає два record rules, тож користувач бачить кроки чеклістів лише для завдань, які йому й так дозволено бачити — дані чекліста не можуть тихо розширити доступ понад наявну видимість завдань. Референсний модуль дає кожному внутрішньому користувачу повні create/read/write/delete на всіх своїх моделях і не має record rules. Для персонального трекера це нормально; для спільних проєктних даних з налаштуваннями конфіденційності обмежена модель — безпечніший варіант за замовчуванням.
Він запитує, перш ніж викинути твою роботу
Заміни чекліст на завданні, де вже є прогрес, — і згенерований модуль відкриє невеликий візард підтвердження, перш ніж відкинути поточні кроки. Це запобіжник проти втрати роботи одним хибним вибором зі списку — дрібниця, що має значення, коли модулем уже користуються реальні люди.

Прогрес рахує лише завершену роботу
Згенерований модуль обчислює прогрес як done ÷ (total − cancelled), зберігає його на завданні й перераховує реактивно зі зміною кроків — тож скасування кроку, який ти не робитимеш, не завадить досягти 100%. Він також ставить дату початку завдання при першому старті кроку, а дату завершення — коли чекліст завершено, автоматично очищаючи цю дату, якщо роботу відновлено. Це саме ті деталі, які розробник зазвичай додає вручну на другому проході; тут вони вийшли з генератора OdoMate з тестами навколо них.

Чого це не доводить
Ми залишаємося чесними, бо технічна аудиторія відчуває протилежне:
- Це один модуль на одній поширеній задачі. Це доказ, що OdoMate може створити повноцінний, добре протестований модуль, — а не твердження, що кожен згенерований модуль долає цю планку чи що генерація замінює інженерне судження.
- Згенерований код усе ще потребує людського рев'ю. Ми ставимося до виходу OdoMate як до сильного Python рівня junior-to-middle, який розробник має переглянути перед продакшеном. Для цього showcase-модуля наш CTO провів security-review перед публікацією; згенерований код не переписувався вручну, щоб виглядати краще.
- Кількість встановлень — це реальний доказ, який має референс, а ми ні. 3 136 встановлень означають, що модуль Cybrosys давно перевіряється реальними командами. Наш — щойно опублікований. Покриття тестами — це не те саме, що перевірене на практиці впровадження, і ми не вдаємо, що це так.
Що це насправді доводить
Це не історія про те, «який модуль встановити замість іншого». Обидва безкоштовні, обидва встановлюються, обидва роблять базову роботу — а референсний має реальний досвід у продакшені, якого щойно опублікований модуль мати не може. Вибір чеклист-модуля ніколи не був суттю.
Суть — у тому, як згенерований модуль сюди дійшов. Його не збирав руками розробник за кілька проходів і ніхто не «доводив» код після — його згенеровано зі специфікації простою мовою й автоматично протестовано, і він усе одно вийшов з record-rule безпекою, захистом від заміни, точною логікою прогресу й дат і пакетом тестів, який можна перезапустити самому. Ось справжній результат: доказ, що платформа може перетворити чітку специфікацію на стабільний, функціональний, структурований за конвенціями модуль Odoo — який ти можеш перевірити рядок за рядком, перш ніж йому довіритися.
Тож питання, яке варто ставити, не «який чеклист-модуль встановити?», а «чи можу я згенерувати модулі, потрібні саме моєму проєкту, до такого рівня?». Якщо хочеш побачити, як точна специфікація дає такий результат, ми розібрали шість речей, на які має відповідати кожна специфікація модуля Odoo.
Цікаво, як це спрацює на твоїй власній специфікації? Ми підключаємо ранніх бета-користувачів невеликими когортами — переглянь модуль, а потім подай запит на ранній бета-доступ.
FAQ
Чи може згенерований ШІ модуль Odoo містити автоматичні тести? Так. Згенерований модуль у цьому порівнянні постачається з пакетом із 12 автоматичних тестів, що покривають його шаблони, застосування чекліста, обчислення прогресу та проставлення дат. OdoMate генерує та автоматично тестує кожен модуль у рамках свого процесу, а файли тестів є частиною завантажуваного результату, тож їх можна перезапустити самостійно.
Чи готовий згенерований модуль до продакшену «як є»? Ставтеся до нього як до сильного Python рівня, який потребує людського рев'ю перед продакшеном. Для офіційних showcase-модулів CTO OdoMate проводить security-review перед публікацією, не переписуючи згенерований код.
Чи робить більша кількість встановлень популярний модуль кращим? Не автоматично, але це вагомий доказ. Висока кількість встановлень (3 136 у референсного модуля) означає, що реальні команди перевіряли його з часом — чого щойно опублікований модуль стверджувати не може. Це інший тип гарантії, ніж покриття автотестами, і зважати варто на обидва.
Чи обидва модулі безкоштовні та сумісні з Community?
Так. Обидва — для Odoo 19 Community, залежать лише від модуля project, безкоштовні та open-source (згенерований під LGPL-3, референсний під AGPL-3).
Чи редагувався згенерований код вручну для цього порівняння? Ні. Показаний модуль — це фактичний згенерований вихід OdoMate, який пройшов security-review перед випуском, але не переписувався й не покращувався вручну для публікації.
