Стоимость внедрения MRP в 1С:ERP и сроки окупаемости

Стоимость внедрения MRP в 1С:ERP и сроки окупаемости

Что такое MRP в контексте 1С:ERP и зачем это производству

MRP (Material Requirements Planning — планирование потребностей в материалах) — это методология, которая позволяет производственному предприятию автоматически рассчитывать, сколько сырья, комплектующих и полуфабрикатов нужно закупить или произвести, чтобы выполнить план выпуска готовой продукции в срок. В задачах по 1С:ERP внедрение MRP занимает одно из центральных мест, поскольку именно этот модуль связывает воедино продажи, производство, закупки и складской учёт.

Без MRP производственный директор вынужден держать в голове или в Excel тысячи позиций номенклатуры, вручную считать потребности, угадывать страховые запасы и постоянно «тушить пожары» — срочные закупки по завышенным ценам, простои оборудования из-за отсутствия деталей, замороженные деньги в избыточных остатках. MRP решает эти проблемы системно.

В 1С:ERP модуль называется «Планирование производства» и реализует MRP II — расширенную версию методологии, которая учитывает не только материальные потребности, но и производственные мощности (CRP). Именно поэтому оценка стоимости внедрения требует комплексного подхода: нельзя автоматизировать только закупки, не настроив производственные заказы, спецификации и рабочие центры.

Из чего складывается бюджет внедрения MRP

Многие руководители предприятий делают одну и ту же ошибку: запрашивают коммерческое предложение у интегратора и ориентируются только на стоимость лицензий. В реальности лицензии — это лишь 20–30% от общего бюджета проекта. Рассмотрим все статьи затрат.

1. Лицензии на программное обеспечение

1С:ERP Управление предприятием 2 распространяется по клиент-серверной модели. Стоимость зависит от количества пользователей и типа лицензии:

  • Основная поставка 1С:ERP (на 1 рабочее место, файловая версия) — от 360 000 ₽. Для производства практически не применяется.
  • Клиентские лицензии на 1, 5, 10, 20, 50, 100, 300, 500 рабочих мест — от 14 400 ₽ (1 место) до 2 592 000 ₽ (100 мест).
  • Лицензия на сервер 1С:Предприятия — от 50 400 ₽ (x86) до 86 400 ₽ (x86-64).
  • Лицензия на сервер СУБД (Microsoft SQL Server или PostgreSQL) — от 0 ₽ (PostgreSQL) до 300 000+ ₽ (MS SQL Enterprise).

Для среднего производственного предприятия с 30–50 пользователями бюджет только на лицензии составит 700 000 – 1 500 000 ₽.

2. Серверная инфраструктура

MRP — вычислительно ёмкая задача. Расчёт потребностей на горизонт планирования 3–6 месяцев для номенклатуры в 10 000+ позиций может занимать от нескольких минут до нескольких часов. Это означает требования к серверу:

  • Процессор: от 16 ядер, тактовая частота от 3,5 ГГц
  • ОЗУ: от 64 ГБ (для 50+ пользователей — от 128 ГБ)
  • Хранилище: SSD NVMe, от 2 ТБ в RAID 10
  • Резервный сервер (отказоустойчивость)

Стоимость серверного оборудования: 500 000 – 1 500 000 ₽. Альтернатива — аренда облачной инфраструктуры от 30 000 ₽/месяц.

3. Работы по внедрению (основная статья затрат)

Это самая значительная и наименее прозрачная статья бюджета. Она включает:

  • Обследование и описание бизнес-процессов — анализ текущего состояния производства, формирование требований к системе. Трудоёмкость: 80–200 часов, стоимость: 200 000 – 600 000 ₽.
  • Настройка и доработка системы — настройка видов номенклатуры, спецификаций, рабочих центров, маршрутных карт, параметров MRP. Трудоёмкость: 200–800 часов, стоимость: 600 000 – 3 000 000 ₽.
  • Миграция данных — перенос НСИ (нормативно-справочной информации) из Excel, старых систем. Критически важный этап. Стоимость: 200 000 – 800 000 ₽.
  • Обучение пользователей — производственные плановики, диспетчеры, кладовщики, снабженцы. Стоимость: 100 000 – 400 000 ₽.
  • Опытная эксплуатация и поддержка — сопровождение в первые 3–6 месяцев работы. Стоимость: 150 000 – 500 000 ₽/месяц.

4. Внутренние затраты предприятия

Этот пункт часто игнорируется при составлении бюджета, хотя реально является одним из крупнейших:

  • Рабочее время ключевых пользователей (технологи, плановики, руководители) на участие в проекте — 20–40% рабочего времени на 6–18 месяцев
  • Затраты на подготовку НСИ (нормирование, написание спецификаций) — часто требует привлечения дополнительных сотрудников
  • Потери производительности в период перехода на новую систему

Типовые бюджеты по масштабу предприятия

На основе анализа реальных проектов можно выделить три типовых сценария:

Масштаб предприятия Пользователи Бюджет (ПО + внедрение) Срок проекта
Малое производство 10–20 1,5 – 4 млн ₽ 4–8 месяцев
Среднее производство 30–80 5 – 15 млн ₽ 9–18 месяцев
Крупное производство 100–300+ 20 – 80+ млн ₽ 18–36 месяцев

Важно понимать: эти цифры — ориентиры, а не гарантии. Реальный бюджет может отклоняться в 1,5–2 раза в зависимости от сложности производства, качества исходных данных и зрелости процессов предприятия. Чтобы получить точную оценку, рекомендуем найти разработчика 1С с опытом именно в производственном секторе.

Как работает MRP в 1С:ERP: технический взгляд

Прежде чем считать окупаемость, важно понять механику расчёта, чтобы оценить, насколько качественно он будет работать на вашем предприятии.

Ключевые объекты настройки

Для корректной работы MRP необходимо заполнить и поддерживать в актуальном состоянии:

  • Спецификации ресурсов — состав изделия: какие материалы, в каком количестве, с каким процентом отходов входят в единицу готовой продукции
  • Маршрутные карты — последовательность технологических операций, нормы времени на каждую операцию
  • Рабочие центры — оборудование и рабочие места с их производительностью и режимом работы
  • Параметры номенклатуры — страховой запас, минимальная партия заказа, время поставки
  • Производственный план — что, сколько и когда нужно произвести

Пример кода: получение результатов расчёта MRP

После выполнения расчёта MRP система формирует заказы на производство и закупку. Ниже — пример программного получения и обработки этих данных:

// Процедура анализа результатов расчёта MRP
// и формирования отчёта по дефициту материалов
Процедура СформироватьОтчётПоДефицитуMRP(ДатаНачала, ДатаОкончания)

	// Запрос к регистру сведений результатов планирования
	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ
		|	ПланированиеПотребностей.Номенклатура КАК Номенклатура,
		|	ПланированиеПотребностей.Характеристика КАК Характеристика,
		|	ПланированиеПотребностей.ДатаПотребности КАК ДатаПотребности,
		|	ПланированиеПотребностей.КоличествоПотребности КАК КоличествоПотребности,
		|	ПланированиеПотребностей.КоличествоОбеспечения КАК КоличествоОбеспечения,
		|	ПланированиеПотребностей.КоличествоПотребности -
		|		ПланированиеПотребностей.КоличествоОбеспечения КАК Дефицит,
		|	ПланированиеПотребностей.ВидОбеспечения КАК ВидОбеспечения
		|ИЗ
		|	РегистрСведений.ПланированиеПотребностей КАК ПланированиеПотребностей
		|ГДЕ
		|	ПланированиеПотребностей.ДатаПотребности >= &ДатаНачала
		|	И ПланированиеПотребностей.ДатаПотребности <= &ДатаОкончания
		|	И (ПланированиеПотребностей.КоличествоПотребности -
		|		ПланированиеПотребностей.КоличествоОбеспечения) > 0
		|УПОРЯДОЧИТЬ ПО
		|	ПланированиеПотребностей.ДатаПотребности,
		|	ПланированиеПотребностей.Номенклатура";

	Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
	Запрос.УстановитьПараметр("ДатаОкончания", ДатаОкончания);

	РезультатЗапроса = Запрос.Выполнить();

	// Проверяем наличие дефицита
	Если РезультатЗапроса.Пустой() Тогда
		Сообщить("Дефицит материалов в указанном периоде не обнаружен.");
		Возврат;
	КонецЕсли;

	Выборка = РезультатЗапроса.Выбрать();

	// Формируем структуру для группировки по видам обеспечения
	ДефицитЗакупка = Новый СписокЗначений;
	ДефицитПроизводство = Новый СписокЗначений;

	Пока Выборка.Следующий() Цикл

		// Формируем строку описания дефицита
		ОписаниеДефицита = СтрШаблон(
			"%1 (%2): потребность %3, обеспечено %4, дефицит %5",
			Выборка.Номенклатура,
			Формат(Выборка.ДатаПотребности, "ДФ=дд.ММ.гггг"),
			Выборка.КоличествоПотребности,
			Выборка.КоличествоОбеспечения,
			Выборка.Дефицит
		);

		// Разделяем по виду обеспечения
		Если Выборка.ВидОбеспечения = Перечисления.ВидыОбеспеченияПотребностей.Закупка Тогда
			ДефицитЗакупка.Добавить(Выборка.Номенклатура, ОписаниеДефицита);
		ИначеЕсли Выборка.ВидОбеспечения = Перечисления.ВидыОбеспеченияПотребностей.Производство Тогда
			ДефицитПроизводство.Добавить(Выборка.Номенклатура, ОписаниеДефицита);
		КонецЕсли;

	КонецЦикла;

	// Выводим итоговую информацию
	Сообщить(СтрШаблон(
		"Анализ MRP завершён. Позиций с дефицитом закупки: %1, производства: %2",
		ДефицитЗакупка.Количество(),
		ДефицитПроизводство.Количество()
	));

КонецПроцедуры

Пример кода: автоматическое создание заказов поставщикам по результатам MRP

// Функция автоматического формирования заказов поставщикам
// на основе рекомендаций MRP
Функция СоздатьЗаказыПоставщикамПоMRP(СценарийПланирования) Экспорт

	КоличествоСозданных = 0;

	// Получаем рекомендации MRP по закупкам
	Запрос = Новый Запрос;
	Запрос.Текст =
		"ВЫБРАТЬ
		|	Рекомендации.Номенклатура КАК Номенклатура,
		|	Рекомендации.Характеристика КАК Характеристика,
		|	Рекомендации.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
		|	Рекомендации.КоличествоЗаказа КАК КоличествоЗаказа,
		|	Рекомендации.ДатаЗаказа КАК ДатаЗаказа,
		|	Рекомендации.ДатаПоставки КАК ДатаПоставки,
		|	ОсновнойПоставщик.Контрагент КАК Поставщик,
		|	ОсновнойПоставщик.Соглашение КАК Соглашение
		|ИЗ
		|	РегистрСведений.РекомендацииMRP КАК Рекомендации
		|	ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОсновныеПоставщикиНоменклатуры КАК ОсновнойПоставщик
		|		ПО Рекомендации.Номенклатура = ОсновнойПоставщик.Номенклатура
		|ГДЕ
		|	Рекомендации.СценарийПланирования = &СценарийПланирования
		|	И Рекомендации.ВидОбеспечения = ЗНАЧЕНИЕ(Перечисление.ВидыОбеспеченияПотребностей.Закупка)
		|	И Рекомендации.КоличествоЗаказа > 0
		|УПОРЯДОЧИТЬ ПО
		|	Рекомендации.ДатаЗаказа,
		|	ОсновнойПоставщик.Контрагент";

	Запрос.УстановитьПараметр("СценарийПланирования", СценарийПланирования);

	РезультатЗапроса = Запрос.Выполнить();
	Выборка = РезультатЗапроса.Выбрать();

	// Группируем строки по поставщику для создания одного заказа на поставщика
	ТекущийПоставщик = Неопределено;
	ТекущийЗаказ = Неопределено;

	Пока Выборка.Следующий() Цикл

		// Если поставщик изменился — создаём новый заказ
		Если Выборка.Поставщик <> ТекущийПоставщик Тогда

			// Записываем предыдущий заказ
			Если ТекущийЗаказ <> Неопределено Тогда
				ТекущийЗаказ.Записать(РежимЗаписиДокумента.Запись);
				КоличествоСозданных = КоличествоСозданных + 1;
			КонецЕсли;

			// Создаём новый заказ поставщику
			ТекущийЗаказ = Документы.ЗаказПоставщику.СоздатьДокумент();
			ТекущийЗаказ.Дата = ТекущаяДата();
			ТекущийЗаказ.Контрагент = Выборка.Поставщик;
			ТекущийЗаказ.Соглашение = Выборка.Соглашение;
			ТекущийЗаказ.ДатаПоставки = Выборка.ДатаПоставки;
			ТекущийЗаказ.КомментарийMRP = "Создан автоматически по результатам MRP";

			ТекущийПоставщик = Выборка.Поставщик;

		КонецЕсли;

		// Добавляем строку товара в заказ
		НоваяСтрока = ТекущийЗаказ.Товары.Добавить();
		НоваяСтрока.Номенклатура = Выборка.Номенклатура;
		НоваяСтрока.Характеристика = Выборка.Характеристика;
		НоваяСтрока.Количество = Выборка.КоличествоЗаказа;
		НоваяСтрока.ЕдиницаИзмерения = Выборка.ЕдиницаИзмерения;

	КонецЦикла;

	// Записываем последний заказ
	Если ТекущийЗаказ <> Неопределено Тогда
		ТекущийЗаказ.Записать(РежимЗаписиДокумента.Запись);
		КоличествоСозданных = КоличествоСозданных + 1;
	КонецЕсли;

	Возврат КоличествоСозданных;

КонецФункции

Расчёт экономического эффекта и ROI

Теперь перейдём к главному вопросу: когда инвестиции в MRP вернутся? Для корректного расчёта нужно идентифицировать все источники экономии.

Источник 1: Снижение складских запасов

Это самый быстро измеримый эффект. Производственные предприятия до внедрения MRP, как правило, держат страховые запасы «на глазок» — с коэффициентом 1,5–3x от реально необходимого. MRP позволяет рассчитать точный страховой запас на основе статистики отклонений и времени поставки.

Пример: Предприятие с оборотом 500 млн ₽/год держит запасы материалов на 60 млн ₽ (12% от выручки). После внедрения MRP запасы снижаются до 35 млн ₽. Высвобождение оборотных средств: 25 млн ₽. При стоимости денег 16% годовых (ключевая ставка ЦБ) ежегодная экономия на финансировании запасов: 4 млн ₽/год.

Источник 2: Снижение срочных закупок

Срочные закупки обходятся на 15–40% дороже плановых из-за наценки за срочность, нестандартных условий доставки и невозможности провести конкурентный отбор. MRP устраняет большинство причин срочных закупок.

Пример: Объём закупок предприятия — 200 млн ₽/год. До MRP 15% закупок (30 млн ₽) — срочные с наценкой 25%. Потери: 7,5 млн ₽/год. После MRP доля срочных закупок снижается до 3–5%. Ежегодная экономия: 3–4,5 млн ₽/год.

Источник 3: Сокращение производственного брака и переделок

Когда материалы подаются в производство не вовремя или не в той последовательности, растёт вероятность ошибок, нарушений технологии, использования неправильных партий. MRP синхронизирует подачу материалов с производственным расписанием.

Типичное снижение брака после внедрения MRP: 15–30% от исходного уровня. Для предприятия с выручкой 500 млн ₽ и уровнем брака 2% (10 млн ₽/год) экономия составит 1,5–3 млн ₽/год.

Источник 4: Рост производительности труда плановиков и снабженцев

Найдите специалиста для решения этой задачи на koderion.ru