Максим Лебедев › Noobie
Fullstack-разработка: сайты, сервисы, боты, интеграции
Рейтинг
213
№ 6 084 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Опыт работы
7 лет
На сайте с
2025 года
Юридический статус
Частное лицо

ERP-система для производственной компании: заказы, склад, производство и финансы в одной базе

Используемые навыки MySQL Node.js PHP Python Веб-разработка

Описание

Клиент - производственная компания с собственным цехом и складом. Учёт вёлся в разрозненных таблицах: заказы у менеджеров, остатки материалов у кладовщика, загрузка оборудования у начальника производства, расчёты у бухгалтера. Данные между отделами передавались вручную и с задержкой.

Из-за этого возникали типовые для такой схемы проблемы. Менеджер называл клиенту срок, не зная реальной загрузки цеха. Заказ запускался в работу, а нужного материала на складе не оказывалось. Себестоимость считалась постфактум и приблизительно, поэтому по части заказов маржа выяснялась только в конце месяца.

Цель ставилась так: свести все процессы в одну систему, где заказ проходит путь от заявки до отгрузки внутри одной базы, а руководитель в любой момент видит текущее состояние по деньгам, складу и производству без запросов к сотрудникам.

Требования, которые задавались отдельно:

Разграничение доступа по ролям. Менеджер, кладовщик, мастер цеха, бухгалтер и руководитель должны видеть только свою часть и не иметь возможности править чужие данные.

Автоматический расчёт потребности в материалах при запуске заказа в производство, с проверкой остатков и резервированием.

Планирование загрузки оборудования, чтобы срок для клиента назывался не на глаз, а исходя из реальной очереди.

Расчёт себестоимости по каждому заказу с учётом материалов, работ и накладных расходов.

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

Работа в браузере с рабочих мест в офисе и в цехе, без установки программ на каждый компьютер

Решение

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

Ядром сделал сквозной документооборот: заявка превращается в заказ, заказ порождает производственное задание, задание списывает материалы со склада и фиксирует выполненные операции, на выходе формируется отгрузка и расчёт себестоимости. Все документы связаны между собой, поэтому по любому заказу поднимается вся цепочка с датами и ответственными.

Складской учёт построил на партионном движении: приход, резерв, списание и возврат пишутся отдельными записями, остаток вычисляется из них, а не хранится перезаписываемым числом. Это исключает расхождения и даёт историю по каждой позиции.

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

Себестоимость считается автоматически при закрытии заказа: списанные материалы по фактическим партиям, трудозатраты по отмеченным операциям, накладные по заданному правилу распределения.

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

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

Интерфейс развёл под задачи: у менеджера воронка заказов, у кладовщика приход и отгрузка с поиском по номенклатуре, у мастера доска заданий, у руководителя сводные показатели. Общего перегруженного меню на всех нет.

Внедрял поэтапно с приёмкой каждого блока: сначала справочники и заказы, затем склад, следом производство, после этого финансы и отчётность. Перед запуском перенёс действующие остатки и справочники из таблиц, прогнал сквозные сценарии на реальных данных и обучил сотрудников на их же рабочих местах. Систему развернул на сервере клиента с резервным копированием базы по расписанию и мониторингом

Результат

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

Сроки клиентам называются по расчёту, а не на глаз. Менеджер при оформлении видит реальную загрузку цеха и дату готовности, поэтому обещания перестали расходиться с фактическими возможностями производства.

Нехватка материалов вскрывается до запуска заказа. Потребность считается автоматически, остатки проверяются и резервируются, поэтому ситуации, когда задание встаёт из-за отсутствия сырья, ушли.

Себестоимость по каждому заказу известна сразу после закрытия. Руководитель видит маржинальность по заказам и клиентам и принимает решения по ценам, не дожидаясь итогов месяца.

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

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

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

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Биржа фриланс-услуг
Биржа фриланс-услуг
110
Веб-разработка и IT Система управления производством
Система управления производством
47