Главное о кейсе
Теперь в компании есть единый инструмент, который предоставляет всегда актуальные данные от деятельности компании: как о финансах, так и об показателях производства.
Интеграция систем между собой помогла оперативно видеть отчеты с текущими показателями, а увеличение количества сотрудников и объема данных не приводит к увеличению затрат на администрирование работы с этими отчетами. Скорость сбора данных и построения отчетов позволяет принимать управленческие решения, основанные на актуальных данных.
Срок составления и согласования с сотрудниками зарплатных реестров сократился до одного рабочего дня, а также снизилось количество ошибок в расчетах.
Благодаря детальной аналитике рентабельности по проектам своевременно выявляются убыточные проекты.
Now the company has a single tool that provides always up-to-date data on the company's activities: both on finances and on production indicators.
The integration of systems with each other helped to quickly see reports with current indicators, and an increase in the number of employees and the amount of data does not lead to an increase in the cost of administering these reports. The speed of data collection and reporting allows you to make management decisions based on up-to-date data.
The term for compiling and coordinating payroll registers with employees has been reduced to one working day, and the number of errors in calculations has also decreased.
Thanks to detailed analytics of project profitability, unprofitable projects are identified in a timely manner.
Бизнес-задача и ее решение
Разработать сервис, который интегрирует между собой все учетные системы компании, предоставить интерфейс для сотрудников и помочь автоматизировать рутинные бизнес-процессы.
Основные требования, которые были сформулированы на старте разработки:
— объединить все учетные системы между собой;
— разработать интерфейс, учитывающий роль сотрудников (разработчики, HR, бухгалтеры и т. д.) и помогающий синхронизировать между собой действия разных отделов;
— минимизировать количество личных контактов во время регулярных кадровых процессов: согласование расчетов ЗП, планирование отсутствий (отпусков и больничных), внесение данных при изменении условий работы (заработной платы);
— автоматизировать расчет метрик на основании собранных данных: P&L компании, Realization Rate, Utilization Rate, рентабельность проектов, себестоимость сотрудников/проектов;
— визуализировать метрики в виде графиков и таблиц.
В процессе разработки и добавления в продукт новых интеграций архитектура неоднократно пересматривалась. Текущее архитектурное решение — Single Page Application, где бэкенд представляет собой несколько микросервисов и реализует всю бизнес-логику и интеграции со сторонними системами.
Технологии
1. Фронтенд
Для его реализации использовали фреймворк Svelte, одно из ключевых преимуществ которого — маленький размер бандла и высокая отзывчивость интерфейса. Так как на момент реализации фреймворк еще не успел обрасти экосистемой, при работе над многими задачами мы были первопроходцами и не могли использовать готовые решения для ряда типовых задач (как это было бы в случае, например, с React). Например, собственная реализация была написана для канбан-доски.
2. Бэкенд
Реализован на PHP-фреймворке Laravel 7 (актуальная версия на момент старта разработки). В качестве административной панели используется пакет Backpack, который позволил существенно увеличить скорость разработки в силу того, что имеет в себе большое количество готового функционала (например, ролевую модель).
В качестве брокера очередей используется PostgreSQL, где обрабатывается 4 независимые очереди под разные задачи. В качестве базы данных используется PostgreSQL.
Весь важный для бизнеса функционал покрыт автотестами на PHPUnit.
3. Дизайн
Для быстрой реализации интерфейсов используется готовый Material Design UI-кит для фреймворка Svelte. Все собранные на основе UI-кита прототипы передаются на разработку, что позволяет сосредоточиться на технической составляющей проекта, минимизируя затраты ресурсов на дизайн.
Функционал
1. Метрики производства
Специально написанные алгоритмы позволяют рассчитывать себестоимость часа разработки и позволяют детально видеть, сколько часов было отгружено в разрезе дня, недели и месяца.
В системе можно оперативно считать и визуализировать в виде графиков и таблиц основные метрики производства:
— Utilization Rate — отношение отработанных часов к доступным за определенную отметку времени;
— Realization Rate — отношение коммерческих часов к запланированным на определенный промежуток;
Данные можно получить в рамках текущего месяца, года или произвольного периода. Также можно видеть детальную информацию в разрезе определенного проекта или этапа.
2. Проекты
Каждый проект разбивается на этапы, где есть данные о его статусе, формате, бюджетах, сроках, сделанных и планируемых отгрузках часов разработки.
Отчетность можно формировать как по каждому отдельному этапу, так и в целом по проекту.
В разрезе каждого проекта и этапа осуществляется детальный расчет рентабельности: исходя из выручки, стоимости производства, постоянных издержек компании.
3. Бухгалтерия и финансы
Сервис YO! интегрирован с системой управленческого учета ПланФакт в части взаиморасчетов с клиентами и сотрудниками. С ПланФактом синхронизируется информация о текущих проектах, выставленных счетах, проведенных реализациях, суммах поступления и сроках оплаты. Благодаря этому корректно строятся P&L по кассовому методу и методу начислений.
Система автоматизирует работу с первичными документами: все счета и акты привязаны к конкретным проектам, этапам и клиентам, что позволяет отслеживать их статусы и синхронизировать между учетными системами все их обновления.
При изменении статусов первичных документов ответственному за соответствующий проект приходит уведомление.
4. HR-портал
Сервис позволяет структурировать информацию по сотрудникам: должность, даты приема и увольнения, данные о зарплате и ее изменениях.
Сервис позволяет фиксировать отсутствия сотрудников (больничные/отпуска) и не забывать о запланированных отпусках. Данные об отсутствиях учитываются при расчете показателей эффективности производства.
Полностью автоматизировано согласование зарплатных реестров. При формировании нового реестра сотрудник получает уведомление и может видеть детали расчета, переписываться с бухгалтерией и подтверждать реестры в интерфейсе платформы.
Реализована работа с внутренней системой лояльности. В рамках компании существует внутренняя валюта — «коины» — и платформа автоматизирует работу с ней со стороны отдела HR и со стороны сотрудников: текущий баланс, история начислений, каталог и заявки на расходование.
5. Личный кабинет сотрудника
Доступ к различным разделам сервиса предоставляется исходя из роли пользователя, при этом ряд разделов доступен всем пользователям.
Каждому сотруднику доступна информация об отсутствиях, доступном балансе внутренней валюты, своих зарплатных реестрах и данные о рабочем времени.
В специальном разделе есть информация о товарах, которые можно получить за корпоративную валюту.
Интеграции
— Сервис интегрирован со следующими системами:
— ПланФакт — для финансово-управленческого учета.
— 1С — для обмена первичными документами.
— DaData — для создания и выгрузки информации по контрагентам.
— Redmine — для получения данных о трекинге рабочего времени сотрудников.
— Почта/Telegram/Slack — для коммуникаций внутри компании.
Develop a service that integrates all the company's accounting systems, provide an interface for employees and help automate routine business processes.
The main requirements that were formulated at the start of development:
- unify all accounting systems with each other;
— develop an interface that takes into account the role of employees (developers, HR, accountants, etc.) and helps to synchronize the actions of different departments;
— minimize the number of personal contacts during regular personnel processes: coordinating payroll calculations, planning absences (holidays and sick days), entering data when working conditions (wages) change;
— automate the calculation of metrics based on the collected data: P&L of the company, Realization Rate, Utilization Rate, project profitability, cost of employees/projects;
— visualize metrics in the form of graphs and tables.
In the process of developing and adding new integrations to the product, the architecture was repeatedly revised. The current architectural solution is Single Page Application, where the backend consists of several microservices and implements all business logic and integrations with third-party systems.
Technology
1. Frontend
To implement it, we used the Svelte framework, one of the key advantages of which is the small size of the bundle and the high responsiveness of the interface. Since at the time of implementation the framework had not yet managed to acquire an ecosystem, when working on many tasks we were pioneers and could not use ready-made solutions for a number of typical tasks (as would be the case, for example, with React). For example, a custom implementation was written for a kanban board.
2. Backend
Implemented on the Laravel 7 PHP framework (the current version at the time of development start). The Backpack package is used as an administrative panel, which allowed to significantly increase the development speed due to the fact that it has a large amount of ready-made functionality (for example, a role model).
PostgreSQL is used as a queue broker, where 4 independent queues are processed for different tasks. PostgreSQL is used as the database.
All business-critical functionality is covered by PHPUnit autotests.
3. Design
For quick implementation of interfaces, a ready-made Material Design UI kit for the Svelte framework is used. All prototypes assembled on the basis of the UI kit are transferred for development, which allows you to focus on the technical component of the project, minimizing the cost of resources for design.
Functional
1. Production metrics
Specially written algorithms allow you to calculate the cost of an hour of development and allow you to see in detail how many hours were shipped by day, week and month.
In the system, you can quickly read and visualize in the form of graphs and tables the main production metrics:
- Utilization Rate - the ratio of hours worked to available hours for a certain time stamp;
- Realization Rate - the ratio of commercial hours to those planned for a certain period;
Data can be obtained within the current month, year, or arbitrary period. You can also see detailed information in the context of a specific project or stage.
2. Projects
Each project is divided into stages, where there is data on its status, format, budgets, deadlines, completed and planned shipments of development hours.
Reporting can be generated both for each individual stage and for the whole project.
In the context of each project and stage, a detailed calculation of profitability is carried out: based on revenue, production costs, fixed costs of the company.
3. Accounting and finance
Service YO! integrated with the PlanFact management accounting system in terms of mutual settlements with customers and employees. Information about current projects, invoices, completed sales, receipt amounts and payment terms is synchronized with PlanFact. Thanks to this, P&L are correctly built on a cash basis and an accrual basis.
The system automates work with primary documents: all invoices and acts are tied to specific projects, stages and clients, which allows you to track their statuses and synchronize all their updates between accounting systems.
When the status of primary documents changes, the person responsible for the corresponding project receives a notification.
4. HR portal
The service allows you to structure information by employees: position, dates of hiring and dismissal, data on salary and its changes.
The service allows you to record the absence of employees (sick leave / vacation) and not forget about planned vacations. Absence data is taken into account when calculating production efficiency indicators.
Fully automated reconciliation of payroll registers. When a new register is formed, the employee receives a notification and can see the details of the calculation, correspond with the accounting department and confirm the registers in the platform interface.
Implemented work with an internal loyalty system. Within the company, there is an internal currency - "coins" - and the platform automates work with it from the side of the HR department and from the side of employees: current balance, accrual history, catalog and spending requests.
5. Employee's personal account
Access to various sections of the service is provided based on the role of the user, while a number of sections are available to all users.
Each employee has access to information about absences, the available balance of the internal currency, their payroll registers and data on working hours.
A special section contains information about goods that can be obtained for corporate currency.
Integrations
— The service is integrated with the following systems:
- PlanFact - for financial and management accounting.
- 1C - for the exchange of primary documents.
- DaData - for creating and uploading information on counterparties.
- Redmine - to receive data on tracking the working time of employees.
— e-mail/Telegram/Slack — for communications within the company.
Прочая информация о кейсе
На рубеже 30 человек в бизнес-процессах компании было задействовано несколько не интегрированных между собой учетных систем. Исходя из данных этих систем, многие расчеты (например, зарплат, показателей компании) делались вручную, что часто приводило к ошибкам, к тому же было трудозатратным и долгим из-за большого количества данных в учетных системах. Это становилась проблемой, т. к. принимать управленческие решения приходилось уже на основе не самых актуальных данных.
At the turn of 30 people, several accounting systems that were not integrated with each other were involved in the company's business processes. Based on the data of these systems, many calculations (for example, salaries, company indicators) were made manually, which often led to errors, moreover, it was labor-intensive and time-consuming due to the large amount of data in accounting systems. This became a problem, since management decisions had to be made on the basis of not the most up-to-date data.
Текущая доступность работы
https://yo.digital-spectr.ru/
Скриншоты
Комментарий заказчика
Легко сформировать первичные документы по клиентам компании, а также оперативно получить информацию о текущих проектах и выставленных счетах, суммах поступления и сроках оплаты.
Можно сразу загрузить печатные формы документов на фирменном бланке организации с логотипом компании.
Удобно формировать отчеты по рабочему времени, отсутствиям и выплатам. Также плюс в том, что все суммы можно отредактировать в системе, если, например, предполагаются отпуска, больничные и т. д.