Как внедрить ERPNext за месяц в компании на 20–40 человек: рабочий план по неделям
Внедрить ERPNext за 30 дней реально, если запускать не всё сразу, а два-три сценария, а бухгалтерию оставить в 1С. Ниже — недельный план, который я веду сам: что делается на каждой неделе, как загружать справочники и остатки, когда выдавать роли, и где месяц обычно срывается. Разбор — на отеле с 32 рабочими местами.
Реально ли внедрить ERPNext за 30 дней и что считать «внедрили»
Короткий ответ: да, но только при честном определении слова «внедрили». За тридцать календарных дней компания на 20–40 человек может перейти с таблиц и переписки на ERPNext по двум-трём сквозным сценариям: заявка, закупка, склад. Целиком заменить всё, что делает учётная система за годы, за месяц не получится ни у кого, и я не верю обещаниям «полная ERP за две недели». Если вам нужен запуск open-source системы под ключ, мы делаем такое в рамках внедрения open-source решений, и первая же беседа всегда начинается с вопроса, какие сценарии уйдут в систему первыми.
Моё определение такое. Система внедрена, когда выполнены четыре условия: люди создают документы в ERPNext, а не в чате и Excel; остатки на складах в системе совпадают с физическими; у каждого пользователя есть роль и он видит только своё; есть резервная копия, из которой мы уже один раз поднимали систему заново. Всё остальное — развитие, а не внедрение. Красивые дашборды, интеграции и печатные формы я сознательно выношу за границу первых тридцати дней, потому что именно они съедают сроки.
Что даёт месяц, а что нет, удобно видеть в одной таблице. Она описывает мою практику, а не обещание вендора. | Что | Укладывается в 30 дней | Лучше планировать после | |---|---|---| | Заявки и закупка по согласованию | да | параллельные согласования | | Склады и начальные остатки | да | партии и штрихкоды по всему ассортименту | | Роли и ограничения доступа | да | тонкая настройка по полям | | Обмен с 1С | только договорённость | сам обмен | | Печатные формы под РФ | только список нужных | разработка форм | | Отчёты для директора | 2–3 стандартных | собственные дашборды |
Прежде чем брать систему в работу, посмотрите цены и состав владения: я разбирал их отдельно в статье сколько стоит внедрение и владение ERPNext. Здесь же я не про деньги, а про последовательность. И ещё одно честное ограничение: российский бухгалтерский и налоговый учёт ERPNext из коробки не закрывает, поэтому в моих проектах операционка живёт в ERPNext, а регламентированная отчётность остаётся в 1С.
- месяц — это два-три сценария, а не вся компания целиком
- бухгалтерия и налоги остаются в 1С, ERPNext ведёт операционный учёт
- критерий готовности — документы, остатки, роли и проверенная копия
- дашборды, интеграции и печатные формы — после первого месяца
Неделя 1: выбрать сценарии, поднять сервер и описать структуру компании
Первую неделю я не трогаю данные вообще. Сначала два дня уходят на разговор с владельцами процессов: кто и чем сейчас заказывает, принимает, списывает. Из этих разговоров выходит список из двух-трёх сценариев, ради которых затевается всё остальное. Правило простое: берём сценарий, где сегодня больше всего ручной переписки и больше всего споров «кто что заказал». Какие сценарии вообще бывают у небольшой компании и что из них закрывается без разработки, я собрал в статье примеры сценариев ERPNext для малого бизнеса; в этой статье я не повторяю их, а показываю, как уложить выбранные сценарии в календарь.
Параллельно ставится сервер. Для компании до 50 мест я выбираю одну виртуальную машину под Docker и сразу закладываю две вещи: внешнюю копию в другом месте и отдельный тестовый сайт. Установку в продуктивном режиме и требования к железу я описал в отдельных материалах, поэтому здесь только календарь: чистый сервер, домен, сертификат и работающий вход под администратором должны быть готовы к концу второго дня. Если на третий день сервер всё ещё «доводится», месяц уже под угрозой.
К концу недели нужны три решения, которые потом очень дорого менять. Первое — юридическое лицо и его склады: сколько у вас компаний в системе и какие склады существуют физически. Второе — единицы измерения и правило именования номенклатуры, например «Группа — наименование — фасовка». Третье — владельцы данных: кто отвечает за справочник товаров, кто за поставщиков, кто за остатки. Без названных людей справочники превращаются в свалку уже к третьей неделе, и я видел это слишком часто, чтобы относиться спокойно.
В отеле «Отель Столица» (32 рабочих места, условный клиент) мы выбрали три сценария: заявка на закупку от служб отеля, складской учёт хозяйственных и кухонных запасов, заявки на ремонт с расходом материалов. Бронирование, касса и ключи остались в профильных системах гостиницы, и в ERPNext мы их не тянули — это принципиальное решение, потому что иначе месяц превращался в год. Складов получилось четыре: центральный, кухня, хозяйственная служба и инженерная служба.
Неделя 2: справочники и начальные остатки — как загружать и сверять
Вторая неделя целиком посвящена данным. Порядок загрузки значит больше, чем скорость: сначала группы и единицы измерения, затем номенклатура, потом поставщики и склады, и только в конце остатки. Для загрузки табличных данных я использую штатный инструмент Data Import. По документации Frappe, в нём выбирается Document Type и Import Type («Insert New Records» для новых записей), затем скачивается шаблон кнопкой «Download Template», файл заполняется, и импорт запускается кнопкой «Start Import». Предупреждения система показывает в разделе Warnings, их нужно устранить до загрузки, а результат смотреть в Import Log. Для файлов с кириллицей сохраняйте таблицу в UTF-8 — иначе вместо названий получите мусор.
Колонку ID при вставке новых записей оставляйте пустой, а при обновлении не трогайте — это прямая рекомендация документации, и именно на ней чаще всего ломаются повторные загрузки. Подробный разбор переноса справочников у меня вынесен в статью про перенос номенклатуры и контрагентов в ERPNext: как чистить дубли до загрузки и как не размножить одну позицию в трёх написаниях. В кейсе отеля из выгрузки 1С пришло около 900 строк номенклатуры, после чистки в систему вошло 620 позиций и 85 контрагентов. Чистка заняла два рабочих дня, и это были самые полезные два дня месяца.
Начальные остатки по складам я загружаю через Stock Reconciliation с назначением (Purpose) «Opening Stock». Документация описывает так: в таблице указываются Item Code, Warehouse, Quantity и Valuation Rate, а поле Difference Account подставляется значением «Temporary Opening». Для табличной загрузки в документе есть кнопки Download (скачать шаблон CSV) и Upload; заголовки шаблона менять нельзя, они чувствительны к регистру, а коды товаров и названия складов должны точно совпадать с созданными в системе. И ещё одно условие из документации, которое пропускают: у позиции должна быть включена опция «Maintain Stock», иначе остаток не проведётся.
Финансовые остатки — отдельная тема, и тут я осторожен. По документации, неоплаченные счета покупателей и поставщиков переносятся инструментом Opening Invoice Creation Tool, остатки товаров — Stock Reconciliation, прочие остатки по счетам — Journal Entry с признаком «Is Opening». Сальдо контрольного счёта, которое уже создаёт другой документ открытия, в журнал повторно включать нельзя. После проведения счёт Temporary Opening должен обнулиться, и это ваш главный индикатор: если там осталась сумма, где-то задвоено или потеряно. Проверка делается отчётами Trial Balance, Balance Sheet и Profit and Loss Statement. Если вы ведёте бухучёт в 1С, а ERPNext используете для операционки, финансовые остатки я вообще предлагаю не грузить: хватит складов и открытых расчётов с поставщиками.
- порядок загрузки: группы и единицы, номенклатура, поставщики и склады, остатки
- перед загрузкой — чистка дублей и единый формат названий
- остатки склада — Stock Reconciliation, Purpose «Opening Stock»
- неоплаченные счета — Opening Invoice Creation Tool
- после проведения Temporary Opening должен быть равен нулю
Неделя 3: роли и права, сценарии на тестовом сайте, приёмка
На третьей неделе справочники уже загружены, и можно впервые посмотреть, как работают сценарии. Я прогоняю их на тестовом сайте с копией данных: заявка от службы, согласование, заказ поставщику, приёмка на склад, перемещение, списание. Это сквозная цепочка, и если она проходит от первой до последней кнопки без моей помощи, сценарий считается готовым. Если на каком-то шаге нужен «обходной путь» — записываем в список доработок и не пытаемся закрыть его в этот же месяц.
Роли выдаю в этот же период, а не в последний день. Согласно документации ERPNext, доступ настраивается в Role Permissions Manager (раздел Users and Permissions), где задаётся, какие роли что могут делать с типами документов, а User Permissions позволяет ограничить пользователя отдельными документами, например одним складом или одной компанией. Принцип, который я держу: кладовщик видит свой склад, руководитель службы — заявки своей службы, директор — всё, но без права менять справочники. Подробнее о том, как не запутаться в ролях и полях, написано в материале про роли и права доступа в ERPNext.
К концу третьей недели я собираю приёмочный лист и подписываю его с владельцами процессов. Он короткий: сквозная цепочка по каждому сценарию, совпадение остатков с физическим пересчётом по выборке, отсутствие чужих документов у рядовых пользователей, рабочая резервная копия. Физический пересчёт по выборке я делаю на 40–50 позициях: берутся самые ходовые, самые дорогие и самые спорные позиции. Расхождение в одну-две позиции — нормально, расхождение в десять — повод остановиться и разобраться, прежде чем людей приучать к системе.
Отдельно в эту неделю я проверяю уведомления и почту: если система не умеет отправлять письма или они уходят в спам, согласования начнут зависать, а виноватой окажется «эта ваша ERP». На отеле нашли это на тестовой заявке: письмо руководителю службы не дошло, потому что на сервере не был настроен исходящий почтовый аккаунт. Исправили за час, но на боевых данных это стоило бы нескольких дней потерянного доверия.
Неделя 4: обучение, переход и первые дни работы без старых таблиц
Четвёртая неделя — это обучение и переход, и именно её чаще всего сокращают, а зря. Обучение я делаю короткими группами по ролям, а не общим собранием: кладовщики отдельно, руководители служб отдельно, закупщик отдельно. Каждому даётся один сценарий на реальных данных и бумажная памятка на одну страницу: что нажимать в какой последовательности. Отель из 32 мест обучался за три сессии по полтора часа, и ещё два дня я сидел «на подхвате» в день перехода.
Перед переходом обязательно делается резервная копия, и из неё один раз поднимается тестовая копия — просто чтобы убедиться, что копия вообще восстанавливается. Команда по документации Frappe выглядит так, где имя сайта замените своим:
bench --site erp.example.com backup --with-files --compressКлюч --with-files добавляет в копию публичные и приватные файлы, --compress сжимает архивы этих файлов. По умолчанию копии кладутся в каталог ./sites/имя-сайта/private/backups, и этот каталог лежит на том же сервере, поэтому внешняя копия обязательна. Подробности про хранение и восстановление есть в статье резервное копирование и восстановление ERPNext.
В день перехода я фиксирую дату и время «отсечки»: всё, что было до неё, живёт в старых таблицах, всё после — только в ERPNext. Остатки на момент отсечки подтверждаются пересчётом, и только после этого пользователи получают рабочие доступы. Старые таблицы переводятся в режим «только чтение» — это важно, иначе через две недели в системе будет одна версия реальности, а в таблицах другая. Два-три человека обязательно попытаются по привычке завести заявку в чате; правило, которое работает у меня: заявку из чата не обрабатываем, а вежливо просим завести её в системе.
Первые десять дней после перехода я называю периодом сопровождения. Каждое утро — короткая проверка: нет ли документов в черновиках старше суток, нет ли отрицательных остатков, не просрочены ли согласования. На отеле за первые десять дней нашли и поправили три типичные вещи: ошибочно выбранная единица измерения у двух позиций, склад по умолчанию у нового пользователя и забытое согласование у отпуска руководителя. Ничего критичного, но без утренней проверки эти мелочи копились бы неделями.
Что срывает 30 дней: частые причины и как мы уложились в отеле
Срок срывается почти всегда по одним и тем же причинам. Первая — расширение объёма на ходу: «а давайте ещё и бронирование», «а давайте сразу и зарплату». Вторая — грязные справочники: если дубли не вычистили до загрузки, на третьей неделе вместо проверки сценариев идёт разгребание. Третья — отсутствие владельцев данных: пока никто не отвечает за справочник, любые договорённости размываются. Четвёртая — попытка закрыть доработками то, что можно решить организационно. Разбор типичных ошибок с разных проектов я вынес в материал про ошибки внедрения ERPNext, и если у вас уже идёт проект, сверьте его с этим списком.
Теперь итог по отелю «Отель Столица». Сроки: подготовка и сервер — 5 рабочих дней, справочники и остатки — 6, роли и тестирование — 5, обучение и переход — 4, итого 20 рабочих дней, то есть около 30 календарных. Запущены три сценария: заявки на закупку, складской учёт хозяйственных и кухонных запасов, заявки на ремонт с расходом материалов. Из 32 рабочих мест в системе реально работали 14 пользователей, остальные получили только просмотр своих заявок. Не вошли и были вынесены в следующий этап: обмен с 1С, печатные формы под требования бухгалтерии и собственные дашборды директора.
Итоговый вывод простой: месяц — это ограниченный объём, дисциплина владельцев данных и готовность честно сказать «это потом». Если вы готовите проект, начните с двух вещей: назначьте владельцев справочников и зафиксируйте, что остаётся за границей первого месяца. Остальное решается календарём. И последний совет, который редко кто слушает: заранее запланируйте проверку через 3 месяца после запуска. К этому моменту видно, что люди реально используют, а что осталось на бумаге, и именно тогда стоит заказывать доработки.
Частые вопросы
Можно ли внедрить ERPNext за 30 дней полностью?
Полностью внедрить все процессы компании за месяц нельзя. За 30 дней реально запустить два-три сценария: заявки, закупку, склад. Бухгалтерию, обмен с 1С и печатные формы планируйте на следующий этап.
Как загрузить начальные остатки склада в ERPNext?
Через Stock Reconciliation с назначением Opening Stock: указываются Item Code, Warehouse, Quantity и Valuation Rate. У позиции должна быть включена опция Maintain Stock. Разница относится на счёт Temporary Opening.
Как сделать резервную копию ERPNext перед переходом?
Командой bench --site имя-сайта backup --with-files --compress. Копия по умолчанию лежит в ./sites/имя-сайта/private/backups на том же сервере, поэтому дополнительно копируйте её за пределы сервера.
Когда выдавать роли пользователям?
На третьей неделе, до обучения. Доступы настраиваются в Role Permissions Manager и User Permissions. Проверьте, что кладовщик видит свой склад, а рядовой сотрудник не видит чужих документов.
Нужна ли 1С после внедрения ERPNext?
Для российского бухгалтерского и налогового учёта — да. ERPNext из коробки не закрывает российскую отчётность, поэтому в двухконтурной схеме операционка живёт в ERPNext, а отчётность остаётся в 1С.
Источники
- Документация ERPNext: Stock Reconciliation — Проверено: Purpose «Opening Stock», поля Item Code, Warehouse, Quantity, Valuation Rate, Difference Account «Temporary Opening», условие Maintain Stock. https://docs.frappe.io/erpnext/user/manual/en/stock-reconciliation
- Документация ERPNext: Opening Balance — Проверено: Opening Invoice Creation Tool, Journal Entry с признаком Is Opening, обнуление Temporary Opening, проверка Trial Balance. https://docs.frappe.io/erpnext/user/manual/en/opening-balance
- Документация ERPNext: Data Import — Проверено: Import Type, Download Template, Start Import, Warnings, Import Log, UTF-8 для кириллицы. https://docs.frappe.io/erpnext/user/manual/en/data-import
- Документация Frappe: bench backup — Проверено: ключи --with-files и --compress, каталог ./sites/{site}/private/backups по умолчанию. https://docs.frappe.io/framework/user/en/bench/reference/backup
- Документация ERPNext: Role Based Permissions — Проверено: путь Users and Permissions, Role Permissions Manager, User Permissions. https://docs.frappe.io/erpnext/user/manual/en/role-based-permissions



