01 — Контекст
На рубеже 30 человек в бизнес-процессах компании было задействовано несколько не интегрированных между собой учетных систем. Исходя из данных этих систем, многие расчеты (например, зарплат, показателей компании) делались вручную, что часто приводило к ошибкам, к тому же было трудозатратным и долгим из-за большого количества данных в учетных системах. Это становилась проблемой, т. к. принимать управленческие решения приходилось уже на основе не самых актуальных данных.
Разработать сервис, который интегрирует между собой все учетные системы компании, предоставить интерфейс для сотрудников и помочь автоматизировать рутинные бизнес-процессы.
Основные требования, которые были сформулированы на старте разработки:
объединить все учетные системы между собой;
разработать интерфейс, учитывающий роль сотрудников (разработчики, HR, бухгалтеры и т. д.) и помогающий синхронизировать между собой действия разных отделов;
минимизировать количество личных контактов во время регулярных кадровых процессов: согласование расчетов ЗП, планирование отсутствий (отпусков и больничных), внесение данных при изменении условий работы (заработной платы);
автоматизировать расчет метрик на основании собранных данных: P&L компании, Realization Rate, Utilization Rate, рентабельность проектов, себестоимость сотрудников/проектов;
визуализировать метрики в виде графиков и таблиц.
02 — Технологии и архитектура
Архитектурное решение
В процессе разработки и добавления в продукт новых интеграций архитектура неоднократно пересматривалась. Текущее архитектурное решение — Single Page Application, где бэкенд представляет собой несколько микросервисов и реализует всю бизнес-логику и интеграции со сторонними системами.
02 — Технологии и архитектура
Фронтенд
Для его реализации использовали фреймворк Svelte, одно из ключевых преимуществ которого — маленький размер бандла и высокая отзывчивость интерфейса. Так как на момент реализации фреймворк еще не успел обрасти экосистемой, при работе над многими задачами мы были первопроходцами и не могли использовать готовые решения для ряда типовых задач (как это было бы в случае, например, с React). Например, собственная реализация была написана для канбан-доски.
02 — Технологии и архитектура
Бэкенд
Реализован на PHP-фреймворке Laravel 7 (актуальная версия на момент старта разработки). В качестве административной панели используется пакет Backpack, который позволил существенно увеличить скорость разработки в силу того, что имеет в себе большое количество готового функционала (например, ролевую модель).
В качестве брокера очередей используется PostgreSQL, где обрабатывается 4 независимые очереди под разные задачи. В качестве базы данных используется PostgreSQL.
Весь важный для бизнеса функционал покрыт автотестами на PHPUnit.
02 — Технологии и архитектура
Дизайн
Для быстрой реализации интерфейсов используется готовый Material Design UI-кит для фреймворка Svelte. Все собранные на основе UI-кита прототипы передаются на разработку, что позволяет сосредоточиться на технической составляющей проекта, минимизируя затраты ресурсов на дизайн.
03 — Функционал
Метрики производства
Специально написанные алгоритмы позволяют рассчитывать себестоимость часа разработки и позволяют детально видеть, сколько часов было отгружено в разрезе дня, недели и месяца.
В системе можно оперативно считать и визуализировать в виде графиков и таблиц основные метрики производства:
Utilization Rate — отношение отработанных часов к доступным за определенную отметку времени;
Realization Rate — отношение коммерческих часов к запланированным на определенный промежуток;
Данные можно получить в рамках текущего месяца, года или произвольного периода. Также можно видеть детальную информацию в разрезе определенного проекта или этапа.
03 — Функционал
Проекты
Каждый проект разбивается на этапы, где есть данные о его статусе, формате, бюджетах, сроках, сделанных и планируемых отгрузках часов разработки. Отчетность можно формировать как по каждому отдельному этапу, так и в целом по проекту.
В разрезе каждого проекта и этапа осуществляется детальный расчет рентабельности: исходя из выручки, стоимости производства, постоянных издержек компании.
03 — Функционал
Бухгалтерия и финансы
Сервис YO! интегрирован с системой управленческого учета ПланФакт в части взаиморасчетов с клиентами и сотрудниками. С ПланФактом синхронизируется информация о текущих проектах, выставленных счетах, проведенных реализациях, суммах поступления и сроках оплаты. Благодаря этому корректно строятся P&L по кассовому методу и методу начислений.
Система автоматизирует работу с первичными документами: все счета и акты привязаны к конкретным проектам, этапам и клиентам, что позволяет отслеживать их статусы и синхронизировать между учетными системами все их обновления.
При изменении статусов первичных документов ответственному за соответствующий проект приходит уведомление.
03 — Функционал
HR-портал
Сервис позволяет структурировать информацию по сотрудникам: должность, даты приема и увольнения, данные о зарплате и ее изменениях.
Сервис позволяет фиксировать отсутствия сотрудников (больничные/отпуска) и не забывать о запланированных отпусках. Данные об отсутствиях учитываются при расчете показателей эффективности производства.
Полностью автоматизировано согласование зарплатных реестров. При формировании нового реестра сотрудник получает уведомление и может видеть детали расчета, переписываться с бухгалтерией и подтверждать реестры в интерфейсе платформы.
Реализована работа с внутренней системой лояльности. В рамках компании существует внутренняя валюта — «коины» — и платформа автоматизирует работу с ней со стороны отдела HR и со стороны сотрудников: текущий баланс, история начислений, каталог и заявки на расходование.
03 — Функционал
Личный кабинет сотрудника
Доступ к различным разделам сервиса предоставляется исходя из роли пользователя, при этом ряд разделов доступен всем пользователям. Каждому сотруднику доступна информация об отсутствиях, доступном балансе внутренней валюты, своих зарплатных реестрах и данные о рабочем времени.
В специальном разделе есть информация о товарах, которые можно получить за корпоративную валюту.
03 — Функционал
Интеграции
Сервис интегрирован со следующими системами:
ПланФакт — для финансово-управленческого учета;
1С:Бухгалтерия — для обмена первичными документами;
DaData — для создания и выгрузки информации по контрагентам;
Redmine — для получения данных о трекинге рабочего времени сотрудников;
Почта/Telegram/Slack — для оперативных уведомлений.
04 — Результаты
Итоги внедрения YO!
Теперь в компании есть единый инструмент, который предоставляет всегда актуальные данные от деятельности компании: как о финансах, так и об показателях производства.
Интеграция систем между собой помогла оперативно видеть отчеты с текущими показателями, а увеличение количества сотрудников и объема данных не приводит к увеличению затрат на администрирование работы с этими отчетами. Скорость сбора данных и построения отчетов позволяет принимать управленческие решения, основанные на актуальных данных.
Срок составления и согласования с сотрудниками зарплатных реестров сократился до одного рабочего дня, а также снизилось количество ошибок в расчетах.
Благодаря детальной аналитике рентабельности по проектам своевременно выявляются убыточные проекты.
Связаться с нами
Хотите обсудить свой проект? Воспользуйтесь формой обратной связи и мы начнем общение.