IT CITY CRM — Roadmap

Дорожня карта розвитку CRM-системи для IT CITY

Поточна версія: v5.5.0

Виконано

Реалізовані модулі та функціонал з версії 3.0 по 5.5.0

v3.0–3.9

Базовий MVP, Інвентар, Карти, Telegram, Фінанси, Звіти, 2FA, SLA

  • Заявки: повний CRUD, статуси, призначення, пріоритети
  • Клієнти: організації, об'єкти, контакти
  • Автентифікація: NextAuth, RBAC, 2FA (TOTP), Rate Limiting
  • Інвентар: обладнання, картриджі, матеріали, QR-коди
  • Google Maps, GPS-фіксація, облік пробігу
  • Telegram-бот, Webhook (Eddy Helpdesk), Magic Links
  • Фінанси: зарплати, рух коштів, рекурентні платежі, закриття місяця
  • Звіти: 7 вкладок + Excel-експорт + Telegram-розсилка
  • SLA-індикатори, Telegram SLA-алерти кожні 15 хвилин
  • State machine статусів, аудит-лог, захист даних
v4.0–4.3

Планові виїзди, API ключі, Calendar

  • Планування дати та часу виїзду на будь-якій заявці
  • Google Calendar інтеграція та .ics завантаження
  • API ключі: Bearer-токени для інтеграцій
  • Налаштування cron-задач через UI
v4.4

Тестування знань (Quiz)

  • Модуль тестування з 6 шаблонами, 3 рівні складності
  • Призначення тестів працівникам з дедлайном
  • Таблиця результатів: працівники × тести
v5.5.0

v5.5 (квітень 2026) — мультиканальний чат-інбокс, Web Push, кастомні webhook-кнопки, REST API tester

  • Чат-інбокс — 4 месенджери одночасно: Telegram + Viber + Facebook Messenger + Instagram Direct в одному вікні (Meta Graph API через /api/chat/meta з HMAC-SHA256 верифікацією)
  • Web Push для PWA — alert-style на новий чат (звук + вібрація + requireInteraction), silent на коментарі. Працює навіть із закритим додатком (FCM/APNS)
  • Кастомні webhook-кнопки в чаті: метод (GET/POST/PUT/PATCH/DELETE), Content-Type (JSON/form/XML/text), Basic/Bearer auth, кастомні headers, шаблонні змінні в URL і тілі, SSRF-захист, audit-trail
  • Мультикнопки (групи): кнопки з однаковою назвою групи зʼявляються в одному dropdown — компактний UI
  • @-згадки в коментарях з autocomplete + авто-додавання згаданих техніків як співвиконавців
  • Повна історія змін заявки (audit log) з timeline-стилем: іконки, українські лейбли полів, diff old → new для дат, статусів, пріоритетів
  • Поле Ticket.createdById з backfill — видно «Створив» на кожній заявці
  • REST API tester на /docs/api-docs.html — пресети для всіх ендпойнтів, реальні запити з браузера, ключ зберігається тільки в RAM
  • AI оновлено: GPT-5.5 + GPT-5.5 Pro у dropdown OpenAI, обовʼязкове привітання на першому повідомленні
  • Безпека Phase 1+2: tenant scoping всіх /api/*, SSRF guards, timing-safe compare, webhook signatures (Telegram secret_token, Viber HMAC, Meta X-Hub-Signature-256), rate limit /api/auth, OWASP ZAP automation
  • Headers: HSTS preload, повна CSP (frame-ancestors / form-action / base-uri / object-src 'none'), прибрано X-Powered-By
  • Видалено CVE: xlsx → exceljs (prototype pollution)
  • Кастомний фільтр «Сьогодні» в Статистиці чатів (TZ Europe/Kyiv)
  • «Мій маршрут» — вибір дати (сьогодні/завтра/N днів вперед) для планування заздалегідь
  • Хрестик ✕ у полях пошуку (Контакти, Заявки, Чати, Обʼєкти, Обладнання, БЗ)
  • DevOps: єдиний deploy.sh з auto-rollback + health-check, очищення stale Prisma advisory lock, auto-backup commit на GitHub після кожного успішного деплою
v5.4.0

v5.4 (квітень 2026) — мультибот, AI-прогнози, глобальний пошук, мерж контактів

  • AI Підказки — Прогнозування ТО: «Ризикові моделі» на основі ≥3 поломок тієї самої моделі на об'єкті за 6 міс + ETA наступної поломки
  • Глобальний пошук — заявки, об'єкти, контакти, обладнання, номенклатура, база знань, користувачі
  • Кілька Telegram/Viber ботів одночасно (multi-bot setup): кожен webhook URL містить channelId для роутингу
  • Кнопка «Вимкнути/Увімкнути бота» без видалення, auto-delete webhook у TG/Viber
  • Мерж контактів при shared-phone: якщо номер вже є — сесія прив'язується до існуючого контакту, stub видаляється, оператор бачить 🔗
  • Detect номера в тексті (10+ digits) як share-phone; запит ідентифікації тільки 1 раз/сесію
  • Автозакриття старих open-сесій при створенні нової для того ж externalId
  • Viber delivered/seen events: правильне ✓ / ✓✓ / ✓✓ синє
  • Polling видаленого чату зупиняється при 404, tab автоматично видаляється
  • Open таби чатів зберігаються в localStorage між оновленнями сторінки
  • Розсилки — вибір конкретного бота, повний лог надсилання з errorMessage
  • SLA-check → notifyChatUsers замість notifyAdmins (індивідуальні Telegram кожному з chatAccess)
  • Cron bot-health-check кожні 10 хв: getMe + webhook URL → alert якщо webhook чужий
  • Контакти — при видаленні Viber/TG ID також чиститься customFields.chat_id_*
  • Tenant backfill — null tenantId → 1 для legacy даних IT CITY (organizations, stores, contacts, tickets)
v5.3.0

v5.3 — Єдиний каталог номенклатури, контракти, інтеграція з 1С/BAS

  • Номенклатура: об'єднаний каталог (1С + CRM) з фільтром джерела, значками 1С/CRM, категорії-дерево, пошук по артикулу/штрихкоду
  • Міграція матеріалів та інструментів у єдиний каталог (source=LOCAL)
  • Залишки: склад фірми + по техніках, автосписання при використанні в заявках, звіт з фільтрами та CSV експортом
  • Типи цін: імпорт з BAS через OData + локальні типи, мапінг LOCAL→BAS, inline редагування
  • Контракти обслуговування: RecurringItem з isContract, SLA-годинами, дата початку/кінця, покриття об'єктів
  • Звіт SLA: лічильники "дотримано/порушено/% виконання" для контрактних заявок
  • Автобілінг: щомісячне ідемпотентне нарахування контрактних платежів у касу
  • Клієнтське обладнання: поле ownership (COMPANY/CLIENT), зв'язок з організацією-власником
  • Bulk дії обладнання: групова зміна власника / переміщення / видалення
  • Перевід в облік: з номенклатури створюється Equipment з серійником та прив'язкою до об'єкта
  • Корзина для витратних матеріалів у заявці + сканер штрихкодів (BarcodeDetector API)
  • 1С/BAS інтеграція (OData):
    • Синхронізація довідника номенклатури та категорій
    • Завантаження видів цін + актуальних цін (автовизначення назв полів у регістрі)
    • Webhook створення заявок з замовлень BAS
    • Створення замовлень покупця в BAS з заявки CRM (POST Document_ЗаказПокупателя)
    • Зворотний webhook — отримання матеріалів при закритті заявки
    • Зовнішня обробка .epf для BAS: фільтри станів замовлень, повідомлення з маркерами [ДОДАНО]/[ЗМІНЕНО]/[ВИДАЛЕНО], збереження періоду між сесіями
  • Світла тема — comprehensive CSS overrides для читабельності кольорових бейджів
  • Deploy scripts — preserve production під час staging build
v5.2.0

Multi-tenant SaaS, Білінг, Розсилки, Import/Export

  • Multi-tenant SaaS архітектура з 10 галузевими шаблонами
  • LiqPay/WayForPay білінг з автоблокуванням прострочених тенантів
  • Telegram/Viber масові розсилки з фільтрами
  • CSV Import/Export для контактів, обладнання, організацій
  • Шаблони заявок для швидкого створення
  • Планове ТО: автоматичне створення заявок за розкладом
  • API документація та Webhook система
  • Реферальна/партнерська програма
  • Onboarding tour для нових користувачів
  • Error tracking та клієнтське логування помилок
  • PM2 моніторинг + автоматичні бекапи
  • SLA алерти з Telegram-сповіщеннями
  • Обмеження максимум 2 сесії на користувача
  • Custom domain для Enterprise-плану
🔜

В розробці (наступний спринт)

Заплановані функції та покращення для найближчих релізів

Функціонал

🐛 Sentry інтеграція Високий
Інтеграція з Sentry для розширеного відстеження помилок, performance monitoring та alerting.
Моніторинг
📦 Nova Poshta API Високий
Створення ТТН прямо з заявки на повернення обладнання. Трекінг доставки в картці заявки. Друк наклейок.
Інтеграції
💬 WhatsApp Business (5-й канал чату) Високий
Розширення нашого Meta-webhook (Messenger/Instagram) на WhatsApp. Pre-approved templates для outbound >24год.
Чати
Трекінг часу на заявках Високий
Таймер start/stop у заявці + годинні ставки в User.hourlyRate. Базис для billing'у годинних послуг.
Заявки
Рейтинг задоволеності клієнтів Високий
Оцінка якості обслуговування клієнтами після закриття заявки з аналітикою.
Клієнти
🌐 Клієнтський портал (magic link) Високий
Подача заявки клієнтом через magic link без реєстрації. Відстеження статусу.
Клієнти
🧾 PDF-інвойси Середній
Генерація PDF-рахунків на оплату з реквізитами та деталізацією послуг.
Фінанси
🌍 Мультимовність (UK/EN/PL) Середній
Підтримка кількох мов інтерфейсу: українська, англійська, польська.
Платформа
📱 Мобільний додаток (React Native) Середній
Нативний мобільний додаток для iOS та Android з повним функціоналом техніка.
Мобільний
💰 Бюджетне планування Середній
Планування та контроль бюджету по категоріях, прогнозування витрат та доходів.
Фінанси
🛡 Облік гарантій обладнання Середній
Відстеження гарантійних термінів обладнання, сповіщення про закінчення гарантії.
Інвентар
💡

Ідеї на майбутнє

Довгострокові плани та концепції для подальшого розвитку платформи

📦 Nova Poshta API Високий
Створення ТТН прямо із заявки на повернення обладнання, трекінг доставки в картці заявки, друк наклейок. Безкоштовний API НП.
Інтеграції
💬 WhatsApp Business Високий
5-й канал у чат-інбоксі через Meta Cloud API. Templates pre-approved Meta для outbound >24год. Розширення нашого вже існуючого Meta-webhook (Messenger/Instagram).
Чати
Time tracking + годинні ставки Середній
Старт/стоп таймер у заявці, годинні ставки в User.hourlyRate, авто-звіт «людино-годин на місяць». Базис для billing'у годинних послуг.
Фінанси
💳 MonoBank / Privat24 statement API Середній
Автопідтягування платежів від клієнтів та звʼязка з інвойсами. Економія ~30 хв/день у бухгалтера.
Фінанси
👥 Customer portal Середній
Вузький інтерфейс для клієнтів через magic-link: бачать свої заявки, історію виконаних робіт, рахунки. Без реєстрації, просто URL з email.
Клієнти
📝 Recurring tickets Середній
Договір ТО → авто-створення заявки 1× на місяць. Аналог фінансового RecurringItem для заявок.
Заявки
Vchasno EDM + ЕЦП Diia.Signature Низький
Електронний документообіг + підписання договорів обслуговування ЕЦП прямо в CRM.
Інтеграції
📲 Live-трекінг для клієнта Низький
У клієнтському порталі — карта з позицією техніка в дорозі (Google Maps + GPS-фідер з PWA техніка).
Клієнти
🤖 AI-маршрутизація заявок Низький
Інтелектуальне призначення заявок на основі навичок техніка, локації та завантаженості.
AI
💬

Повідомити про помилку або побажання

Знайшли баг? Є ідея для нового функціоналу? Напишіть нам!