Документация
Руководство пользователя
Текст открывается прямо на демо — без перехода в GitHub.
Полное руководство по использованию системы управления сервисным центром Nika CRM.
Версия: 3.1
Последнее обновление: 2026-08-08
Соответствие UI: меню и названия как в текущем интерфейсе (navbar + левый сайдбар).
Пошаговый сценарий рабочего дня (вход → заявка → оплата → ЗП → касса):
USER_WALKTHROUGH.md
Содержание
- Введение
- Установка и первый вход
- Обзор интерфейса
- Дашборд
- Заявки
- Клиенты и устройства
- Склад
- Магазин
- Касса и финансы
- Счета (юрлица и ИП)
- Зарплата
- Отчёты
- Настройки
- Уведомления CRM
- Чат сотрудников
- Глобальный поиск
- Клиентский портал
- Мобильный доступ и PWA
- Права доступа и безопасность
- Советы и FAQ
- Приложения
Отдельно: пошаговый walkthrough рабочего дня.
1. Введение
Nika CRM — веб-система для сервисного центра: заявки на ремонт, клиенты и устройства, склад и закупки, касса, магазин, зарплата, отчёты, внутренний чат и личный кабинет клиента.
Для кого документ
| Роль | Что читать в первую очередь |
|---|---|
| Администратор | §§ 2, 3, 12, 18 |
| Менеджер / приёмщик | §§ 5, 6, 9, 13, 14 |
| Мастер | §§ 5, 10, 14 |
| Кладовщик | § 7 |
| Клиент (портал) | § 16 |
Рабочая база данных — только PostgreSQL. SQLite в проекте — наследие, не используйте его для новой установки.
Публичная демонстрация: https://demo.nika-sc.ru/ (откроется в новой вкладке).
Исходники OSS: github.com/nika-sc/Nika-Service-CRM (откроется в новой вкладке).
2. Установка и первый вход
2.1. Быстрый старт с PostgreSQL (дамп)
- Создайте БД PostgreSQL (например,
nikacrm). - Импортируйте
database/bootstrap/nikacrm_public_sanitized.sql(подробности — database/bootstrap/README.md). - В
.envукажите:env DB_DRIVER=postgres DATABASE_URL=postgresql://USER:PASSWORD@localhost:5432/nikacrm - Установите зависимости (
pip install -r requirements.txt) и запустите (python run.pyили Docker).
В актуальном bootstrap уже отмечены миграции PostgreSQL 001–014 (включая staff chat, pins, demo visitors и счета B2B + связи каталога). После импорта при старте приложения обычно не остаётся неприменённых SQL-миграций из комплекта дампа. Если в репозитории появились более новые файлы в postgres_versions/, они применятся при следующем запуске (run_migrations.py / Docker entrypoint / linux_upgrade.sh).
2.2. Вход в CRM
- Откройте адрес системы (локально обычно
http://127.0.0.1:5000). - Введите логин и пароль → Войти.
- На демо/лендинге вход может открываться модальным окном на главной странице.
Демо-учётки OSS / Windows SETUP (пароль для всех — 111111):
| Логин | Назначение |
|---|---|
admin |
Полный доступ |
manager |
Менеджер |
master |
Мастер |
viewer |
Только просмотр |
Смените пароли перед реальной эксплуатацией.
На публичном демо-VPS могут быть отдельные учётки (например, demo_admin) — смотрите текст на лендинге демо-сайта. Это доступ только к демо-базе CRM, не к SSH/ОС сервера.
2.3. Автономная установка на Windows
Офлайн-установщик для Windows 10/11 x64 (встроенные Python 3.12, PostgreSQL 18, демо-база), версия 1.0.5, дата сборки 2026-08-08:
- Скачайте NikaCRM-Offline-Setup-1.0.5-x64.exe (откроется в новой вкладке)
или зеркало на demo.nika-sc.ru/downloads/… (откроется в новой вкладке). - Запустите от имени администратора.
- Ярлык Nika CRM — Открыть →
http://127.0.0.1:5000. С другого ПК в LAN:http://<IP-этого-ПК>:5000(доступ из сети включён по умолчанию; смените демо-пароли). - Войдите демо-учёткой и смените пароль.
Что нового в 1.0.5: LAN из коробки; SMTP — «От кого» совпадает с логином (демо noreply@example.com больше не ломает Mail.ru); подсказки в Настройках → Почта; правки квитанций и предварительной стоимости. См. § 13.5 и блог windows-setup-1-0-5.
SHA256: FE821D4A86FC5B86C07A8E1FC8BB7265FBE25495CC7BCEAD6CA50FB08A283B7D
Пароль PostgreSQL для pgAdmin — не 111111 (это только демо-логины CRM). Установщик генерирует случайные пароли. Ярлык Nika CRM — Пароль базы данных или скрипт packaging/windows/show-db-credentials.ps1 (нужны права администратора). Данные: %ProgramData%\NikaCRM\installer\install-state.json и DATABASE_URL в %ProgramData%\NikaCRM\.env.
Если CRM не открывается с другого ПК: ярлык Nika CRM — Доступ по сети (LAN) / enable-lan-access.ps1.
Страница релиза: windows-setup-1.0.5 (откроется в новой вкладке).
Поддержка: smelkov2008@yandex.ru, nika-sc@bk.ru, Telegram (откроется в новой вкладке).
2.4. Типичные проблемы входа
| Симптом | Что проверить |
|---|---|
| Страница не открывается | Сервис запущен? Порт 5000 / nginx? HTTPS у провайдера иногда «зависает» — попробуйте другую сеть / HTTP |
| «Неверный логин/пароль» | Раскладка, Caps Lock, правильная учётка для этой среды |
| Пустой экран после входа | Права роли: у viewer мало разделов — это нормально |
| 502 Bad Gateway | Не запущен gunicorn / приложение за nginx |
3. Обзор интерфейса
После входа вы видите:
- Верхняя шапка — широкий поиск, уведомления; разделы CRM не дублируются в шапке.
- Левый узкий сайдбар — Заявки, Клиенты, Склад, Магазин, Касса, Счета, Отчёты, Зарплата, Настройки + Профиль (выход) + Чат.
- Рабочая область — страница текущего раздела.
Пункты меню зависят от прав вашей роли. Если раздела нет — его не выдали в настройках прав.
3.1. Соответствие названий меню
| В UI | URL (ориентир) |
|---|---|
| Заявки → Список заявок | /all_orders |
| Заявки → Новая заявка | /add_order |
| Клиенты → База клиентов | /clients |
| Склад → Товары / Инвентаризация / Закупки / Движения / Поставщики / Логи | /warehouse/... |
| Магазин → Продажи | /shop |
| Касса → Движение денег / Прибыль / Аналитика / Категории | /finance/... |
| Счета → Реестр / Настройки | /invoices/... |
| Отчёты → Сводный, Сводка дня, … | /reports/... |
| Зарплата → Дашборд | /salary |
| Настройки | /settings |
| Портал | /portal/... |
| Чат (левый сайдбар) | панель поверх страницы |
3.2. Профиль и выход
Внизу левого сайдбара: Профиль → выпадающее меню → Выход (и при наличии прав — ссылка на настройки).
3.3. Тема оформления
В интерфейсе доступны темы оформления (в т.ч. тёмная) — переключатель зависит от сборки/настроек шаблона. Тема влияет только на внешний вид, не на данные.
3.4. Мобильное меню
На узком экране (≤768px) левый сайдбар скрыт. В шапке слева — кнопка гамбургер: открывается выезжающее меню с теми же разделами (Заявки, Клиенты, Склад, Магазин, Касса, Счета, Отчёты, Зарплата, Настройки, Чат, Выход). На широком экране пользуйтесь левым сайдбаром.
4. Дашборд
Где: иконка Nika CRM / главная / (для авторизованного сотрудника).
Обычно показывает сводные виджеты: заявки, финансы, быстрые ссылки. Набор блоков зависит от прав. Если включён публичный лендинг и вы не авторизованы — на / открывается промо-страница, а не дашборд.
5. Заявки
Права: view_orders / create_orders / edit_orders / delete_orders (и связанные).
5.1. Создание заявки
- Заявки → Новая заявка (
/add_order). - Укажите клиента (поиск или создание), устройство, неисправность, мастера — по полям формы.
- Внешний вид и комплектация — одно поле с тегами (в квитанции тоже одна строка).
- При необходимости укажите предварительную стоимость (оценка для клиента, печатается в квитанции; в кассу не уходит) и предоплату / способ оплаты.
- Сохраните.
Совет: модель устройства часто поддерживает автоподстановку; новые значения могут создаваться при сохранении.
5.2. Список заявок
Заявки → Список заявок (/all_orders).
Возможности (в зависимости от версии UI):
- режимы реестр / канбан / журнал;
- фильтры по статусу, мастеру, дате, поиску;
- настройка колонок;
- быстрая смена статуса из таблицы;
- переход в карточку заявки.
5.3. Закрепление заявок (pins)
В списке заявок можно закрепить заявку (иконка/кнопка «Закрепить» / «Открепить»).
- Закрепления общие для всех сотрудников (глобальные
order_pins). - Закреплённые заявки обычно поднимаются вверх списка, чтобы важные заказы не терялись.
Нужны права на работу с заявками; точная видимость кнопки — как в текущем UI списка.
5.4. Карточка заявки
Откройте заявку из списка (/order/<id>). Типичные блоки:
| Блок | Назначение |
|---|---|
| Шапка / статус | Смена статуса, печать, основные действия |
| Клиент и устройство | Контакты, техника |
| Услуги | Работы по прайсу |
| Запчасти | Со склада; списание при добавлении |
| Оплаты | Приём оплаты, возвраты, выставление счёта юрлицу |
| Комментарии | Внутренние и/или для истории |
| Задачи / дедлайны | Контроль работ (если включено) |
Полное редактирование заявки (карандаш) при статусе с флагом «запрет редактирования» или финальном статусе недоступно — сначала смените статус на рабочий. Исключение: смена мастера и менеджера (§ 5.4.1).
5.4.1. Смена мастера и менеджера (в т.ч. закрытая заявка)
Нужно, когда заявка уже проведена / закрыта, зарплата начислена, но исполнителя указали ошибочно (или мастер сменился).
- Откройте карточку заявки.
- В шапке рядом с заблокированной кнопкой редактирования нажмите «Сменить исполнителей» (иконка двух человек).
- В окне доступны только поля Менеджер и Мастер — выберите нужных и сохраните.
- Система: - записывает новых исполнителей в заявку; - если по заявке уже есть начисления зарплаты, переносит их на нового мастера/менеджера (суммы сохраняются, повторно закрывать заявку не нужно); - в блоке зарплаты на карточке и в отчётах ЗП фигурирует новый сотрудник.
На открытой заявке ту же смену можно сделать через обычное «Редактировать» — при сохранении начисления также переносятся, если сменили мастера или менеджера.
Права: нужно право редактирования заявок (edit_orders). Полное редактирование остальных полей закрытой заявки по-прежнему требует смены статуса.
| Ситуация | Что делать |
|---|---|
| Закрыта, нужно только сменить мастера/менеджера | «Сменить исполнителей» |
| Закрыта, нужно править услуги/цены | Сначала откройте статус без blocks_edit |
| ЗП уже выплачена старому сотруднику | Перенос начисления меняет «кому начислено»; выплаты вручную согласуйте с бухгалтерией |
5.5. Смена статуса
- На карточке или в списке нажмите кнопку текущего статуса.
- Выберите новый статус.
- Дождитесь уведомления об успехе.
Набор статусов настраивается в Настройки → Статусы заявок. У статуса могут быть флаги (например, «начисляет зарплату»): при первом переходе в такой статус зарплата по заявке начисляется один раз (повторное «закрыл → открыл → закрыл» не должно дублировать начисление).
5.6. Услуги и запчасти
Услуги: «Добавить услугу» → выбрать из справочника → количество/цена → добавить.
Запчасти: поиск по названию/артикулу → количество → добавить. Количество списывается со склада. Если остатка нет — система сообщит об ошибке.
5.7. Оплаты, возвраты, депозит
Добавить оплату
- Раздел Оплаты на карточке заявки.
- Сумма, способ (наличные / карта / перевод и т.д.), комментарий.
- Добавить — создаётся кассовая операция (при обычной оплате).
Прогресс оплаты ограничен 100% (переплата в прогресс не «раздувает» процент).
Возврат оплаты (обычно права менеджера/финансов):
- У оплаты нажмите Возврат.
- Сумма ≤ остатка оплаты, причина обязательна.
- Создаётся возвратный платёж и расход в кассе.
Депозит клиента ведётся в карточке клиента (кошелёк). В интерфейсе заявки депозитные операции могут быть ограничены/отключены — используйте карточку клиента и кассу по актуальному UI.
5.8. Комментарии и задачи
- Комментарии: внутренние пометки; часть из них не попадает в печатные квитанции клиенту (так и помечено в форме).
- Задачи/дедлайны: создавайте сроки работ, отмечайте выполнение (если модуль доступен в вашей сборке).
5.9. Печать документов
На карточке заявки доступны:
- Квитанция клиенту;
- Товарный чек;
- Акт выполненных работ.
Шаблоны HTML настраиваются в Настройки → Формы для печати.
Печать при закрытии заявки задаётся параметром close_print_mode в настройках:
| Режим | Поведение |
|---|---|
choice |
Показать выбор (чек / акт / оба) |
sales_receipt |
Сразу товарный чек |
work_act |
Сразу акт |
both |
Сразу оба |
none |
Не печатать автоматически |
5.10. Скрытие заявки
Если в UI есть действие «скрыть» — заявка убирается из обычного списка без физического удаления. Удаление (если разрешено правом delete_orders) — необратимее; уточняйте политику компании.
5.11. Частые ошибки
| Проблема | Решение |
|---|---|
| Нет кнопки «Новая заявка» | Нет права create_orders |
| Не списывается запчасть | Нет остатка / нет права склада |
| Не меняется статус | Нет права редактирования / статус удалён из справочника |
| Нельзя открыть «Редактировать» на закрытой заявке | Статус с запретом редактирования — для смены мастера/менеджера используйте «Сменить исполнителей» |
| ЗП осталась у старого мастера после смены | Обновите страницу; если меняли не через «Сменить исполнителей» / сохранение формы — повторите смену |
| Не печатается шаблон | Не заполнен HTML в «Формах для печати» |
6. Клиенты и устройства
Права: view_customers (+ права на создание/редактирование по ролям).
6.1. База клиентов
Клиенты → База клиентов (/clients): поиск, фильтры, переход в карточку.
6.2. Карточка клиента
- Контакты, комментарии;
- тип клиента: физлицо / ИП / юрлицо (ИНН, КПП, юр. адрес; кнопка «По ИНН» при настроенном DaData);
- список устройств и заявок;
- кошелёк / депозит (пополнение, история);
- пароль доступа в клиентский портал (если выдаёте ЛК).
6.3. Создание и редактирование
- Создайте клиента из базы или прямо из формы новой заявки.
- Редактирование — в карточке клиента → сохранить.
- Устройство: добавьте к клиенту (тип, бренд, модель, серийный номер и т.д.).
6.4. История устройства
Из карточки устройства / клиента откройте историю ремонтов — все связанные заявки.
7. Склад
Права: view_warehouse / manage_warehouse.
7.1. Товары
Склад → Товары (/warehouse/parts или /warehouse):
- список, поиск, остатки, цены;
- создание / редактирование карточки товара;
- оприходование и списание (с причиной);
- удаление / восстановление (если предусмотрено).
7.2. Категории товаров
Управление категориями — из раздела склада или связанных экранов списка товаров (по текущему UI).
7.3. Закупки
Склад → Закупки (/warehouse/purchases) — рабочий журнал закупок у поставщиков:
- Создайте закупку, укажите поставщика и позиции.
- Проверьте количества и суммы.
- Завершите (complete) — товары поступят на склад; финансовые последствия зависят от настроек/кассы.
Отчёт по закупкам смотрите также в Отчёты → Закупки (/reports/purchases).
7.4. Движения и логи
- Движения — журнал приходов/расходов по складу.
- Логи склада — детальный аудит действий.
7.5. Поставщики
Склад → Поставщики: справочник контрагентов для закупок.
7.6. Инвентаризация
Склад → Инвентаризация:
- Создайте сессию инвентаризации.
- Внесите фактические количества.
- Зафиксируйте расхождения (оприходование/списание по результату).
7.7. Частые ошибки
| Проблема | Решение |
|---|---|
| Отрицательный остаток | Проверьте списания в заявках и магазине |
| Закупка не двигает склад | Не завершена / ошибка валидации позиций |
| Нет пункта «Закупки» | Нет прав склада или старая роль без пункта меню |
8. Магазин
Права: view_shop / manage_shop.
Магазин → Продажи (/shop) — быстрые продажи без полноценной «заявки на ремонт»:
- Добавьте товары в чек.
- Укажите оплату.
- Проведите продажу — списание со склада + касса.
- При необходимости распечатайте товарный чек (шаблон из настроек).
История и детали продажи — в том же разделе магазина.
9. Касса и финансы
Права: view_finance / manage_finance.
В верхнем меню раздел называется «Касса» (не «Финансы»).
9.1. Движение денег
Касса → Движение денег (/finance/cash):
- приходы и расходы;
- переводы между кассами/счетами (если настроено);
- связь с документами: «Заявка #…», «Чек #…»;
- фильтр периода (кнопки «Месяц», «Прошлый месяц» и др.) и фильтр по статье (например «Обед»);
- блок «Итого по статьям за период» — суммы и число операций; клик по строке открывает операции этой статьи;
- при выбранной статье в шапке показывается сумма за период.
9.2. Прибыль и аналитика
- Касса → Прибыль (
/finance/profit); - Касса → Аналитика (
/finance/analytics).
Дополнительно аналогичные срезы есть в Отчётах.
9.3. Категории (статьи)
Касса → Категории или Настройки → Статьи доходов и расходов (/finance/categories):
- доходы / расходы;
- часть категорий системные — их нельзя удалить, только править название/описание.
9.4. Дисциплина кассы
- Все оплаты по заявкам и магазину проводите через интерфейс — тогда отчёты сходятся.
- Ручные операции помечайте понятным комментарием.
- Возвраты оформляйте через «Возврат», а не «минус вручную без связи».
10. Счета (юрлица и ИП)
Права: view_invoices / manage_invoices / mark_invoice_paid.
Раздел Счета в левом сайдбаре — реестр счетов на оплату для клиентов ИП и юрлиц (/invoices).
10.1. Реквизиты и шаблоны
Счета → Настройки (/invoices/settings):
- банк, БИК, р/с, к/с, КПП, юр. адрес, ФИО руководителя/бухгалтера;
- логотип, подпись и печать (URL или загрузка файла);
- размеры в печати (px): макс. ширина/высота логотипа, подписи и печати;
- опциональный токен DaData для автозаполнения по ИНН (без ключа — только ручной ввод).
Ниже на той же странице — Формы для печати счетов (три блока):
| Документ | Назначение |
|---|---|
| Счёт на оплату | Банковская шапка, позиции, сумма прописью |
| Акт выполненных работ | В печати — строки-услуги |
| Товарная накладная (ТОРГ-12) | В печати — только товары (line_type=part), без услуг |
У каждого шаблона: визуальный редактор TinyMCE, кнопки Теги, Предпросмотр, Сохранить шаблон. Теги вида ##DOC_NUMBER##, ##BUYER_FULL##, цикл data-for="ITEMS" (##N##, ##TITLE##, ##QTY## …).
Печать открывается через карточку счёта и использует формат A4 и поля из Настройки → Формат печати / Поля печати (мм) — как квитанции по заявкам. Рамки таблиц и лимиты картинок задаёт страница печати; если в старом счёте битый URL подписи/печати, подставляются файлы из текущих настроек.
Два режима печати (счёт / акт / накладная):
| Режим | Кнопка на карточке | Что на бланке |
|---|---|---|
| С электронной подписью и печатью | Счёт / Акт / Накладная | Картинки из настроек |
| Для живой печати | жив. рядом с каждой кнопкой | Без картинок подписи и печати; линии подписи остаются, логотип сохраняется |
На странице предпросмотра можно переключить режим: «С подписью и печатью» ↔ «Для живой печати» (?blank_signs=1).
10.2. Клиент ИП / юрлицо
В Клиенты укажите тип «ИП» или «Юрлицо», ИНН и реквизиты (кнопка «По ИНН», если настроен DaData).
10.3. Выставление счёта
- Из карточки заявки → Выставить счёт (выбор услуг/товаров) — или Счета → Новый счёт.
- В ручном счёте клиент и позиции ищутся из базы; товары обязательно выбирайте из каталога (иначе при оплате склад не спишется).
- Счёт создаётся со статусом Не оплачен и не уменьшает долг заявки, пока не отмечен оплаченным.
- Печать: счёт / акт (услуги) / накладная (товары). Рядом кнопка жив. — бланк без электронных подписи и печати (для живого проставления). Комментарий счёта может попасть в блок «основание» на бланке счёта.
10.4. Оплата счёта
Отметить оплаченным (mark_invoice_paid) — два разных пути:
| Как выставлен счёт | Что происходит при «Оплачен» |
|---|---|
Из заявки (order_id есть) |
Оплата transfer / captured в заявке, долг заявки пересчитывается, закрытие и ЗП — как обычно. |
| Без заявки (реестр / новый счёт) | Создаётся продажа магазина: приход в кассу и списание товаров со склада. На карточке счёта показывается алерт «проведён без заявки и ушёл в магазин» со ссылкой на продажу. |
Важно:
- счёт без заявки не создаёт запись в
paymentsзаявки и не влияет на ЗП по заявке; - товары в таком счёте должны быть выбраны из каталога (есть привязка к складу);
- если старый счёт уже «Оплачен», но склад не списался — кнопка Допровести склад/кассу.
Пока счёт по заявке не оплачен, заявку с долгом и статусом с начислением ЗП закрыть нельзя — как и раньше.
10.5. Поиск по телефону
Глобальный поиск в шапке находит клиентов и заявки по номеру с ведущей 8, 7, +7 или без кода (10 цифр).
11. Зарплата
Права: salary.view (+ права отчётов при необходимости).
10.1. Дашборд зарплаты
Зарплата → Дашборд зарплаты (/salary):
- начисления по сотрудникам/периоду;
- правила и статусы (зависят от настройки статусов заявок и ролей).
10.2. Отчёты по зарплате
- Зарплата → Отчёт по зарплате или Отчёты → Зарплата (
/reports/salary); - Отчёты → Долги по зарплате (
/reports/salary-debts).
10.3. Личный кабинет сотрудника по зарплате
При наличии маршрутов вида /salary/employee/<id>/<role> сотрудник/руководитель может смотреть детализацию начислений. Доступ ограничен правами.
10.4. Важно про статусы
Зарплата по заявке обычно начисляется при переходе в статус с флагом «начисляет зарплату» один раз. Не «дёргайте» статус туда-сюда без необходимости.
10.5. Смена мастера/менеджера после начисления
Если исполнителей нужно поменять уже после начисления — используйте на карточке заявки «Сменить исполнителей» (§ 5.4.1). Начисления переносятся на нового сотрудника; это не то же самое, что принудительный пересчёт через /api/salary/recalculate/<order_id> (пересчёт заново считает суммы по правилам).
12. Отчёты
Права: view_reports (отдельные отчёты могут требовать доп. прав).
Откройте Отчёты в левом сайдбаре (на телефоне — через гамбургер-меню). Внутри страниц отчётов — боковое меню.
Кнопки периода («Месяц», «Прошлый месяц» и др.) задают date_from / date_to. Если даты перепутаны, сервер меняет их местами, чтобы отчёт не оказался пустым.
12.1. Карта отчётов
| Пункт меню | URL | Зачем |
|---|---|---|
| Сводный | /reports/dashboard |
Общая картина |
| Сводка дня | /reports/day |
Оперативка за день (директор/управляющий) |
| Прибыль | /reports/profit |
Прибыльность |
| Товары и Услуги (аналитика) | /reports/analytics |
Срезы по товарам/услугам |
| Касса | /reports/cash |
Движения денег |
| Продажи | /reports/sales |
Продажи |
| Закупки | /reports/purchases |
Анализ закупок |
| Маржинальность | /reports/profitability |
Маржа |
| Статьи | /reports/categories |
По статьям Д/Р |
| Клиенты | /reports/customers |
Клиентская аналитика |
| Остатки | /reports/stock |
Складские остатки |
| Журнал заявок | /reports/orders-log |
История изменений заявок |
| Логи действий / Журнал действий | /reports/action-logs |
Аудит действий пользователей |
| Зарплата | /reports/salary |
ФОТ |
| Долги по зарплате | /reports/salary-debts |
Задолженности |
| Демо: онлайн | /reports/demo-visitors |
Только если включён DEMO_VISITOR_STATS и вы admin |
11.2. Как пользоваться отчётом
- Выберите период и фильтры.
- Дождитесь пересчёта.
- При необходимости экспортируйте (если кнопка есть в UI).
11.3. Демо-статистика посещений
На демо-стенде с DEMO_VISITOR_STATS=1:
- в navbar у admin может быть чип «Онлайн: N»;
- отчёт Демо: онлайн показывает сессии, IP, логины;
- онлайн считается по браузеру (не по одному логину
demo_admin): Chrome + Firefox = 2 онлайн.
В обычном продовом контуре этот блок отсутствует.
13. Настройки
Права: в основном manage_users / manage_settings / manage_statuses / роль admin.
Откройте Настройки. Слева — сайдбар разделов.
12.1. Карта настроек
| Пункт | Назначение |
|---|---|
| Общие настройки | Организация, параметры системы, режим печати при закрытии и др. |
| Статусы заявок | Справочник статусов и флаги |
| Формы для печати | HTML квитанции, товарного чека, акта |
| Статьи доходов и расходов | Ссылка на /finance/categories |
| Данные об устройстве | Справочники типов/брендов/моделей |
| Услуги | Прайсовые услуги |
| Сотрудники | Учётки сотрудников (/settings/employees) |
| Права пользователей | Индивидуальные права (/settings/user-permissions, admin) |
| Права доступа | Матрица прав |
| Роли | Ролевая модель |
| Уведомления сотрудникам | Триггеры для staff |
| Уведомления клиентам | Сообщения клиентам / портал |
| Уведомления директору | Дайджесты/алерты руководителю |
12.2. Статусы
Настройте цвета, порядок, флаги (закрывающая, начисляет зарплату и т.д.). Неудаление используемых статусов может быть ограничено системой.
12.3. Формы для печати
Редактируйте HTML-шаблоны и теги полей (список тегов показан на странице настроек). После правок проверьте печать на тестовой заявке.
12.4. Сотрудники и права
- Создайте сотрудника, задайте роль и пароль.
- При необходимости уточните права в Права пользователей / Права доступа.
- Права
manage_usersи управление критичными настройками оставляйте только админам.
13.5. Почта (SMTP)
Блок Настройки → Общие настройки → Почта (SMTP) (/settings#mail-smtp).
Отсюда CRM шлёт письма клиентам, директору и тестовые сообщения. На Windows Offline обычно достаточно этой формы — переменные MAIL_* в .env не обязательны.

Что заполнять
| Поле | Что писать | Пример (Mail.ru / BK.ru) |
|---|---|---|
| SMTP-сервер | Хост провайдера | smtp.mail.ru |
| Порт | Обычно 587 | 587 |
| TLS | Для порта 587 | вкл. |
| SSL | Для порта 587 | выкл. |
| Логин (email) | Полный email ящика | you@bk.ru |
| Пароль | Пароль приложения, не обычный пароль сайта | (из настроек ящика) |
| От кого | Имя <тот же email, что логин> или пусто |
Nika CRM <you@bk.ru> |
| Таймаут | Секунды ожидания SMTP | 3–10 |

Главная ошибка: «От кого» ≠ логин
Логин и адрес отправителя — разные поля. В демо-базе часто лежит:
Nika CRM Demo <noreply@example.com>
Если вы поменяли только логин на реальный ящик, а «От кого» оставили демо — Mail.ru ответит:
550 not local sender over smtp / noreply@example.com

Как исправить: в «От кого» укажите тот же email, что в логине (можно с отображаемым именем), или очистите поле и сохраните. В актуальной версии CRM демо-отправитель при отправке игнорируется и подставляется логин; всё равно лучше поправить поле в настройках.
Провайдеры (кратко)
| Провайдер | Сервер | Порт / флаги | Пароль |
|---|---|---|---|
| Mail.ru / BK.ru | smtp.mail.ru |
587, TLS вкл., SSL выкл. | пароль приложения Mail.ru |
| Яндекс | smtp.yandex.ru |
587, TLS вкл., SSL выкл. | пароль приложения |
| Gmail | smtp.gmail.com |
587, TLS вкл. | пароль приложения Google |
Проверка
- Сохраните общие настройки.
- Укажите email директора (блок уведомлений директору) и отправьте тестовое письмо.
- Если письма нет — смотрите лог службы (
not local sender, отказ аутентификации, таймаут).
Подробности и FAQ также в статье блога: /blog/smtp-mail-setup. На сервере Linux те же поля можно задать через MAIL_* в .env (см. DEPLOY.md).
14. Уведомления CRM
- Колокольчик в правом верхнем углу navbar — список непрочитанных.
- Отметить все как прочитанные / ссылка Все уведомления.
- Типы и каналы настраиваются в § 12 (три раздела уведомлений).
Не путайте колокольчик CRM с кнопкой 🔔 в шапке чата сотрудников (это уведомления браузера о сообщениях чата).
15. Чат сотрудников
Внутренний мессенджер для команды.
14.1. Как открыть
Кнопка «Чат» в левом сайдбаре (под профилем / в общем столбце меню).
Раньше могла быть плавающая кнопка справа внизу — в актуальном UI чат открывается из сайдбара.
При непрочитанных входящих:
- иконка/подпись чата подсвечиваются;
- красный бейдж с числом пропущенных сообщений.
14.2. Первый запуск
- Откройте чат.
- Укажите подпись «Кто вы на этом ПК» и сохраните (важно, если за одним логином работают несколько человек/браузеров).
- Пишите сообщения, прикрепляйте файлы (лимиты указаны в панели: число файлов и размер).
14.3. Возможности
- история сообщений, реакции/эмодзи (если включено);
- индикатор «прочитано»;
- звук входящего;
- 🔔 — разрешение уведомлений браузера;
- 📡 Web Push — если на сервере настроены VAPID-ключи (уведомления при закрытой вкладке).
Чат использует Socket.IO. Если сокет недоступен, возможен ограниченный режим (polling) — в статусе панели будет предупреждение.
14.4. Кому виден чат
Пользователям с правами на основные рабочие модули (заявки/склад/касса/магазин/зарплата и т.п. — как в коде доступа к виджету). Гостям портала чат сотрудников не доступен.
16. Глобальный поиск
Поле поиска в центре navbar: заявки, клиенты, товары…
- Начните вводить запрос — появится автодополнение.
- Enter / стрелка — переход на страницу результатов
/search?q=....
Ищите по номеру заявки, ФИО, телефону, артикулу — в зависимости от индексов и прав.
По телефону срабатывают варианты с ведущей 8, 7, +7 или без кода страны (достаточно 10 цифр номера).
17. Клиентский портал
Личный кабинет клиента (не путать с входом сотрудника в CRM).
17.1. Адрес портала и вход клиента
- Локально:
http://127.0.0.1:5000/portal/login - Публичное демо:
https://demo.nika-sc.ru/portal/login
Порядок входа:
- Клиент получает логин (свой телефон) и временный пароль — письмом или от сотрудника (§ 17.4).
- Клиент открывает
/portal/loginи вводит телефон + выданный пароль. - При первом входе клиент меняет пароль и попадает в
/portal/dashboard.

17.2. Разделы портала
| Раздел | URL | Содержание |
|---|---|---|
| Дашборд | /portal/dashboard |
Сводка |
| Мои заявки | /portal/orders |
Статусы ремонтов |
| Платежи | /portal/payments |
История оплат |
| Кошелёк | /portal/wallet |
Предоплата/переплата по заявкам |
| Мои устройства | /portal/devices |
Техника клиента и связанные заказы |


17.3. Что клиент не видит
Внутренние комментарии, закупочные цены, зарплату, настройки, чат сотрудников, чужие клиенты.
17.4. Как клиент получает пароль
Пароль портала генерируется автоматически при создании клиента, поэтому доступ есть у каждого клиента с телефоном. Отличается только способ передачи.
Письмом «Заказ принят» — если у клиента заполнен email. При сохранении новой заявки письмо уходит в фоне и содержит ссылку на портал, логин (телефон) и временный пароль.
Условия отправки:
| Что | Где настраивается |
|---|---|
| Автописьмо «Заказ принят» включено | Настройки → Автоматизации и каналы |
| Работающий SMTP | Настройки → Почта (§ 13.5); «От кого» = логин, не noreply@example.com |
| Публичный адрес для ссылки | переменная окружения PORTAL_PUBLIC_URL, иначе первый домен из TRUSTED_HOSTS |
| Тег ссылки в шаблоне | ##PORTAL_URL## в Настройки → Шаблоны писем → «Заказ принят» |
Если в своём шаблоне письма тега ##PORTAL_URL## нет, ссылка не появится — добавьте строку вида Адрес входа: <a href="##PORTAL_URL##">##PORTAL_URL##</a> рядом с логином и паролем.
Вручную — если email не указан. В карточке клиента нажмите «Редактировать» и в блоке «Пароль для портала» либо посмотрите выданный пароль кнопкой «Показать пароль» (работает, пока клиент его не сменил), либо задайте новый. Объясните клиенту, что это отдельный вход от CRM сотрудников.



18. Мобильный доступ и PWA
- Откройте CRM в мобильном браузере (Chrome / Safari).
- При поддержке PWA: «Добавить на главный экран».
- Работайте через адаптивное меню.
Реалистичные ожидания
- Это веб-приложение, не полноценный native offline.
- Service Worker кэширует ограниченный набор ресурсов; без сети полноценная работа с заявками/кассой не гарантируется.
- Push для чата зависит от настройки VAPID на сервере и разрешения браузера.
19. Права доступа и безопасность
19.1. Как устроены права
Каждому действию соответствует permission (например, view_orders, manage_warehouse, view_invoices). Роль задаёт набор прав; admin может уточнять индивидуально.
Права модуля счетов: view_invoices, manage_invoices, mark_invoice_paid (admin/manager; viewer — только просмотр).
19.2. Рекомендации
- Не работайте ежедневно под
admin, если достаточно менеджера. manage_users/ критичные настройки — только доверенным лицам.- На демо с публичным паролем считайте данные учебными; не храните там боевые ПДн.
- Меняйте пароли после установки Windows SETUP / импорта bootstrap.
- Делайте бэкапы PostgreSQL (
pg_dump) по расписанию.
19.3. Публичный демо-логин и безопасность сервера
Логин CRM (не SSH). Им нельзя войти на сервер по SSH и нельзя напрямую открыть PostgreSQL из интернета (на нормально настроенном стенде БД слушает localhost). Риск публичного пароля — полный доступ к содержимому демо-CRM.
20. Советы и FAQ
Как быстро найти заявку? Глобальный поиск или фильтры в /all_orders; закрепите важные pins.
Как сменить мастера на уже закрытой заявке? Кнопка «Сменить исполнителей» в шапке карточки (§ 5.4.1). Начисления ЗП переносятся на нового сотрудника.
Почему нет склада в меню? Нет прав view_warehouse / manage_warehouse.
Касса не сходится с отчётом. Ищите ручные правки, незавершённые возвраты, операции без документов.
Чат без красного бейджа. Панель открыта (счётчик сбрасывается) или вкладка в фокусе; закройте чат и получите сообщение с другого браузера.
HTTPS «не открывается», HTTP открывается. Часто путь/MTU провайдера; проверьте с мобильного интернета или другой сети.
Куда писать по установке Windows? См. контакты в § 2.3.
Письма не уходят, в логе not local sender / noreply@example.com. В Настройки → Почта поле «От кого» всё ещё с демо-адресом. Укажите тот же email, что в логине (например Nika CRM <you@bk.ru>), или очистите поле. См. § 13.5.
SMTP: логин верный, но «От кого» путают с логином. Логин — для входа на SMTP; «От кого» — адрес в письме. У Mail.ru/Яндекс они должны совпадать.
21. Приложения
20.1. Глоссарий
| Термин | Смысл |
|---|---|
| Заявка | Заказ на ремонт/услугу |
| Pins | Глобальное закрепление заявки в списке |
| Касса | Денежные движения и связанные отчёты |
| Счета | Реестр счетов B2B, печать, отметка оплаты |
| Портал | ЛК клиента |
| Staff chat | Внутренний чат сотрудников |
| Bootstrap SQL | Стартовый дамп PostgreSQL без боевых ПДн |
20.2. Карта основных URL
/ дашборд или лендинг
/login вход сотрудника
/all_orders список заявок
/add_order новая заявка
/order/<id> карточка заявки
/clients клиенты
/warehouse/parts товары
/warehouse/purchases закупки
/shop магазин
/finance/cash движение денег
/salary зарплата
/reports/dashboard сводный отчёт
/reports/day сводка дня
/reports/orders-log журнал заявок
/reports/demo-visitors демо-онлайн (если включено)
/settings настройки
/search поиск
/portal/login вход клиента
/portal/devices устройства клиента
20.3. Связанные документы
- README документации — оглавление
docs/ - USER_WALKTHROUGH.md — сценарий рабочего дня со скриншотами
- ABOUT.md — о проекте и установка
- DEPLOY.md — развёртывание (Docker + PostgreSQL)
- API.md (откроется в новой вкладке) — HTTP API
- database/bootstrap/README.md — дамп и демо-логины
На демо: /docs (откроется в новой вкладке) (руководства без GitHub).
20.4. История документа
| Версия | Дата | Изменения |
|---|---|---|
| 2.4 | 2026-04-10 | Предыдущая редакция |
| 2.5 | 2026-07-27 | Актуализация под UI: сайдбар-чат, pins, закупки, сводка дня, журнал заявок, формы печати, портал «Мои устройства», демо-онлайн, термины меню, PostgreSQL 001–010 |
| 2.5.1 | 2026-07-27 | Ссылки на walkthrough и оглавление docs; устаревшие overview/аудиты вынесены из docs/ |
| 2.5.2 | 2026-07-27 | История изменений README: блоки май–июль 2026 |
| 2.5.3 | 2026-07-27 | Публичные страницы /docs на демо; удалены OSS_* и Идеи.txt |
| 2.6 | 2026-07-28 | § 10 Счета B2B: шаблоны, оплата, поиск телефонов |
| 2.7 | 2026-07-29 | Печать счетов «для живой печати» без картинок подписи/печати; bootstrap PG 001–014 |
| 2.9 | 2026-08-08 | Раздел по клиентскому порталу: адрес входа (/portal/login), шаги выдачи доступа, скриншоты входа/разделов портала |
| 3.0 | 2026-08-08 | § 17.4 «Как клиент получает пароль»: письмо «Заказ принят» со ссылкой (##PORTAL_URL##, PORTAL_PUBLIC_URL) и ручная выдача; скриншоты кабинета после реального входа |
| 3.1 | 2026-08-08 | LAN в Windows/Linux (@private, firewall); § 2.3 пароль PostgreSQL; предварительная стоимость в заявке; квитанция «Внешний вид / комплектация»; сохранение размера шрифта в шаблонах |
Nika CRM — для сервисных центров. Вопросы по продукту и установке: контакты в § 2.3.