ERP-система для управления проектами с контролем расходов
//= $project_attachment_image_srcset_pice_src[1] ?>
Обожаем воплощать стартапы в жизнь: от продумывания бизнес-логики до созерцания готового многофункционального продукта. Сегодня рассказываем об особенном для нас кейсе — разработке собственной ERP-системы if.team для эффективного управления проектами. Нам понадобился один год, чтобы залончить MVP, и ещё один — чтобы привлечь более 20 компаний. А начинали мы с идеи создать инструмент для менеджмента проектами внутри Webnauts.
В этой статье мы расскажем о разработке мощных функций ERP-сервиса if.team, в частности, встроенный контроль расходов в виде графика денежного потока и сгорания бюджета на уровне компании, проекта и даже итерации. Тайм-трекер задач, контроль заказчика за прогрессом проекта, календарь сотрудника, расчёт зарплат, автоматизация скучных отчётов, CRM-составляющая и ещё много разных фич делают if.team самодостаточным и одновременно простым инструментом для управления проектно-ориентированной компанией. Более того, if.team может стать базой для разработки любой другой ERP-системы с дополнительными функциями, кастомными модулями и интеграциями.
Однако не будем забегать вперёд и вернёмся к истокам — истории и процессу создания нашего стартапа.
Особенности проектного менеджмента
Высокая конкуренция и диджитализация рынка услуг требует от украинского бизнеса серьёзных решений, одно из которых — переориентация на проектное управление. Недаром современный мир называют «project-based world», а проектный подход — прогрессивной управленческой технологией. Она позволяет быстро внедрять изменения и адаптироваться к изменчивым условиям бизнес-среды, причём не только в IT. Более 50% украинских компаний в разных отраслях уже мыслят проектами, и эта цифра продолжает расти.
Кроме гибкости, эффективность проектного менеджмента определяется ещё одной особенностью — нацеленностью на результат в пределах определённого срока, запланированного бюджета и объёма работы. Это так называемый железный треугольник проекта, где изменение любой стороны (например, урезание бюджета) влияет на другую его сторону (например, уменьшение скоупа работ) и, конечно, качество — оно стоит в центре треугольника. Главная задача проджект-менеджера — держать этот треугольник вкупе, то есть сохранять баланс между временем, деньгами и объёмом работ, чтобы достичь высокого качества продукта или услуги.
Так выглядит проектизация бизнеса в идеальном мире. Сейчас же предлагаем посмотреть на проектный менеджмент, ещё и в сочетании с масштабированием, на реальном примере нашей компании.
История создания сервиса для управления проектами
На практике проектно-ориентированные компании сталкиваются со многими проблемами, главной из которых является… нет, даже не дедлайны, а постоянные перерасходы бюджета. Webnauts — не исключение. В течение 9 лет мы быстро масштабировались, и так же быстро почувствовали всю боль проектного управления. Менеджерить работу компании — проекты, команды и, особенно, финансы, — стало сложнее. Вместе с количеством проектов и сотрудников, квадратных метров офисного и гигабайтов облачного пространства росло острое осознание необходимости создать собственный онлайн-сервис.
Сначала if.team задумывался как чисто внутренний инструмент, однако вскоре вызвал интерес других компаний, в частности на технологической конференции «The future of Ukraine summit» в Берлине и «Unicorn Startup Competition» в Киеве, где наш сервис одержал победу среди 140 украинских стартапов. Кроме того, if.team залончился на технологической площадке и вошёл в ТОП-10 лучших софтов 2023 года в категориях «Budgeting apps» (1 место), «Remote workforce tools» (2 место) и «Project management software» (9 место).
Чем же он так особенный? if.team — это ERP-система с элементами CRM, HRM, task-менеджмента и тайм-трекинга, заточенная под проектную деятельность и имеющая расширенный контроль затрат. Чтобы эффективно управлять всеми бизнес-процессами, теперь достаточно всего одного сервиса. Это можно проверить лично и поюзать бесплатную демо-версию в течение 7 дней. Более того, наша команда готова адаптировать продукт под ваш бизнес и разработать на базе if.team вашу собственную ERP-систему. Это гораздо быстрее и дешевле, чем создавать такую программу с нуля. Знаем не на словах.
А теперь мы наконец начинаем рассказ о технической реализации сервиса: от дизайна до воплощения незаменимых функций для работы компаний, живущих проектами.
Функциональные возможности ERP-системы
Функционал сервиса if.team не сводится к контролю бюджетов и срокам реализации проектов. Он представляет собой полноценную ERP-систему для управления:
- компанией (рабочие группы, отделы, должности, контакты);
- финансами (контроль денежных потоков, ставки на оплату труда, отчёты и дашборды);
- проектами (команды, рейты, дедлайны и расходы по итерациям);
- задачами (приоритеты, термины, статусы, роли и результаты);
- взаимоотношениями с клиентами (CRM).
Чтобы оценить все функциональные возможности сервиса, достаточно взглянуть на его информационную архитектуру. Это основа UX/UI дизайна, от которой зависит эффективная организация всего контента, а затем — и опыт взаимодействия пользователя с этим контентом:
Интуитивно понятная навигация сервиса позволяет сотрудникам сосредоточиться на своих задачах, а не на поиске нужной страницы. Эффективному пользовательскому опыту способствует и необычайно простой интерфейс, который вы вполне сможете оценить в следующих разделах кейса.
Личный кабинет сотрудника
Это удобная информационная панель со встроенным тайм-трекером, актуальными проектами и задачами в виде Списка, Канбана и Диаграммы Ганта. Сотрудники могут эффективно распределять своё время, оценивать нагрузку, отслеживать прогресс, просматривать отчётность по заработной плате и коммуницировать с командой.
Авторизация. Если бывалый юзер позволил Google запомнить свой пароль, вход в систему проходит ещё быстрее:
Профиль сотрудника включает следующие подразделы:
- Мой профиль с контактной информацией, настройкой пароля и языка;
- Компании, откуда можно войти в существующую или создать новую компанию;
- Тарифы, где можно управлять подписками сервиса;
- Настройка уведомлений о приоритетах, статусах, дедлайнах и ролях по отношению к проектам и задачам (постановщик, участник или ответственный) и каналу информирования (браузер и Telegram);
- Интеграции с сервисами (Google Calendar и Telegram).
Проекты
Раздел Проектов содержит весь список проектов, которые можно отфильтровать по статусу (активные, заблокированные, архивные), а также названию и имени проджект-менеджера. Кроме того, пользователь может настроить интерфейс под себя — выбирать и упорядочивать поля по:
- алфавиту (колонка Название),
- количеству задач (колонка Задания),
- дате (колонка Окончание).
Функция поиска встроена в фильтр и дополнительно представлена в виде поля ввода, чтобы сотрудник, работающий над несколькими проектами одновременно, смог быстро найти нужный и приступить к работе:
Страница проекта содержит несколько блоков:
- Основную информацию: название, тип оплаты (фиксированная или почасовая), статус, руководитель, участники, сроки, услуги;
- Описание и файлы;
- Итерации;
- Задания.
Задания
Раздел Задания имеет множество функций, в частности расширенный фильтр поиска, создание новой таски и широкие возможности по настройке интерфейса. Все задачи можно представить как Канбан, Диаграмму Ганта или старый добрый Список.
Фильтр задач можно сортировать по проекту, ответственному, статусу, приоритету и дедлайну. Причём по каждому параметру можно выбрать сразу несколько вариантов:
Добавить задачу можно как в самом разделе, так и в шапке сервиса справа. Для этого нужно указать название и подвязать проект, после чего появляются ещё два параметра — статус и итерация. Затем назначаем руководителя, ответственного и участников, устанавливаем дату начала и дедлайн, определяем приоритет и время, описываем суть задачи и загружаем файлы, которые могут понадобиться для её выполнения. Все эти параметры помогают чётко и понятно очертить задачу, однако обязательными для создания задачи являются первые 4 пункта: название, проект, статус и ответственный.
К новой задаче можно добавить чек-лист, подзадачу и зависимость от других задач в режиме Ожидания (задача, без которой невозможно выполнение текущей задачи) и/или Блокировка (задача, которую нельзя начать до тех пор, пока текущая не будет выполнена).
Канбан отображает задачу по ещё одному параметру — статусу: Новая, На проверке, В работе, Завершено и Without status. Интерфейс интересен тем, что с помощью плюсика в каждой из категорий можно быстро создать задачу с нужным статусом или изменять статусы задач, перетаскивая карточки между колонками.
Диаграмма Ганта отображает задачи по временному параметру: сколько часов потрачено на задачи по дням. Конкретный период, исполнителя, проект и другие нужные параметры можно выбрать с помощью Фильтра. Здесь можно легко изменять дедлайны задач путём перетаскивания или растягивания лент «во времени».
Список задач полностью настраиваемый: поля интерфейса можно выбирать, а ширину колонок — регулировать путём перетаскивания вертикалей. Фишкой этой панели задач является столбец с Прогрессом выполнения задач. А колонки со списками тасков по Названию, Дедлайну и Прогрессу можно сортировать буквально в 3 клика.
Занятость. Это панель задач, которую мы разработали по запросу архитектурного бюро. Затем мы решили оставить её в качестве альтернативы для тех компаний, которые вместо тайм-трекинга предпочитают ручное введение фактического времени, затраченного на задачу. Интерфейс предусматривает уже упомянутый Фильтр, а также удобный переключатель «Неделя / Период», демонстрирующий задачи и потраченное время на них — за конкретный день и выбранный период.
Клик на пиктограмму стрелочки возле показателя отработанного времени за день вызывает поп-ап для закрытия рабочего дня, после чего руководитель компании получает соответствующий отчёт:
Отчёты
Раздел Отчёты имеет 2 удобных вкладки:
- Проекты, содержащие информацию о Названии, Времени, Зарплате и Ответственных;
- Задачи, охватывающие несколько колонок: Название, Проект и Итерация, Статус, Время, Рейт, Зарплата, Сотрудник.
Всю информацию по двум вкладкам можно отфильтровать по Проекту и Дате, а затем загрузить в Excel:
Команда
Раздел составляет верхняя навигация в виде таб-бара из трёх вкладок:
1) Деревовидная Структура компании с разветвлением отделов и сотрудников. Клик на имя сотрудника вызывает карточку с дополнительной информацией: дата рождения, контактный email и номер телефона, отдел, должность, роль и тип занятости.
2) Список, вид которого можно настроить с помощью фильтров, выбора нужных полей, функции поиска и сортировки данных. Учитывая зависимость тарифного плана if.team от количества участников в команде, страница имеет быструю ссылку на раздел Тарифы.
3) Календарь, демонстрирующий график сотрудника: рабочие дни с продолжительностью работы, выходные дни, отпуск, больничный или командировка.
Фильтрация календаря сотрудником доступна только по Дате, тогда как администратору (руководителю, HR, тим-лиду или проджект-менеджеру) доступны фильтры по Участнику и Отделу. В будущем планируем добавить поле фильтра по статусу работников: отпуск, больничный, командировка и т. д.
Польза календаря не ограничивается учётом рабочего времени. Сотрудник может запросить себе отпуск или командировку в пару кликов, а руководитель — подтвердить или отменить запрос. Администратор не пропустит новые запросы сотрудников, ведь они выводятся вверху списка Календаря и Уведомлений:
Личный кабинет администратора
Личный кабинет администратора, помимо уже упомянутых выше разделов Проекты, Задачи, Отчёты и Команды, содержит 2 дополнительных: Платежи и Клиенты. Мы остановимся на них чуть позже, а пока рассмотрим функционал, открывающийся перед сотрудником с правами администратора (руководителем компании, отдела либо проектов, бухгалтером, HR и т. д.).
Профиль
Итак, Профиль администратора содержит те же подразделы: Мой профиль, Компании, Тарифы, Настройка уведомлений и Интеграции с сервисами. Однако панель навигации содержит дополнительные возможности. Так, если кнопка Добавить позволяет обычному сотруднику создать задачу, то администратору — быстро добавить:
- Задачу,
- Проект,
- Итерацию,
- Сотрудника,
- Клиента,
- Платёж.
Панель администратора
Администратор имеет полный доступ к управлению сервисом через Панель администратора, в том числе отделами, должностями, ролями, настройками и подписками.
Вкладка Отделы позволяет создавать и устанавливать зависимости между отделами компании:
Вкладка Должности позволяет создавать, редактировать и удалять должности сотрудников.
Распределение ролей в команде. Создать роли и настроить права для каждой из них позволяет вкладка Роли. Это очень удобно, так как освобождает от необходимости предоставлять и редактировать разрешения для каждого сотрудника в отдельности. Как результат, у каждого свои возможности использования сервиса в зависимости от назначенной роли. Предусмотрена даже роль для клиентов, которые могут видеть только прогресс выполнения своего заказа:
Вкладка Настройки позволяет персонализировать интерфейс сервиса с помощью текста и цвета, включая виды услуг, способы оплаты, типы занятости, статусы задач, итераций и платежей под чёткие потребности компании:
Проект глазами администратора
Страница проекта на стороне руководителя содержит всю необходимую информацию, которая удобно умостилась в нескольких блоках. Такая себе единственная и неповторимая панель управления проектом, которая содержит общую информацию, рейты сотрудников и финансы.
Собственно, проект. Здесь содержится основная информация о проекте, которую мы уже рассмотрели из аккаунта сотрудника компании. Руководителю проекта с правами администратора доступна функция редактирования названия, типа, бюджета, терминов, услуг и команды проекта. Здесь можно добавить клиента, описание и файлы, а также актуальный курс валюты и статусы задач.
Рейти. Здесь можно фиксировать и изменять ставки сотрудников в соответствии с типом проекта: Time&Material (почасовая оплата) или Fixed Price.
Финансы с графиком сгорания бюджета. Поистине, главная фишка сервиса if.team, которая представляет собой подробную инфографику на основе доходов и расходов, а именно:
- Общей стоимости проекта и фактически уплаченной суммы,
- Расходов, в том числе бюджетных и на заработную плату.
Именно эта функция помогает избежать перерасхода бюджета проектов и обеспечить прибыльность компании.
Удобный фильтр итераций в виде выпадающего списка вызывает динамическое изменение финансового состояния проекта по каждой итерации в отдельности. Интересно, что в момент выбора итерации изменяется не только вид графика, но и таблица доходов и расходов под ним.
Доходы и расходы представлены в виде таблицы. Благодаря табам между ними удобно переключаться, а через кнопку — добавить новый платёж или расход. Для этого необходимо подвязать статью дохода или расхода к проекту и итерации, а также заполнить поля с названием, суммой, статусом, получателем, датой и способом оплаты:
Блок Итерации представляет собой сводную таблицу с Названием, Суммой, Временем, Датами и Статусом. Каждую существующую итерацию, подчеркнутую пунктиром, можно просмотреть на отдельной странице, а новую — добавить с помощью соответствующей кнопки:
Задачи, связанные с проектом, выводятся в конце страницы. Новую задачу можно создать в один клик с помощью кнопки, вид таблицы — настроить, а нужную информацию — отфильтровать и отсортировать:
С этого блока можно попасть на страницу конкретной задачи и карточку ответственного сотрудника, где можно увидеть историю рейтов, а также тип занятости, откуда — перейти на Календарь сотрудника и раздел Команды.
Один проект — множество связей. Однако потеряться — тяжело, а найти нужное — очень просто. Все благодаря чётко продуманной структуре сервиса. 😎
Платежи с инфографикой Cash Flow
Мы уже писали, что финансовый менеджмент – главный герой if.team? Если финансы проекта были разогревом, то раздел Платежи с его денежным потоком — хедлайнер нашего продукта.
Теперь вести учёт затрат на уровне компании — не скучное и хлопотное занятие, а само удовольствие. Уникальная функция Cash Flow демонстрирует общую картину доходов и расходов в динамике и позволяет:
- следить за остатками на счетах,
- классифицировать и анализировать затраты (как связанные, так и не связанные с проектами),
- прогнозировать кассовые разрывы.
Полезной функцией при добавлении новой статьи расходов является автоматический расчёт процента от бюджета (а вскоре — и от дохода) проекта. Это могут быть комиссионные проджект-менеджера, средства на благотворительность или другие потребности компании.
Заработная плата. Расходы на заработную плату иллюстрирует отдельный график, где можно увидеть Прогноз на основе Плановой зарплаты и Повышения зарплаты. Вызвать дополнительную информацию на графике можно простым наведением мыши на конкретный месяц. Значения для графика можно задать с помощью фильтра, например, отобразить данные по выбранным сотрудникам за определенный период времени.
Добавить клиента в базу легче некуда: клик на соответствующую кнопку вызывает поп-ап, где можно удобно заполнить информацию и создать новую карточку:
Клиентская база не ограничивается только контактной информацией. За каждым клиентом закрепляется график работы и все текущие проекты с задачами, дедлайнами, прогрессом, доходами, расходами и ответственными.
Техническая реализация сервиса
Вёрстка
Удовольствие от использования if.team зависит не только от широкого функционала и приятного дизайна. Обеспечить положительный опыт использования главного рабочего инструмента способно его быстродействие. Поэтому мы сразу заложили сервис на мощный Vue-фреймворк Nuxt 3. Стилизация проекта не обошлась без библиотеки Tailwind CSS, позволяющей верстать адаптивный дизайн прямо в HTML. Базовые компоненты создавались фронтендером собственноручно, а разработка диаграммы Ганта вообще заслуживает отдельного внимания.
Она действительно уникальна, поскольку в её технической реализации не применялись готовые посторонние инструменты, разве что библиотека хранилищ Pinia. Диаграмма была стилизована с помощью CSS-препроцессора SCSS, а логика всех её компонентов организована благодаря технологии Nuxt 3 Composition API. Также была применена табличная вёрстка, проведено много математических расчётов для рендеринга табличных строк, сетки и дат (очень много дат). Разработчик просчитал около 20-ти возможных вариантов начала и завершения задач в зависимости от даты создания и даты завершения этих задач.
В диаграмме Ганта также было реализовано:
- рендеринг всех задач с их фильтрацией;
- функцию перетаскивания (drag) и изменения начала / конца задач (resize);
- рекалькуляция ширины таблицы во время драга или ресайза задач;
- отображение сегодняшней даты и центрирование при рекалькуляции;
- обновление всех величин при создании или редактировании задач;
- скролл таблицы колесом мыши и посредством перетаскивания по принципу drag and drop;
- два вида отображения диаграммы: по дням и часам;
- рекалькуляция таблицы при переключении режима отображения;
- сложный рефакторинг кода для предотвращения разрушения всех зависимостей в случае непредсказуемого поведения программы.
Ещё один ключевой индикатор информационной панели if.team — это динамичная инфографика, отражающая финансы проектов. Она была разработана с помощью JavaScript-библиотеки визуализации Apache ECharts:
Серверная часть
Вся логика if.team заложена на основе бэкенд-микросервисов в гибкой программной среде Node.js. Технология позволяет легко запускать Javascript-приложения на сервере и работает на быстродействие программы. Фреймворк Nest.js значительно ускорил и упростил разработку на Node.js.
Такой масштабируемый и высоконагруженный продукт, как if.team, требует соответствующих технологических решений, поэтому поэтому в качестве ядра Nest.js мы использовали один из самых быстрых фреймворков HTTP-сервера — Fastify, который способен обрабатывать в 3 раза больше запросов в секунду, чем стандартный Express. Для сохранения данных используется база данных PostgreSQL, а для взаимодействия с ней — технология TypeORM.
Авторизация использует JSON Web Token и систему разрешений, написанную с нуля. Учитывая множество параметров, влияющих на доступ пользователя к if.team, мы сразу отбросили готовые библиотеки, в частности CASL.js. Теперь для определения прав доступа самописная система разрешений без проблем подгружает все необходимые зависимые элементы.
На стороне бэкенда были разработаны динамические таблицы и фильтры с помощью «структуры», которая посылается сервером и отображается в браузере. Мы взяли от TypeScript максимум преимуществ и использовали обобщённые типы Generic Types, которые предоставляют наиболее гибкие возможности для создания крупных программных систем.
Сообщения. Для сохранения файлов и обработки сообщений мы использовали сервисы облачных вычислений от Amazon Web Services, а именно S3 и SQS. Для сообщений существует отдельный микросервис, который имеет свою базу данных MongoDB, объединенную с кодом благодаря технологии PrismaORM. Обмен сообщениями в реальном времени через браузер реализуется с помощью JavaScript-библиотеки Socket.IO.
Связь между основным сервером и микросервисом обеспечивается благодаря распределённой службе высокомасштабированной очереди сообщений Amazon Simple Queue Service (SQS), а между микросервисом и микросервисом для сокетов — благодаря хранилищу данных Redis.
Онлайн-сервис if.team поддерживает украинский и английский языки, что возможно благодаря JavaScript-фреймворку i18n.
Создание Telegram-бота
Для интеграции сервиса if.team с Telegram мы разработали удобный бот, позволяющий сотрудникам и менеджерам держать под контролем и буквально под рукой все задачи и проекты. Чтобы все уведомления (или не все — решать вам) приходили в Telegram, нужно подключить мессенджер в личном кабинете if.team:
После этого пользователь будет получать мгновенные сообщения о новых проектах и задачах, а также о любых изменениях в текущей работе: статусах, приоритетах и дедлайнах задач, комментариях от членов команды и т. д.
Как мы уже намекнули, сотрудники могут выбирать сообщения, поступающие в мессенджер, в зависимости от своей роли и действий в задачах и проектах.
С точки зрения технической реализации Telegram-бот смотрится как набор кода, написанный на языке TypeScript. Кроме нее был применен еще ряд технологий:
- язык структурированных запросов SQL, обеспечивающий взаимодействие пользователя с базой данных;
- ORD управления базами данных PostgreSQL, которые обрабатываются и используются в Telegram-боте (профиль пользователя, настройки, история уведомлений и т.п.);
- платформа Node.js для создания чат-бота, преобразующая JavaScript в машинный код на стороне сервера;
- платформа Nest.js, благодаря которой программа эффективно функционирует на стороне сервера;
- документоориентированная система управления базами данных MongoDB, сохраняющая и обеспечивающая быстрый доступ к данным, которые использует бот;
- библиотека telegraf.js, которая позволяет автоматически обрабатывать уведомления в Telegram-боте с помощью команд (start, sign out и т. д.);
- технологии программирования ORM, в частности Prisma, Sequelize и TypeORM, связывающие код с базами данных чат-бота;
- клиент HTTP Axios, позволяющий выполнять запросы из браузера и Node.js.
Как видим, за простым и понятным интерфейсом Telegram-бота стоит огромная работа бекендеров, которые наделили программу способностью мгновенно обрабатывать и выдавать уведомления, настроенные пользователями в личном кабинете if.team.
Лендинг
Промосайт современный lending-page в фирменном стиле if.team. Как и весь сервис, лендинг выглядит просто и понятно благодаря структурированности и содержательности. Тандем достаточного количества белого и энергичного синего цвета создает воздушность и приятный контраст.
Однако в этот раз дизайнеры решили не сдерживать себя и щедро приправить сайт анимациями. Фронтенд-разработчики были не прочь и охотно поддержали воплощение движущихся строк, «липкого» курсора и параллакс-скроллинга. Все анимации были реализованы с помощью библиотеки GSAP. В целом же весь лендинг был свёрстан на языке разметки HTML5 и стилизован на языке CSS в сочетании с SCSS.
В результате имеем аккуратный и сбалансированный эффектами дизайн с самой главной и хорошо визуализированной информацией, которая выгодно презентует все преимущества сервиса. Сейчас же промосайт успешно проходит тест на интерес со стороны новых клиентов и инвесторов.
Заключение
Онлайн-сервис if.team – это полноценный проектный виртуальный офис. А ещё – собственная разработка и гордость нашей команды. В буквальном смысле этого слова продукт создан как для себя, потому что основан на многолетнем опыте работы IT-компании Webnauts.
За год мы получили полноценную ERP-систему, позволяющую управлять проектами, задачами, командами, клиентской базой и всей компанией, а также временем и, самое главное, — финансами. Сегодня 43% компаний не имеют чёткого финансового менеджмента проектов, а потому неудивительно, что if.team так быстро вышел за пределы семьи вебнавтов и поселился в лэптопах работников агентств, студий, архитектурных и юридических бюро, дизайнеров, маркетологов и других команд, работающих в рамках проектных циклов.
Сервис призван повысить эффективность и прибыльность бизнеса благодаря:
- контроллеру расходов с подробными графиками, что прогнозирует баланс и предупреждает о возможном превышении бюджета;
- всеобъемлющему проджект-менеджменту с финансами, командами, клиентами и отчетами;
- таск-менеджменту с тайм-трекером, удобной коммуникацией, отслеживанием нагрузки и прогресса сотрудников;
- автоматизации отчётности о расходах времени и бюджета по проектам и задачам;
- организация клиентской базы с контактами, проектами и платежами.
Сервис if.team непрерывно развивается и обновляется едва ли не каждую неделю. В ближайшее время ERP-систему ждёт новый апгрейд — виртуальный AI-ассистент, который будет помогать контролировать проекты и собирать фидбеки от сотрудников.
Комментарии