Любой вендор ERP открывает презентацию одним и тем же слайдом: «Подходит для любого производителя». На практике каждый завод живёт на двух осях, и именно они задают форму внедрения — природа процесса и триггер, который запускает производственный заказ. Разобраться с этим до проекта — значит получить предсказуемый бюджет, сроки и архитектуру. Не разобраться — значит потом полгода перестраивать фундамент.
Вот как мы в Rteam ставим разговор до старта любого Odoo-проекта.
1. Природа процесса: discrete или process
Discrete (дискретное) производство — считает. Вы делаете один стул, одну плату, один автомобиль. В основе — bill of materials: спецификация компонентов, которые теоретически можно разобрать обратно на части. Выход предсказуемый, контроль качества — поштучный, серийные номера и лоты либо опциональны, либо нужны по требованию регулятора.
Process (процессное) производство — не считает, а измеряет. На выходе килограммы краски, литры сиропа, тонны аммиака. Вместо BoM — формула: проценты, допуски, переменный yield, зависящий от качества сырья. Партию полимера нельзя «разобрать обратно» на мономеры. Co-products и by-products — не исключение, а норма: переработка нефти даёт одновременно бензин, дизель и мазут, и все три — плановые продукты, не отходы.
Сравнение:
| Discrete | Process | |
|---|---|---|
| Что производится | Счётные единицы (шт.) | Непрерывная масса/объём (кг, л, т) |
| Основа | Bill of materials | Формула / рецептура |
| Обратимость | Можно разобрать на компоненты | Необратимо — смешал, не разделишь |
| Примеры | Мебель, электроника, авто, оборудование, одежда | Химия, фарма, еда и напитки, краски, нефтепереработка, косметика |
| Co- / by-products | Редко | Норма (из нефти → бензин + дизель + мазут) |
| Выход (yield) | Фиксированный | Переменный (потери, % выхода) |
| Единица учёта ГП | Unit + Serial / Lot | Batch / Lot (обязательно) |
| Контроль качества | По экземпляру | По партии, допуски, срок годности |
| Регуляторика | Обычно ISO | GMP, HACCP, FDA, готовность к отзыву |
Есть и третья категория, которую важно назвать отдельно — hybrid. Гибридное производство склеивает процессный этап с дискретным. Классика — фарма: сначала синтезируют активную субстанцию как process-партию, затем прессуют и фасуют в блистеры как discrete-единицы. Косметика варит крем, потом разливает по банкам. Пищёвка и напитки работают по той же схеме: ферментация или варка в объёме, затем упаковка в штучные SKU. ERP обязана вести оба режима с чистым переходом lot → serial.
Почему именно эта ось идёт первой. Всё, что ниже, — настройка единиц измерения, трекинг партий, учёт отклонений по yield, готовность к отзыву продукции — напрямую вытекает из ответа на этот вопрос. Внедрение Odoo, собранное по логике «пока сделаем как discrete, лоты добавим потом», почти никогда не вырастает в настоящее process-производство без переделки основания.
2. Триггер запуска: MTS, ATO, MTO, CTO, ETO
Вторая ось — не про то, что вы делаете, а про то, *когда* запускается производственный заказ. Какое событие инициирует MO.
- MTS — Make-to-Stock. Триггер — прогноз или правило min/max. И компоненты, и готовая продукция лежат на складе. Лид-тайм клиенту — мгновенный: Coca-Cola не варит бутылку в тот момент, когда вы берёте её с полки.
- ATO — Assemble-to-Order. Триггер — заказ клиента, но модули уже в наличии. После заказа происходит только финальная сборка. Классика — Dell: корпус, процессор, RAM на складе, конфигурация собирается под конкретного клиента. Лид-тайм — часы или дни.
- MTO — Make-to-Order. Заказ клиента запускает и закупку, и производство. Клиент ждёт недели, потому что ничего не собрано заранее. Типично для промышленного оборудования под ТЗ.
- CTO — Configure-to-Order. Заказ плюс конфигуратор. Клиент выбирает из каталога вариантов, завод собирает выбранную комбинацию. Автомобиль с опциями у дилера.
- ETO — Engineer-to-Order. Заказ плюс инженерный проект. Каждая единица проектируется с нуля. Лид-тайм — месяцы. Турбина для ГЭС, уникальное судно, промышленная линия под конкретное сырьё.
В жизни большинство заводов одновременно работают в нескольких режимах — разные линейки живут по разным стратегиям. Это нормально. Но каждый SKU в ERP должен быть явно привязан к одной стратегии, потому что логика пополнения, правила закупки и модель себестоимости у них разные.
3. Как Odoo покрывает эти процессы
Теперь часть, которая реально интересует покупателей ERP.
Discrete в Odoo — нативно и сильно
MRP-стек Odoo изначально проектировался под дискретное производство. Из коробки вы получаете:
mrp— BoM, Manufacturing Orders, Work Ordersmrp_workorder— рабочие центры, маршруты, OEEquality— контрольные точки, привязанные к операциямmaintenance— плановое и аварийное обслуживание оборудованияplm— инженерные изменения (ECO)
Для мебельной фабрики, сборщика электроники или металлообработчика это полный стек. Кастомизация нужна только под бизнес-специфику — ваши этикетки, ваш EDI с поставщиками, — а не потому, что в ядре чего-то принципиально не хватает.
Process в Odoo — возможно, но стандарта не хватает
BoM в Odoo спроектирован под один выход на заказ. Всё, что шире, требует доработок:
- Co-products и by-products — есть модуль
mrp_subproductот OCA или кастом. Операции типа переработки, где из одного входа получаются три плановых выхода одновременно, нативно не закрываются. - Формулы с переменным yield — штатного рецептурного движка нет. Можно приблизить через гибкость BoM, но полноценная система формул с допусками — отдельная разработка.
- Генеалогия партий, retention samples, Certificate of Analysis — либо OCA (
product_expiry,quality_control_oca), либо отдельный вертикальный слой. - Серьёзная фарма и химия — обычно Odoo *плюс* специализированная надстройка, либо Odoo в связке с отдельной LIMS/MES. В 17 и 18 версиях улучшили трекинг партий и срок годности, но до SAP PP-PI или Infor M3 на регулируемых отраслях ещё далеко.
Если производство регулируемое (GMP, FDA, HACCP с готовностью к отзыву) — планируйте Odoo как бизнес-уровень, а специфику процесса закрывайте отдельной системой или крупной доработкой. Внедрение ванильного Odoo на GMP-сертифицированное фармпроизводство без надстроек — нереалистичный сценарий.
Стратегии в Odoo: по продукту или маршруту
- MTS — Reordering Rules (min/max) на складе и продукте.
- MTO — маршрут Replenish on Order на продукте или отдельно прописанный маршрут.
- ATO — MTO на финальный продукт плюс MTS на субсборки: модули всегда в наличии, финальная сборка запускается заказом.
- CTO — Product Variants плюс конфигуратор в модуле Sales. Работает до умеренного числа вариантов; на большом каталоге конфигураций штатный UI, как правило, заменяется на кастомный.
- ETO — обычно связка
project+mrpс кастомным BoM под каждый заказ, либо модульproject_mrpот OCA. У настоящих engineer-to-order-компанийprojectстановится центром тяжести, а MRP — спутником.
Практическое правило
Когда мы в Rteam скопим Odoo-проект для производителя, первый разговор почти никогда не про модули и не про цену. Он про два вопроса:
- Discrete, process или hybrid — и если hybrid, то где именно стык?
- По каждому семейству продукции — какая из стратегий MTS / ATO / MTO / CTO / ETO применима, и готов ли бизнес соблюдать её в системе?
Ответы предсказывают бюджет и сроки точнее любого функционального чеклиста. Чисто дискретный MTS-завод садится в Odoo за недели. Process-производство с MTO, co-products, формулами и GMP-трейсабилити — совсем другой проект, и иногда честный ответ: базовым функционалом Odoo не обойтись.
Если вы принимаете это решение прямо сейчас — короткий разговор про ваши две оси стоит больше, чем шаблонное коммерческое. Настоящий fit ERP находится именно там.