Перейти к содержимому

Разработка и доработка модулей 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. Новосибирск, работа по всей России.