Разработка и доработка модулей Odoo
Разработка и доработка модулей Odoo
Odoo закрывает типовые процессы из коробки, но почти любая компания упирается в место, где «стандартно» — не значит «как у нас»: скидка считается от объёма по договору, заявка проходит три согласования, счёт нельзя выставить без комплекта документов. Штатная логика на такие правила не рассчитана, и работа возвращается в Excel.
Второй сценарий — система работает, но перестала успевать за компанией: появились маркетплейсы, ЭДО, новые юрлица, изменились требования бухгалтерии. Третий — подрядчика рядом нет, и никто не может поправить печатную форму.
Мы — ERPHA, Odoo интегратор из Новосибирска, работаем по всей России. Odoo разработка идёт на версиях 8–19 и на FlectraHQ: новые модули, доработка существующих, интеграция Odoo с внешними сервисами — к работающей системе, без переписывания с нуля. Разработка модулей Odoo начинается от процесса, а не от кода: сначала разбираем, как устроена работа, потом решаем, что закрыть настройками.
Когда штатного функционала не хватает
Дорабатывать стоит не «на всякий случай», а когда есть разрыв между работой и системой.
- Своя логика документов. Расчёты и переходы, которых нет в типовых моделях: комплектация заказа, наценка по правилам, распределение затрат.
- Интеграция с внешней системой. Сервис, которого нет в готовом виде: ЭДО, маркетплейс, касса, подсказки реквизитов, телефония.
- Документы и файлы. Когда файлы лежат в облаке отдельно от учёта: добавляем папки, теги, публичные ссылки, привязку файла к сделке.
- Отчёты, которых нет в Odoo. Когда нужный разбор собирается в Excel руками. Свои финансовые отчёты: ОСВ, Главная книга, Баланс, ОПУ, активы, бюджет.
- Печатные формы и права доступа. УПД, ТОРГ-12, счёта-фактуры закрывает наша локализация; роли и видимость по суммам настраиваем под структуру компании.
- Сайт и аналитика. Приём заявок, каталог, статистика внутри системы: есть опыт интеграции Яндекс Метрики в Odoo.
Если задача решается настройкой, говорим об этом прямо. Доработка Odoo нужна там, где правило существует только в вашей компании.
Что мы разрабатываем
- Новые модули. Отдельный модуль под процесс: заявки и согласования, логистика, сервис и ремонт, услуги.
- Доработка существующих модулей. Изменение логики и интерфейса работающих модулей — своих, типовых или чужих.
- Интеграции. ЭДО (СБИС, Диадок), маркетплейсы (Ozon), ККТ (Эвотор, очереди чеков через REST), DaData (автозаполнение по ИНН, адресу, БИК), VoIP на базе OCA поверх Asterisk, обмен по API.
- Отчёты и аналитика. Финансовые отчёты (ОСВ, Главная книга, Баланс, ОПУ, активы, бюджет) и операционные выборки.
- Печатные формы и локализация. Собственный модуль l10n_ru_accounting: план счетов РФ, НДС и УСН, УПД, ТОРГ-12, счёта-фактуры, отчётность.
- Документы. Папки, теги, публичные ссылки, поиск по реквизитам.
Ядро не правим там, где хватает расширения: код живёт в модулях, поэтому система сохраняет возможность обновляться.
Как проходит разработка
Этапы одинаковы для маленькой правки и крупного модуля.
| Этап | Что происходит | Что нужно от вас |
|---|---|---|
| Анализ | Как работаете сейчас, что изменится в документах, отчётах и правах | Сотрудник, знающий процесс; доступы к базе |
| Оценка | Трудозатраты и варианты: настройка, доработка или изменение процесса | Решение по варианту и приоритетам |
| Прототип | Макет интерфейса или демонстрация логики на тестовой базе | Обратная связь в срок |
| Разработка | Модуль или правка, не затрагивая ядро; совместимость с вашей версией | Ответы на уточняющие вопросы |
| Тестирование | Проверка на копии базы: сценарии, документы, отчёты, влияние на смежные модули | Тестирование и приёмочные замечания |
| Выкатка | Перенос в согласованное окно, контроль журналов, показ результата | Время и доступ к продуктиву |
| Документация | Описание модуля, зависимостей и точек доработки | Контакт ответственного за систему |
Работы после выкатки — это сопровождение и доработка Odoo.
Тестирование и приёмка
Доработка «в лоб» ломает учёт и всплывает через месяц, поэтому проверка — отдельный этап.
- Только на копии базы. Сначала тестовый контур, потом продуктив.
- Сценарии целиком. Не «кнопка работает», а путь: заявка → согласование → документ → печатная форма → отчёт.
- Сверка результатов. Если менялась логика сумм, остатков или прав, проверяем смежные модули и сверяем отчёты до и после.
- Приёмка по списку. Ожидаемый результат зафиксирован на этапе оценки; замечания закрываем списком.
- План отката. Версия базы и бэкап перед выкаткой — изменение можно вернуть назад.
Обновления версий Odoo и кастомные модули
Кастомные модули — то, из-за чего чаще всего откладывают обновление. Страх понятный, но решаемый.
В новой версии меняются API, модели, шаблоны и отчёты: то, что работало в Odoo 17, в Odoo 19 может требовать переработки. Портировать модуль — не то же самое, что писать заново, если код жил отдельно от ядра.
Собственный модуль российской локализации l10n_ru_accounting мы разрабатываем и переносим между мажорными версиями сами: по переносу с 17 на 19 видно, что именно ломается и сколько это стоит. Порядок работы:
- инвентаризация: что самописное, где правки в ядре, где модули без исходников;
- разбор модулей: что переносится как есть, что переписывается, что заменяется штатным;
- перенос настроек: права, налоги, нумерация, маршруты, печатные формы;
- сверка данных: остатки, задолженности, проводки, отчёты.
Обновление без сверки — перенос проблем в новую версию. Логика перехода разобрана в материале про внедрение и миграцию.
Передача кода и независимость от подрядчика
Передача устроена так, чтобы заказчик мог держать разработку в своих руках или спокойно сменить команду.
- Код в модулях, а не в ядре. Кастомное отделено от платформы, обновление не превращается в ручной перенос правок.
- Исходники и репозиторий — ваши. Модуль передаётся в исходном виде, при необходимости с историей изменений.
- Никаких «чёрных ящиков». В модуле нет закрытых частей, которые тянет только один подрядчик.
- Документация. Назначение, состав и точки доработки — чтобы задачу понимал любой разработчик Odoo, а не только автор кода.
- Повторяемая выкатка. Изменения ставятся по описанию, а не по памяти.
Бывает и обратная задача: принимаем систему с модулями другого подрядчика. Если исходников нет или код правился в ядре, решается не всегда — говорим сразу, а не после аварии.
Сроки и стоимость
Единого прайса на разработку не существует: час работы одинаковый, а объём — нет. «Нужен отчёт» может означать два дня работы или десять: зависит от данных, числа источников и объёма данных для пересчёта.
На оценку влияют: сколько процессов затронуто; нужен ли новый модуль или хватит доработки; сколько внешних систем в интеграции; насколько нестандартна логика; версия Odoo. Сроки и бюджет называем после разбора задачи: зависит от задачи, считаем после аудита. Крупные модули разбиваем на этапы с отдельной приёмкой.
Частые вопросы
Чем доработка отличается от настройки?
Настройка — использование того, что уже есть в Odoo: права, налоги, маршруты, поля. Доработка — изменение того, как система работает, на уровне кода. Разграничиваем до старта.
Можно ли доработать типовой модуль, а не писать новый?
Да, часто это правильный вариант: расширяем существующий модуль, не копируя его целиком. Новый пишем, когда нужна отдельная сущность или логика вне типового процесса.
Вы работаете с доработками другого подрядчика?
Да, регулярная практика. Смотрим код и оцениваем состояние: что-то поддерживаем как есть, что-то приводим в порядок. Если исходников нет или правки делались в ядре, говорим об ограничениях честно.
Доработки не помешают обновить Odoo?
Помешают, если живут в ядре. Если кастомное вынесено в модули, обновление идёт по плану: часть переносится как есть, часть переписывается. Путь 17 → 19 для собственного модуля мы уже прошли.
Сможем ли мы передать разработку другой команде?
Да. Исходники, репозиторий и документация — ваши, код не содержит закрытых частей.
Работаете ли вы с российской бухгалтерией?
Да, на собственном модуле l10n_ru_accounting: план счетов РФ, НДС и УСН, УПД, ТОРГ-12, счёта-фактуры, отчётность ОСВ, баланс, ОПУ. Подробнее — в материале про российскую локализацию Odoo.
Начните с бесплатного экспресс-аудита
Прежде чем считать разработку, нужно увидеть вашу систему: версию, состав модулей, доработки, интеграции, состояние данных. Экспресс-аудит Odoo занимает 30 минут и бесплатен: по итогам понятно, что закрывается настройкой, что доработкой и с чего начинать.
Оставьте заявку на /audit-odoo или свяжитесь напрямую: +7 913 916-61-17, info@erpha.ru. ERPHA — внедрение, разработка модулей, локализация, миграция и сопровождение Odoo, FlectraHQ и 1С-ERP. Новосибирск, работа по всей России.