В августе 2024 года к нам пришёл холдинг, в который входило 14 производственных площадок по России. У каждой была своя учётная система: где-то 1С УПП, где-то 1С Бухгалтерия + Excel, где-то самописное на FoxPro двадцатилетней давности. Финансы сводились вручную, занимало 12 рабочих дней в месяц.
За 8 месяцев мы перевели холдинг на единую ERP-систему. Ниже — как именно, по этапам.
Месяц 1–2: Discovery и архитектура
Сначала — две недели интервью на каждой площадке. С главными бухгалтерами, начальниками цехов, кладовщиками, экономистами. Не «как должно быть», а «как реально работает». Например: оказалось что на площадке в Челябинске весь учёт остатков сырья вёлся в одной Excel-таблице, которую обновлял один человек и больше никто не имел права в неё писать. Знать это до начала проектирования — критично.
По итогам интервью — документ на 47 страниц: модули, потоки данных, контракты интеграции, риски, план миграции.
Месяц 3: MVP на одной площадке
Самое сложное в большом ERP — не «написать», а «не сломать». Поэтому мы начали с одной площадки (самой маленькой, 40 человек). Перевели на неё новый учётный контур — но не вместо старого, а параллельно. Все операции вводились дважды: в старую 1С и в новую систему. Это называется «теневой контур».
Месяц шло сравнение. Расхождения отлавливались, поправки вносились. К концу месяца сходимость 99.4%. Готовы переходить дальше.
Месяц 4–6: Раскатка на остальные 13 площадок
Тут была ключевая инженерная идея: единый ETL-сервис, который читает данные из любой старой системы (1С через COM, Excel через Pandas, FoxPro через ODBC) и приводит к единому формату. Запускали по 2–3 площадки в неделю. К концу шестого месяца все 14 площадок работали в новом контуре, старые продолжали работать «на всякий случай».
Месяц 7: Сворачиваем теневой режим
Самый стрессовый месяц. На каждой площадке — по очереди — отключали старую систему. Перед отключением финальная сверка балансов. Если расхождение больше 0.1% — не отключаем, чиним.
Отключение шло волной: одна площадка в день. К концу месяца все жили только в новой системе.
Месяц 8: Закрытие первого полного периода + передача
Сделали первое квартальное закрытие в новой системе. Заняло 3 рабочих дня (было 12). Сдали финальную документацию заказчику, провели обучение внутренней команды, передали репозиторий с правом коммитить.
Результаты в цифрах
- Длительность закрытия периода: 12 дней → 3 дня (−75%)
- Время на инвентаризацию склада: 4 дня → 1 день (×4 быстрее)
- Себестоимость ИТ-инфраструктуры: −40% за счёт отказа от лицензий зоопарка систем
- Время простоя производства из-за миграции: 0 часов
Что бы мы сделали иначе
Discovery нужно было растянуть на 3 недели вместо 2. Один цех мы вскрыли уже на этапе MVP — оказалось, что у них своя схема расчёта сменных норм, которую мы не учли в архитектуре. Пришлось переделать модуль производства за неделю. Если бы поговорили заранее — сэкономили бы.