
Чем хорош малый бизнес, особенно на своем старте? Ему не нужны сложные инструменты: он в состоянии увидеть состояние дел расчетами «на коленке», а план действий уместить карандашом на трамвайном билетике.
А когда бизнес подрастает? Скажем, его месячная выручка становится 100М+, количество сотрудников исчисляется сотнями, а бизнес-процессы усложняются настолько, что перестают быть прозрачными, покрываются «туманом войны».
Эта история про то, как инструмент, понравившийся команде на старте бизнеса, довел её до убытков в десятки миллионов при росте оборотов, когда компания стала крупнее. И как прозрачность вернула контроль и разблокировала рост выручки на 50%.
О заказчике
Многопрофильная транспортная компания ворвалась в самосвальные грузоперевозки и очень быстро превратилась в регионального лидера. Она агрессивно захватывала рынок за счет расширения собственного парка и привлечения кредитных средств, ставила перед собой амбициозные задачи: увеличить автопарк в 10 раз за 5 лет с 50 до 500 автопоездов, брать любые заказы по любым ставкам, вытеснять конкурентов объёмом.
На первый взгляд стратегия работала — обороты росли, клиенты появлялись. Но параллельно росла и тревожность: собственные активы Заказчика незаметно таяли, всё чаще приходилось обращаться к заемным средствам.
Проблема: рост без прозрачности

Руководство считало, что Компания переживает локальный кассовый разрыв, но в моменте деятельность экономически выгодна. И, исходя из этого, продолжало закупать технику в лизинг, интенсивно вкладывалась в расширение, заходила на новые для себя рынки.
Пример такого решения: закупили технику в лизинг на 250 млн рублей для перевозки металлического лома под конкретного клиента, но контракт сорвался, а техника встала в простой на год. Убытки — 4,5 млн рублей в месяц.
При этом управление компании не видело реальной картины: сколько конкретно зарабатывает каждый рейс, где узкие места, какие направления убыточны, какая реальная нагрузка по лизингу и кредитам.
Техническая первопричина
На старте бизнеса практически вся работа уместилась в одну таблицу, ее создали в Excel и назвали «Главным Реестром».
Конечно, у пользователей были и индивидуальные таблички, и общие на отдел, но всё стекалось в «Главный реестр» — просто так было удобнее.
Там оказались практически все бизнес-процессы:
коммерческие ставки с клиентами и подрядчиками,
ежедневное планирование рейсов и контроль их прохождения,
учет внутреннего документооборота (транспортные накладные, путевые листы и пр.),
выставление документов конечным клиентам.
«Главный реестр» переехал в Google Sheets, чтобы обеспечить совместную работу пользователям, вместил в себя 60+ столбцов, и оброс не самыми очевидными правилами. Одно из правил звучало так: «Если документы получены от водителя, мы покрасим поле с номером накладной желтым цветом, если выставлены клиенту — синим. Но если возникло что-то необычное - там будет комментарий».
Попытки автоматизации снизу, от пользователей, шли двумя путями:
Дублирование функциональности. Составлялось ТЗ, копирующее логику «главного реестра» без разделения общего бизнес-процесса на подпроцессы.
Внедрение готовых продуктов. Использовались типовые решения, которые даже с доработкой не были заточены под основной экономический юнит — грузовой рейс самосвала. Они опирались на формализованные документы (путевые листы), которые в реальности утратили актуальность в оперативной работе компании.
Инструмент пользователям нравился. Вот только для бизнеса он оказался тем, что скрывает реальную картину, а не делает ее очевидной.
Диагностика и подход к решению

Первым делом мы исследовали операционную деятельность Заказчика и определили основной экономический юнит, производящий выручку — грузовой рейс самосвала. Это ключевая единица учёта, вокруг которой велось дальнейшее исследование бизнеса Заказчика и планирование архитектуры будущей системы.
Приняли решение разработать собственный продукт под конкретные нужды Заказчика. Требования:
Фокус на экономическом юните — рейс как основа учёта.
Разделение бизнеса на подпроцессы — планирование, оперативка, документооборот, расчёты.
Интеграция с купленной 1С УАТ — чтобы сократить сроки разработки, задействовав стандартный функционал «коробки».
Аналитика с разных ракурсов — возможность изучать деятельность под любым углом.
Что построили
Разделили функционал «главного реестра» на отдельные подпроцессы:
Повесили на 1С УАТ:
Справочники НСИ (номенклатура, контрагенты, техника)
Ежемесячное планирование объёмов вывоза продукции (заявки клиентов)
Реализовали самостоятельно:
Интеграцию с PostgreSQL-сервером 1С через собственный бэкенд
Ежедневное планирование рейсов, расстановку машин на направления
Оперативное внесение изменений в рейсы по ходу их прохождения
Обработку входящих документов от водителей и подрядчиков
Выставление расчетных документов клиентам
Пользователи просили сохранить им таблички, ведь большое количество рейсов (в пике до 5000 в месяц) удобнее всего просматривать и редактировать именно в таких представлениях. И мы это сделали. Но мы не просто сохранили приятный пользователям формат, но и формализовали ввод и разделили зоны ответственности отделов.
Наконец-то, ФИО водителя или марка машины, или любое другое поле данных, получившее формализацию, стало однозначным (одного только Иванова могли в «главном реестре» писать десятком разных способов), и нам открылся простор для бизнес-аналитики. А консолидация информации на собственный SQL сервер позволила использовать витрины данных. В итоге, мы создали около 100 витрин как для анализа финансовых показателей компании, так и для оперативной работы сотрудников.
Стек технологий: PostgreSQL, Python, FastAPI, SQLAlchemy, TypeScript, React, MUI DataGrid Pro, Metabase, Docker, GitLab CI
Результаты внедрения
Система сделала самосвальный бизнес Заказчика прозрачным. Выяснилось: компания несёт убытки, оправдать которые локальным кассовым разрывом уже невозможно.
Правильно подобранная аналитика финансовых показателей позволила менеджерам увидеть и сконцентрироваться на реальных проблемах, которые ранее не рассматривались:
Реальная, а не рассчитанная на этапе продажи, экономика рейсов
Лизинговая и кредитная нагрузки в цифрах
Простои транспорта в результате ДТП, отсутствия профильных грузов (ломовозы в простое)
Эффективность работы водителей
Простои в ремонтах
Разделение процессов по зонам ответственности для разных отделов заработало сразу без потери работоспособности. В дальнейшем производительность отдельных отделов выросла кратно: расчётный отдел стал выставлять документы конечным клиентам в течение 3-5 дней с момента поступления информации о рейсе против 2-3 недель при работе в «Главном реестре». Как результат, сократили привлечение кредитных средств в оборотку и снизили юридические риски несвоевременной оплаты. Экономический эффект от 12 млн в год.
Заказчик при помощи информационной системы смог решить часть своих проблем: перепрофилировал ломовозы под перевозку сыпучих грузов, сократил простои автопарка. Наличие аналитики позволило планировать и моделировать различные сценарии развития на несколько месяцев вперед, предвидеть и подстраиваться под меняющуюся действительность.
Заказчик смог увеличить собственную выручку на 50% — с 90 до 135 млн рублей в месяц. И отправить «Главный реестр» на пенсию.
Вывод

Excel-файл создавал иллюзию контроля: вся информация вроде бы на виду, цифры обновляются, отчеты строятся. Но реальная картина была недоступна — Иванов в десяти разных написаниях, рейсы без привязки к фактической экономике, убытки размазаны по направлениям так, что не увидишь.
Система развеяла «туман войны». Выяснилось, что компания теряет деньги при росте оборотов. Дальше — работа команды Заказчика: перепрофилировали технику, закрыли убыточные направления, выстроили планирование.
Признаки, что ваш Excel превратился из инструмента в проблему:
Им пользуются больше 3 человек одновременно
Есть неочевидные правила, типа «если поле желтое — одно, если синее — другое»
Кто-то говорит «не трогай эту формулу»
Вы не можете за 5 минут ответить на вопрос «какие направления приносят деньги, а какие — убытки»
Если узнали свою ситуацию — пора делать бизнес прозрачным.
