v5.3.0

IT CITY CRM

Multi-tenant SaaS CRM для управління виїзним обслуговуванням — 10 галузей, автоматичний провіжн

crm.its.te.ua — Тернопіль, Україна

Що нового у версії 5.3

Великий реліз з фокусом на бізнес-процеси: єдиний каталог номенклатури на базі 1С/BAS, повноцінна інтеграція з обліковою системою, облік контрактів обслуговування з SLA, облік клієнтського обладнання та автоматичне списання матеріалів з балансу техніків.

📦 Єдиний каталог номенклатури

  • Одне місце для всього: товари/послуги з 1С + локальні позиції CRM в одному каталозі з маркерами джерела
  • Категорії-дерево з папками, пошук по назві/артикулу/штрихкоду
  • Мультиціни: роздрібна, оптова, закупівельна — кожна з правами видимості по ролях
  • Скасована розрізненість між «Матеріалами» і «Інструментами» — все в одному місці
  • Залишки: склад фірми + по техніках — видно одразу на картці

🔗 Глибока інтеграція з 1С / BAS

  • OData синхронізація: номенклатура, категорії, ціни, контрагенти — все автоматично
  • Webhook з 1С: замовлення покупця миттєво створюють заявку в CRM
  • Зворотній виклик: з заявки CRM створюється Документ.ЗаказПокупателя у вашій 1С
  • Після закриття заявки 1С отримує актуальний перелік використаних матеріалів з маркерами [ДОДАНО]/[ЗМІНЕНО]/[ВИДАЛЕНО]
  • Зовнішня обробка для BAS-користувачів (.epf): фільтри, діалог підтвердження змін
  • Автовизначення полів BAS-UA vs 1C-RU — працює з різними конфігураціями

🔒 Контракти обслуговування

  • Щомісячні контракти: фіксована сума за постійну підтримку клієнта
  • SLA: гарантований час реакції у годинах — технік бачить пріоритет одразу на заявці
  • У заявці клієнта під контрактом — зелена плашка «🔒 КОНТРАКТ» з підказкою як виставляти рахунки
  • Матеріали + дорога залишаються оплачуваними окремо (контракт покриває тільки послугу)
  • Автобілінг: одна кнопка в кінці місяця — всі контракти нараховані в касу (ідемпотентно)
  • Звіт SLA виконання: % дотримання по клієнтах та періодах

💻 Облік обладнання — наше + клієнтське

  • Власність: COMPANY (наше) або CLIENT (клієнта) — в одній таблиці, зручна фільтрація
  • Прив'язка до організації-власника — обслуговуємо чуже обладнання без змішування з власним
  • Модель обладнання = позиція в каталозі номенклатури — єдина точка правди
  • Bulk-дії: групова зміна власника / переміщення / видалення — чекбокси у списку
  • Переведення з каталогу в облік: з абстрактних «5 камер на складі» створюється Equipment з серійним номером та прив'язкою до об'єкта

📊 Автосписання матеріалів + звіти залишків

  • Автоматичне списання: матеріал у заявці → мінус з балансу техніка
  • Зміна кількості / видалення матеріалу → коректування назад — без ручної роботи
  • Ретроспективне коригування балансів по старих заявках (bulk backfill)
  • Новий звіт «Залишки»: фільтри по джерелу/категорії/техніку, маркування нижче мінімуму, CSV-експорт
  • Переміщення позицій між складом і техніками — модалкою одним кліком

🛒 Корзина матеріалів + штрихкоди

  • У заявці: одним екраном додаєте кілька матеріалів з кнопками ± як у інтернет-магазині
  • Фільтр по категоріях, пошук, сканер штрихкодів через камеру (BarcodeDetector API)
  • Ціни з каталогу автоматично підставляються (за замовчуванням — «Продажна»)
  • Одна кнопка «Додати N позицій» — відправляє все разом

📋

Зведена таблиця модулів

МодульОписКористувачі
SaaS Multi-Tenant10 галузевих шаблонів, окрема БД на тенант, автоматичний провіжнSuperAdmin
БілінгLiqPay/WayForPay, 20 EUR/user (~880 грн), тріал 14 днів, автоблокуванняАдмін
РозсилкиTelegram/Viber масові розсилки з фільтрами аудиторіїАдмін, Менеджер
Планове ТОАвтоматичне створення заявок за розкладомАдмін, Менеджер
Import/ExportCSV імпорт/експорт контактів, обладнання, організаційАдмін
Партнерська програмаРеферальні коди, відстеження партнерівАдмін
ДашбордKPI та оперативна статистикаАдмін, Менеджер
ЗаявкиПовний цикл обслуговування, SLA, пріоритети, карта, шаблони заявокАдмін, Менеджер, Технік
КлієнтиОрганізації, об'єкти, контактиАдмін, Менеджер
ІнвентарОбладнання, картриджі, матеріалиАдмін, Менеджер, Технік
ФінансиЗарплати, виплати, рух коштів, рекурентні платежі, закриття місяцяАдмін
Звіти7 типів аналітики, Excel-експортАдмін, Менеджер
SLAІндикатори, Telegram-алерти, налаштування по типахАдмін, Менеджер
Безпека2FA, RBAC, аудит, макс 2 сесії, захист данихАдмін
ІнтеграціїTelegram, Google Maps, Google Calendar, Webhook, API ключі, 1С/BASУсі
ТестуванняQuiz-модуль, рівні, призначення, результатиУсі
СповіщенняIn-app дзвіночок, звук, polling, типізовані нотифікаціїУсі
PWAМобільний доступ офлайнТехнік
ІнфраструктураPM2 моніторинг, бекапи, error tracking, onboarding tourАдмін

📈

1. Дашборд

Головний екран системи з оперативними показниками ефективності. Відображає поточний стан заявок, ключові KPI за обраний період та список відкритих заявок, що потребують уваги.

KPI-віджети

  • Кількість заявок за період
  • Середній час виконання
  • Завантаженість техніків

Статистика заявок

  • Заявки за статусами з візуалізацією
  • Список відкритих заявок з пріоритетами та дедлайнами

Фільтрація

  • Фільтрація по періоду
  • Фільтрація по відповідальному

Користувачі: Адмін, Менеджер

Дашборд

📋

2. Заявки

Центральний модуль системи, що охоплює повний цикл сервісного обслуговування — від створення заявки до закриття з фіксацією всіх деталей. Підтримує роботу з маршрутами через кілька об'єктів, GPS-трекінг пробігу, чекліст робіт та прикріплення фото.

Управління заявками

  • Створення, призначення, виконання та закриття
  • GPS-фіксація та облік пробігу
  • Чекліст виконаних робіт
  • Коментарі та прикріплення фото

Пріоритети заявок

  • LOW зелений
  • NORMAL жовтий
  • HIGH червоний
  • Кольорові бейджі на кожній заявці

Карта заявок

  • Заявки на карті з кольоровими маркерами за статусом
  • Мульти-маршрут від GPS-позиції техніка через кілька об'єктів
  • Масова зміна статусу прямо з карти

Обладнання та матеріали

  • Облік обладнання в заявці
  • Облік картриджів та витратних матеріалів
  • Масові операції (призначення, зміна статусу)

Планові виїзди (v4.0)

  • Планування дати та часу виїзду на будь-якій заявці
  • Кнопка додавання в Google Calendar
  • Завантаження .ics для Apple Calendar / Outlook
  • Бейдж 📅 у списку заявок для запланованих
  • Telegram-нагадування за 1 день до виїзду
  • Cron-задача для перевірки нагадувань щогодини

Користувачі: Адмін, Менеджер, Технік

Заявки — список
Заявки — деталі
Скріншот: Заявки — карта

3. SLA (Service Level Agreement)

Модуль контролю якості обслуговування з автоматичним моніторингом часу реакції та виконання заявок. Візуальні індикатори на кожній заявці допомагають швидко оцінити стан дотримання SLA.

Індикатори SLA

  • В нормі — зелений (у відсотках)
  • Попередження — жовтий
  • Прострочено — червоний
  • Індикатор на кожній заявці

Алерти та моніторинг

  • Telegram-алерти кожні 15 хвилин при порушенні SLA
  • Автоматичний крон-моніторинг SLA-статусів

Налаштування

  • SLA-параметри окремо для кожного типу заявки
  • Гнучке конфігурування часових рамок

Користувачі: Адмін, Менеджер


👥

4. Клієнти

Управління клієнтською базою з трирівневою структурою: організації, їхні об'єкти обслуговування та контактні особи. Об'єкти прив'язані до карти, а контакти пов'язані з організаціями зв'язком "багато-до-багатьох".

Організації

  • Реєстр організацій з контрактами та умовами обслуговування
  • Історія заявок по організації
  • Швидкий пошук та фільтрація

Об'єкти обслуговування

  • Адреси з прив'язкою до карти
  • Історія заявок по об'єкту
  • Обладнання на об'єкті

Контакти

  • Контактні особи з телефонами та посадами
  • Many-to-many зв'язок з організаціями
  • Швидкий зв'язок

Користувачі: Адмін, Менеджер

Скріншот: Клієнти — організації
Скріншот: Клієнти — об'єкти на карті

🖨

5. Інвентар

Комплексний облік всіх матеріальних цінностей компанії. Включає реєстр обладнання з серійними номерами та історією переміщень, облік картриджів із циклом заправки, матеріали з балансами по працівниках та модуль інвентаризації.

Обладнання

  • Реєстр з серійними номерами та QR-кодами
  • Статуси обладнання
  • Історія переміщень між об'єктами
  • Облік ремонтів через сервісні центри

Картриджі

  • Цикл заправки
  • Прив'язка до принтерів
  • Історія переміщень

Матеріали

  • Баланси працівників
  • Списання при виконанні заявок
  • Категорії матеріалів

Сервісні центри та інвентаризація

  • Реєстр сервісних центрів
  • Передача та повернення обладнання
  • Планові перевірки з фіксацією результатів

Користувачі: Адмін, Менеджер, Технік

Скріншот: Інвентар — обладнання
Скріншот: Інвентар — картриджі
Скріншот: Інвентар — матеріали

💰

6. Фінанси

Модуль фінансового обліку з фокусом на управлінні зарплатами та рухом коштів. Автоматично розраховує зведення по працівниках, підтримує виплати з Telegram-сповіщенням та закриття місяця.

Зарплати та виплати

  • Зведення по працівниках: оклад, пробіг, коригування, податки
  • Виплати з автоматичним Telegram-сповіщенням працівника

Рух коштів

  • Доходи та витрати з категоризацією
  • Модальне вікно редагування записів
  • Пошук контрагента при створенні запису
  • Захист від редагування записів закритого місяця

Рекурентні (постійні) платежі

  • Фіксовані щомісячні витрати (оренда, інтернет, ліцензії)
  • Фіксовані щомісячні доходи (абонплата)
  • Категорії платежів з довідника налаштувань
  • Активація / деактивація окремих платежів

Закриття місяця

  • Чекбокс-вибір рекурентних платежів для включення
  • Автоматичне створення записів CashFlowEntry для обраних платежів
  • Можливість повторного відкриття місяця (reopen)
  • Блокування редагування фінансових записів закритого місяця

Категорії платежів

  • Єдиний довідник для руху коштів, рекурентних платежів та звітів
  • Деревовидна структура (батьківська / дочірні)
  • Сортування drag-and-drop (reorder)
  • Тип: INCOME / EXPENSE

Користувачі: Адмін

Скріншот: Фінанси — зведення
Скріншот: Фінанси — рух коштів

📊

7. Звіти

Аналітичний модуль для прийняття управлінських рішень. Містить 7 вкладок детального аналізу з можливістю експорту у Excel.

7 вкладок детальних звітів

  • Зведення (summary) — загальна статистика за період
  • Податки (taxes) — розрахунок податкових зобов'язань
  • Зарплати (salaries) — деталізація нарахувань та виплат
  • Дохід (income) — аналіз доходів по організаціях
  • Категорії (categories) — розбивка за категоріями платежів
  • Контрагенти (contractors) — фінансовий звіт по підрядниках
  • Помісячно (monthly) — динаміка показників по місяцях

Місячні звіти

  • Статистика заявок, топ об'єктів, рейтинг техніків
  • Детальний звіт за довільний період

Експорт та Telegram

  • Експорт у Excel (.xlsx) з форматованими таблицями та автофільтрами
  • Автоматична відправка звітів у Telegram (крон-розклад)
  • Тестова відправка звіту в Telegram

Користувачі: Адмін, Менеджер

Скріншот: Звіти — місячний
Скріншот: Звіти — детальний

🔒

8. Безпека

Багаторівнева система захисту з двофакторною автентифікацією, рольовою моделлю доступу та повним журналюванням дій.

Двофакторна автентифікація (2FA)

  • TOTP через Google Authenticator
  • Резервні коди відновлення
  • Примусове увімкнення для адмінів
  • QR-код для налаштування

Контроль доступу (RBAC)

  • Ролі: Адмін, Менеджер, Технік
  • Гранулярні дозволи
  • Захист API-ендпоінтів
  • Обмеження по ролях у UI

Rate Limiting та шифрування

  • Захист від brute-force атак
  • Управління сесіями з примусовим завершенням
  • Аудит-лог усіх критичних дій
  • Шифрування чутливих даних

Захист цілісності даних (v3.9.0)

  • Видалення користувачів заблоковано — тільки деактивація
  • State machine для статусів заявок — валідація дозволених переходів
  • Валідація пробігу — захист від некоректних GPS-даних
  • Захист від видалення точок з прив'язаними заявками
  • Аудит-лог змін зарплат та фінансових операцій

Користувачі: Адмін

Скріншот: Безпека — аудит-лог

🔗

9. Інтеграції

Зовнішні інтеграції для автоматизації робочих процесів. Telegram-бот сповіщає про нові заявки та виплати, Google Maps забезпечує роботу з картами та маршрутами, а Webhook дозволяє приймати заявки з Eddy Helpdesk.

Telegram

  • Сповіщення: нові заявки, зміна статусу, виплати
  • SLA-алерти кожні 15 хвилин при порушенні
  • Автоматичні звіти за розкладом
  • Нагадування за 1 день до запланованого виїзду

Google Calendar / .ics

  • Кнопка "Додати в Google Calendar" на заявці
  • Завантаження .ics файлу для Apple Calendar / Outlook
  • VEVENT з VALARM (нагадування за 1 день)

Google Maps

  • Відображення об'єктів на карті
  • Побудова маршрутів, GPS-трекінг
  • Геокодування адрес

Webhook (Eddy Helpdesk)

  • Автоматичне створення заявок
  • Маппінг полів та верифікація підпису

1С / BAS (OData)

  • Синхронізація довідників: номенклатура, категорії, контрагенти, види цін з автовизначенням сутностей (BAS-UA vs 1C-RU)
  • Ціни: актуальні з регістра ЦіниНоменклатури з автодетектом полів; мапінг локальних типів на BAS-типи
  • Webhook з 1С: створення заявки CRM з замовлення покупця BAS (номер, дата, контрагент, позиції)
  • Виклик до 1С: POST Document_ЗаказПокупателя — створення замовлення з заявки CRM
  • Зворотний webhook: повертає актуальні матеріали після закриття заявки (з маркерами [ДОДАНО]/[ЗМІНЕНО]/[ВИДАЛЕНО])
  • Зовнішня обробка .epf: фільтри станів замовлень, зберігання періоду між сесіями, діалог підтвердження змін
  • Контрагенти: автозіставлення за ЄДРПОУ, ручна прив'язка організацій CRM → контрагентів BAS
  • Баланс: перевірка взаєморозрахунків через AccumulationRegister_РасчетыСПокупателями

Magic Links

  • Безпечний доступ для субпідрядників без пароля
  • Одноразові посилання з обмеженим терміном дії

API ключі

  • Bearer-токени для Postman, скриптів та зовнішніх інтеграцій
  • Створення з назвою, терміном дії, відкликання
  • SHA-256 хешування, відстеження останнього використання

Користувачі: Усі

Скріншот: Інтеграції — Telegram

🌏

10. SaaS Multi-Tenant

Multi-tenant архітектура з ізольованими базами даних для кожного тенанта. 10 галузевих шаблонів для швидкого старту, автоматичний провіжн нових клієнтів та custom domain для Enterprise.

10 галузевих шаблонів

  • IT-аутсорсинг, телеком, охорона, клінінг
  • HVAC, ліфти, медтехніка, ресторани
  • Будівництво, виробництво
  • Передзаповнені категорії, статуси, шаблони заявок

Ізоляція даних

  • Окрема БД для кожного тенанта
  • Автоматичний провіжн при реєстрації
  • Міграції та seed-дані для кожної галузі
  • Повна ізоляція: дані, файли, налаштування

Управління тенантами

  • SuperAdmin панель для керування тенантами
  • Автоблокування прострочених підписок
  • Custom domain для Enterprise-плану
  • Обмеження макс 2 сесії на користувача

Користувачі: SuperAdmin (управління), Адмін (налаштування тенанта)


💳

11. Білінг

Інтегрована система оплати через LiqPay та WayForPay. Тріальний період 14 днів, автоматичне блокування при несплаті, гнучкі тарифні плани.

Тарифні плани

  • Starter — базовий функціонал
  • Professional — повний функціонал, 20 EUR/user (~880 грн)
  • Enterprise — custom domain, виділена підтримка
  • Тріал 14 днів без кредитної картки

Платіжні провайдери

  • LiqPay — для українських клієнтів
  • WayForPay — альтернативний провайдер
  • Автоматичне продовження підписки
  • Автоблокування при несплаті

Користувачі: Адмін


📣

12. Розсилки

Масові розсилки через Telegram та Viber з фільтрацією аудиторії за організацією, тегами та іншими критеріями. Відстеження статусу доставки.

Telegram/Viber розсилки

  • Створення розсилки з текстом та фільтрами
  • Вибір каналу: Telegram або Viber
  • Фільтри: організація, теги, активні контакти
  • Відстеження доставки: відправлено/помилки

Управління

  • Чернетки розсилок перед відправкою
  • Історія розсилок з результатами
  • Статистика: кількість отримувачів, доставлено, помилки

Користувачі: Адмін, Менеджер


🛠

13. Планове ТО

Автоматичне створення заявок на технічне обслуговування за розкладом. Використовує шаблони заявок для стандартизації процесів.

Розклад обслуговування

  • Частота: щоденно, щотижня, щомісяця, щокварталу
  • Прив'язка до об'єкта та виконавця
  • Автоматичне створення заявок cron-задачею
  • Використання шаблонів заявок

Шаблони заявок

  • Типові шаблони з передзаповненими полями
  • Змінні в назві: {printer}, {store} тощо
  • Швидке створення заявок з шаблону

Користувачі: Адмін, Менеджер


📄

14. Import/Export

CSV імпорт та експорт даних для всіх основних модулів. Підтримка контактів, обладнання та організацій.

CSV Import

  • Імпорт контактів, обладнання, організацій
  • Валідація даних з детальним звітом помилок
  • Пропуск дублікатів

CSV Export

  • Експорт контактів, обладнання, організацій
  • Фільтрація перед експортом
  • Стандартний CSV формат

Користувачі: Адмін


🤝

15. Партнерська програма

Реферальна програма для залучення нових клієнтів. Партнери отримують унікальні коди та відстежують конверсії.

Реферальні коди

  • Генерація унікальних реферальних кодів
  • Відстеження реєстрацій за кодом
  • Статистика конверсій

Користувачі: Адмін


🎓

16. Тестування знань

Quiz-модуль для перевірки знань працівників. Підтримує різні типи питань, рівні складності, призначення конкретним працівникам та детальну аналітику результатів.

Створення тестів

  • Типи питань: одна відповідь, множинний вибір, текст
  • Рівні складності та категорії
  • Часове обмеження на проходження
  • Мінімальний відсоток для "Зараховано"

Призначення та проходження

  • Призначення тесту конкретним працівникам
  • Прогрес-бар та таймер під час проходження
  • Одна спроба або необмежена кількість

Результати та аналітика

  • Детальний перегляд відповідей з правильними
  • Статистика по працівниках та тестах
  • Фільтрація по статусу (пройдено/не пройдено)

Користувачі: Усі (створення — Адмін, проходження — Усі)


🔔

17. Сповіщення

Система in-app сповіщень з типізованими нотифікаціями, звуковими сигналами та polling-оновленням. Інтегрована з усіма модулями системи.

In-app сповіщення

  • Дзвіночок з лічильником непрочитаних
  • Звуковий сигнал при новому сповіщенні
  • Polling кожні 30 секунд
  • Адаптивна панель (центр на мобільному)

Типи сповіщень

  • Нова заявка, зміна статусу, коментар
  • SLA-порушення, виплата зарплати
  • Нове повідомлення в чаті
  • Призначення тесту

Користувачі: Усі


📱

18. PWA

Прогресивний веб-додаток для роботи техніків у полі. Підтримує офлайн-режим, push-сповіщення та встановлення на домашній екран телефону як повноцінний додаток.

Мобільний доступ

  • Офлайн-режим: доступ до заявок без інтернету
  • Push-сповіщення про нові та оновлені заявки
  • Встановлення на телефон (Add to Home Screen)
  • Адаптивний інтерфейс для мобільних пристроїв

Користувачі: Технік

Скріншот: PWA — мобільний вигляд

19. Інфраструктура

Серверна інфраструктура з автоматизованим розгортанням, регулярними бекапами та моніторингом. Забезпечує стабільну роботу системи та швидке відновлення у разі збоїв.

CI/CD та розгортання

  • GitHub Actions — автоматичне розгортання при пуші в main
  • PM2 process manager

Бекапи та моніторинг

  • Автоматичні бекапи бази даних (pg_dump + cron)
  • Моніторинг доступності (uptime) та продуктивності
  • Fail2ban: захист від несанкціонованого доступу

Крон-задачі

  • SLA cron: перевірка SLA-статусів та алерти кожні 15 хвилин
  • Report cron: автоматична генерація та відправка звітів
  • Reminder cron: перевірка запланованих виїздів та Telegram-нагадування (щогодини)

Користувачі: Адмін


📈

Система в цифрах

19
Модулів
100+
API ендпоінтів
7
Типів звітів
3
Ролі (Адмін, Менеджер, Технік)
24/7
SLA-моніторинг та Telegram-алерти

Технологічний стек

Сучасні технології для надійної та масштабованої системи

КомпонентТехнологія
FrontendNext.js, React, Tailwind CSS
BackendNext.js API Routes, Prisma ORM
База данихPostgreSQL
АвтентифікаціяNextAuth.js, TOTP 2FA
КартиGoogle Maps API
СповіщенняTelegram Bot API, Web Push
CI/CDGitHub Actions
ІнфраструктураPM2, Nginx, fail2ban
Бекапиpg_dump, cron
МоніторингUptime monitoring, SLA cron, Report cron
Next.js 16 Prisma 7 PostgreSQL TypeScript Tailwind CSS NextAuth.js Telegram Bot API Google Maps API ExcelJS PM2 bcrypt Zod