К содержанию
Nika CRM

Документация

Руководство пользователя

Текст открывается прямо на демо — без перехода в GitHub.

Полное руководство по использованию системы управления сервисным центром Nika CRM.

Версия: 3.13
Последнее обновление: 2026-09-01
Соответствие UI: меню и названия как в текущем интерфейсе (navbar + левый сайдбар).

Пошаговый сценарий рабочего дня (вход → заявка → оплата → ЗП → касса) со скриншотами:
USER_WALKTHROUGH.md · на демо: /docs/walkthrough

В разделах ниже вставлены те же снимки экрана, что в сценарии дня (вход, заявки, склад, касса, ЗП, счета, портал, PWA).


Содержание

  1. Введение
  2. Установка и первый вход
  3. Обзор интерфейса
  4. Дашборд
  5. Заявки (в т.ч. диагностика)
  6. Клиенты и устройства
  7. Склад
  8. Магазин
  9. Касса и финансы
  10. Счета (юрлица и ИП)
  11. Зарплата
  12. Отчёты
  13. Настройки
  14. Уведомления CRM
  15. Чат сотрудников
  16. Глобальный поиск
  17. Клиентский портал
  18. Мобильный доступ и PWA
  19. Права доступа и безопасность
  20. Советы и FAQ
  21. Приложения

Отдельно: пошаговый walkthrough рабочего дня.

Что нового в 3.13 (2026-09-01)

  • Сводный отчёт — отдельно закрытые работы и деньги в кассе; для руководителя видно, сколько осталось после зарплаты и расходов. § 12.2.
  • Блог: сводный отчёт для руководителя.

Что нового в 3.12 (2026-08-22)

  • Заметка в блоге: шаблоны диагностики в заявке — поиск и подстановка готового текста. Читать. § 5.4.2.

Что нового в 3.11 (2026-08-22)

  • Обновили систему безопасности и ускорили заявку, клиентов, склад и настройки.
  • В диагностике — готовые шаблоны текста по типу и модели; список в Настройки → Шаблоны диагностики. § 5.4.2.
  • На карточке заявки во вкладке История видно, какие письма ушли клиенту (если указана почта). § 5.5.
  • Блог: шаблоны диагностики в заявке, письма в заявке, безопасность и скорость.

Что нового в 3.10 (2026-08-20)

  • Шаблоны диагностики — готовый текст по типу, марке и модели; в окне заявки список подставляет текст (другой шаблон заменяет предыдущий). § 5.4.2, Настройки → Шаблоны диагностики.
  • Карточка заявки, клиенты, склад и настройки открываются быстрее.
  • Блог: шаблоны диагностики.

Что нового в 3.9 (2026-08-19)

  • Магазин — мастер обязателен. Без исполнителя продажа не проводится (алерт и отказ на сервере), чтобы зарплата не «терялась». § 8.
  • Блог: мастер в магазине.

Что нового в 3.6 (2026-08-16)

  • Приёмка — сверху частые тип, марка, модель и неисправность; внешний вид по умолчанию «Бывший в употреблении»; после сохранения печатается квитанция. Пустая предварительная стоимость в чек не попадает. § 5.1, § 5.9.
  • Разовая себестоимость — поле «Себ. (₽)» у разового товара/услуги: расход в кассе и в отчёте прибыли. § 5.6, § 9.
  • Магазин — частые услуги и товары, продажа на одном экране, чек сразу после «Провести». § 8.
  • Кабинет клиента — история ремонта, устройства, профиль, баннер «можно забирать». § 17.
  • Блог: серия 1 — ядро, разовая себестоимость и ЛК, магазин, квитанция и гайд.

Что нового в 3.4 (2026-08-15)

  • Диагностика заявки — текст для клиента и фото/PDF. Без сохранённого текста нельзя поставить «Готов / Закрыт» и другие финальные статусы. Окно открывается из реестра и из карточки. § 5.4.2.
  • Личный кабинет — в заявке клиент видит диагностику с фото, печатает чек; в «Мои устройства» — список заявок по технике; отдельная история платежей. § 17.
  • Чат — кнопка в левом меню под профилем. § 15.
  • Колокольчик — смена статуса на другом компьютере того же сотрудника. § 14.
  • Статьи блога: диагностика, кабинет и чат, вход и файлы.

1. Введение

Nika CRM — веб-система для сервисного центра: заявки на ремонт, клиенты и устройства, склад и закупки, касса, магазин, зарплата, отчёты, внутренний чат и личный кабинет клиента. Как пользоваться экранами — в этом руководстве; короткий обзор ядра — серия 1 в блоге.

Для кого документ

Роль Что читать в первую очередь
Администратор §§ 2, 3, 13, 17.4, 19
Менеджер / приёмщик §§ 5, 6, 9, 14, 17
Мастер §§ 5, 5.4.2, 14
Кладовщик § 7
Клиент (портал) § 17

Рабочая база данных — только PostgreSQL. SQLite в проекте — наследие, не используйте его для новой установки.

Публичная демонстрация: https://service.nika-crm.ru/ (откроется в новой вкладке).
Исходники OSS: github.com/nika-sc/Nika-Service-CRM (откроется в новой вкладке).


2. Установка и первый вход

2.1. Быстрый старт с PostgreSQL (дамп)

  1. Создайте БД PostgreSQL (например, nikacrm).
  2. Импортируйте database/bootstrap/nikacrm_public_sanitized.sql (подробности — database/bootstrap/README.md).
  3. В .env укажите: env DB_DRIVER=postgres DATABASE_URL=postgresql://USER:PASSWORD@localhost:5432/nikacrm
  4. Установите зависимости (pip install -r requirements.txt) и запустите (python run.py или Docker).

В актуальном bootstrap уже отмечены миграции PostgreSQL 001–025 (включая staff chat, pins, demo visitors, счета B2B, диагностику и её историю, связи модели с типом/маркой, шаблоны диагностики, журнал писем клиенту, локаль: префикс телефона и символ валюты). После импорта при старте приложения обычно не остаётся неприменённых SQL-миграций из комплекта дампа. Если в репозитории появились более новые файлы в postgres_versions/, они применятся при следующем запуске (run_migrations.py / Docker entrypoint / linux_upgrade.sh).

2.2. Вход в CRM

  1. Откройте адрес системы (локально обычно http://127.0.0.1:5000).
  2. Введите логин и пароль → Войти.
  3. На демо/лендинге вход может открываться модальным окном на главной странице.
Вход в CRM
Вход в CRM

Демо-учётки 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.9, дата сборки 2026-09-14:

  1. Скачайте NikaCRM-Offline-Setup-1.0.9-x64.exe (откроется в новой вкладке)
    или зеркало на service.nika-crm.ru/downloads/… (откроется в новой вкладке).
  2. Запустите от имени администратора.
  3. После копирования файлов мастер несколько минут настраивает Python, PostgreSQL и службу (обычно 5–10 минут). Окно не закрывать — это не зависание. При ошибке журнал копируется на рабочий стол в NikaCRM-setup-log.
  4. Ярлык Nika CRM — Открытьhttp://127.0.0.1:5000. С другого ПК в LAN: http://<IP-этого-ПК>:5000 (доступ из сети включён по умолчанию; смените демо-пароли).
  5. Войдите демо-учёткой и смените пароль.

Обновление версии. В Настройках → «О программе и обновления» администратор видит установленный номер и кнопку «Проверить обновления». CRM раз в сутки (или по кнопке) читает публичный JSON с service.nika-crm.ruни идентификатор установки, ни статистика не отправляются. Если вышла новая версия, скачайте EXE и запустите от администратора поверх текущей: службы остановятся сами, файлы заменятся, база и .env останутся, применятся только новые миграции (новые таблицы и поля). Перед этим установщик кладёт дамп в %ProgramData%\NikaCRM-backup и снимок кода в %ProgramData%\NikaCRM\rollback (два последних). Выключить проверку: UPDATE_CHECK_ENABLED=0 в .env.

Обновление поверх прежней версии. То же самое без карточки в CRM: просто новый EXE поверх. Если при обновлении 1.0.6 → 1.0.7 вы получали «Автоматическая настройка завершилась с ошибкой 1» — 1.0.8 это лечит (владелец таблиц приводится к роли приложения до миграций).

Резервная копия в любой момент. Ярлык Nika CRM — Резервная копия базы (нужны права администратора) делает дамп в %ProgramData%\NikaCRM-backup, хранятся последние 10 копий.

Удаление и переустановка. Ярлык Nika CRM — Удалить (или «Программы и компоненты») удаляет CRM целиком: обе службы, PostgreSQL, правило брандмауэра, ярлыки и каталог с данными. Перед удалением база сохраняется в %ProgramData%\NikaCRM-backup, и эта папка не стирается — следующая установка восстановит данные из неё. Нужна чистая демо-база? Удалите или перенесите папку NikaCRM-backup перед установкой. Если установка повреждена и удаление недоступно, запустите от администратора packaging\windows\uninstall-full.ps1 (с ключом -RemoveData — вместе с базой).

SHA256 публикуется вместе с EXE на странице релиза.

Страница релиза: windows-setup-1.0.9 (откроется в новой вкладке).

Пароль 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.

Журналы установки и работы службы — ярлык Nika CRM — Журналы (%ProgramData%\NikaCRM\logs); каталог открывается с правами администратора.

Страница релиза: windows-setup-1.0.9 (откроется в новой вкладке).

Поддержка: smelkov2008@yandex.ru, nika-sc@bk.ru, Telegram (откроется в новой вкладке).

2.4. Типичные проблемы входа

Симптом Что проверить
Страница не открывается Сервис запущен? Порт 5000 / nginx? HTTPS у провайдера иногда «зависает» — попробуйте другую сеть / HTTP
«Неверный логин/пароль» Раскладка, Caps Lock, правильная учётка для этой среды
Пустой экран после входа Права роли: у viewer мало разделов — это нормально
502 Bad Gateway Не запущен gunicorn / приложение за nginx

3. Обзор интерфейса

После входа вы видите:

  1. Верхняя шапка — широкий поиск, уведомления; разделы CRM не дублируются в шапке.
  2. Левый узкий сайдбар — Заявки, Клиенты, Склад, Магазин, Касса, Счета, Отчёты, Зарплата, Настройки + Профиль (выход) + Чат.
  3. Рабочая область — страница текущего раздела.

Пункты меню зависят от прав вашей роли. Если раздела нет — его не выдали в настройках прав.

Дашборд после входа
Дашборд после входа

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. Создание заявки

  1. ЗаявкиНовая заявка (/add_order).
  2. Укажите клиента (поиск или создание), устройство, неисправность, мастера — по полям формы.
  3. Внешний вид и комплектация — одно поле с тегами (в квитанции тоже одна строка). На пустой форме по умолчанию стоит «Бывший в употреблении».
  4. При необходимости укажите предварительную стоимость (оценка для клиента, печатается в квитанции; в кассу не уходит) и предоплату / способ оплаты. Если оценку не указали, строка в квитанции не печатается.
  5. Сохраните — откроется карточка заявки и квитанция клиента (окно печати браузера).

Списки типа, марки, модели и неисправности сверху показывают 10 самых частых (группа «Частые»), остальные — ниже по алфавиту. После выбора типа и марки в модели остаются связанные позиции (например, смартфон + Apple → модели Apple). Новую модель можно вписать — она запомнится для этой пары.

Совет: модель устройства поддерживает автоподстановку; новые значения создаются при сохранении.

Форма новой заявки
Форма новой заявки

5.2. Список заявок

ЗаявкиСписок заявок (/all_orders). По умолчанию открывается фильтр «Все в работе» (?view=registry&status=in_progress). Полный реестр — бейдж «Все».

Возможности (в зависимости от версии UI):

  • режимы реестр и канбан (хронология приёма — отчёт Журнал заявок, не вкладка списка);
  • реестр — поиск, колонки, быстрая смена статуса, закрепление, суммы;
  • канбан — очередь цеха по этапам: горизонтальная доска, сверху кто ждёт дольше, пустые этапы видны. Цвет карточки по возрасту: зелёный до 3 дней, жёлтый 4–6, оранжевый 7–13, красный от 14. Клик открывает заявку; статус меняют там же, не перетаскиванием;
  • фильтры по статусу, мастеру, дате, поиску;

5.3. Закрепление заявок (pins)

В списке заявок можно закрепить заявку (иконка/кнопка «Закрепить» / «Открепить»).

  • Закрепления общие для всех сотрудников (глобальные order_pins).
  • Закреплённые заявки обычно поднимаются вверх списка, чтобы важные заказы не терялись.

Нужны права на работу с заявками; точная видимость кнопки — как в текущем UI списка.

5.4. Карточка заявки

Откройте заявку из списка (/order/<id>). Типичные блоки:

Блок Назначение
Шапка / статус Смена статуса, печать, основные действия
Клиент и устройство Контакты, техника
Услуги Работы по прайсу
Запчасти Со склада; списание при добавлении
Оплаты Приём оплаты, возвраты, выставление счёта юрлицу
Комментарии Внутренние и/или для истории
Диагностика Текст для клиента и фото/PDF; обязательна перед закрывающими статусами
Задачи / дедлайны Контроль работ (если включено)
Карточка заявки
Карточка заявки
Блок товаров и услуг
Блок товаров и услуг

Полное редактирование заявки (карандаш) при статусе с флагом «запрет редактирования» или финальном статусе недоступно — сначала смените статус на рабочий. Исключение: смена мастера и менеджера (§ 5.4.1).

5.4.1. Смена мастера и менеджера (в т.ч. закрытая заявка)

Нужно, когда заявка уже проведена / закрыта, зарплата начислена, но исполнителя указали ошибочно (или мастер сменился).

  1. Откройте карточку заявки.
  2. В шапке рядом с заблокированной кнопкой редактирования нажмите «Сменить исполнителей» (иконка двух человек).
  3. В окне доступны только поля Менеджер и Мастер — выберите нужных и сохраните.
  4. Система: - записывает новых исполнителей в заявку; - если по заявке уже есть начисления зарплаты, переносит их на нового мастера/менеджера (суммы сохраняются, повторно закрывать заявку не нужно); - в блоке зарплаты на карточке и в отчётах ЗП фигурирует новый сотрудник.

На открытой заявке ту же смену можно сделать через обычное «Редактировать» — при сохранении начисления также переносятся, если сменили мастера или менеджера.

Права: нужно право редактирования заявок (edit_orders). Полное редактирование остальных полей закрытой заявки по-прежнему требует смены статуса.

Ситуация Что делать
Закрыта, нужно только сменить мастера/менеджера «Сменить исполнителей»
Закрыта, нужно править услуги/цены Сначала откройте статус без blocks_edit
ЗП уже выплачена старому сотруднику Перенос начисления меняет «кому начислено»; выплаты вручную согласуйте с бухгалтерией

5.4.2. Диагностика заявки

Блок диагностики — то, что клиент увидит в личном кабинете: текст мастера и фото (JPEG/PNG) или PDF.

Как открыть

  • На карточке заявки — кнопка «Диагностика» / «Нужна диагностика».
  • При смене статуса на Готов, Закрыт, Закрыт неуспешно, На запчасти (и любой статус с запретом правки или финальный) — то же окно откроется само, если текста ещё нет. Статус применится только после «Сохранить текст». Так из реестра заявок, так и из карточки.

Что заполнить

  1. Текст результата (видит клиент). Сверху можно найти и выбрать шаблон: в поле останется его название, другой шаблон заменит текст. Фото не обязательны; они сохраняются сразу и не стирают несохранённый текст.
  2. При необходимости приложите файлы: JPEG, PNG или PDF, до 5 МБ каждый, не больше 10 на заявку.
  3. Нажмите «Сохранить текст».

Шаблоны заводятся в Настройки → Шаблоны диагностики (право manage_settings): название, текст, при желании тип / марка / модель (пусто = для любых). В комплекте уже есть типичные тексты (чистка PS5, ноутбука, ПК, ремонт МФУ и др.) — их можно править. В заявке сначала предлагаются шаблоны этой модели, затем марки и типа.

Окно диагностики
Окно диагностики

Кто что может

Действие Кто
Первый раз написать текст Сотрудник с правом править заявки
Потом изменить текст Только администратор
Добавить фото, пока заявка открыта Сотрудник с правом править заявки
Удалить фото Только администратор
Менять диагностику на закрытой заявке Только администратор

Каждое сохранение текста пишется в историю в том же окне и в журнал заявки.

Подробнее для клиента — § 17. Лимиты и доступ к файлам — блог про вход и файлы.

5.5. Смена статуса

  1. На карточке или в списке нажмите кнопку текущего статуса.
  2. Выберите новый статус.
  3. Дождитесь уведомления об успехе.

Если у статуса стоит запрет правки или он финальный, сначала нужен сохранённый текст диагностики (§ 5.4.2). Иначе откроется окно; статус применится только после «Сохранить текст».

Если у клиента указана почта и в настройках включена автоотправка, уходит письмо: при создании заявки («Заказ принят»), при каждой смене статуса, отдельно «Заказ готов» и «Заказ закрыт». Что реально ушло (или почему не ушло) — вкладка История → Письма клиенту. Без email в карточке клиента письма не отправляются.

Набор статусов настраивается в Настройки → Статусы заявок. У статуса могут быть флаги (например, «начисляет зарплату»): при первом переходе в такой статус зарплата по заявке начисляется один раз (повторное «закрыл → открыл → закрыл» не должно дублировать начисление).

Смена статуса
Смена статуса
Закрытие заявки
Закрытие заявки

5.6. Услуги и запчасти

Услуги: «Добавить услугу» → выбрать из справочника → количество/цена → добавить.

Добавление услуги
Добавление услуги

Запчасти: поиск по названию/артикулу → количество → добавить. Количество списывается со склада. Если остатка нет — система сообщит об ошибке.

Разовый товар или услуга (без склада и без справочника): укажите название, цену продажи и Себ. (₽) — сколько потратили на закупку. При оплате/закрытии заявки в кассе появляется расход «Себестоимость (разовая)», в отчёте прибыли эта сумма входит в себестоимость (не дважды). Пример: экран 3500 ₽ клиенту, закупка 900 ₽ → в кассе +3500 и −900, прибыль 2600 ₽.

В списке услуг сверху стоят самые частые.

Добавление товара
Добавление товара

5.7. Оплаты, возвраты, депозит

Добавить оплату

  1. Раздел Оплаты на карточке заявки.
  2. Сумма, способ (наличные / карта / перевод и т.д.), комментарий.
  3. Добавить — создаётся кассовая операция (при обычной оплате).

Прогресс оплаты ограничен 100% (переплата в прогресс не «раздувает» процент).

Модал добавления оплаты
Модал добавления оплаты
Платежи на заявке
Платежи на заявке

Возврат оплаты (только администратор):

  1. У оплаты нажмите Возврат.
  2. Сумма ≤ остатка оплаты, причина обязательна.
  3. Полный возврат снимает исходный приход в кассе и в сводном отчёте (ошибочная сумма больше не висит в «Приходе»). Частичный возврат пишет расход на возвращённую сумму.

Депозит клиента ведётся в карточке клиента (кошелёк). В интерфейсе заявки депозитные операции могут быть ограничены/отключены — используйте карточку клиента и кассу по актуальному 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 в «Формах для печати»
«Сначала заполните диагностику» Откройте окно диагностики и нажмите «Сохранить текст» (§ 5.4.2)

6. Клиенты и устройства

Права: view_customers (+ права на создание/редактирование по ролям).

6.1. База клиентов

КлиентыБаза клиентов (/clients): поиск, фильтры, переход в карточку.

База клиентов
База клиентов

6.2. Карточка клиента

  • Контакты, комментарии;
  • тип клиента: физлицо / ИП / юрлицо (ИНН, КПП, юр. адрес; кнопка «По ИНН» при настроенном DaData);
  • список устройств и заявок;
  • кошелёк / депозит (пополнение, история);
  • пароль доступа в клиентский портал: при создании показывают один раз, дальше только сброс (§ 17.4).
Карточка клиента
Карточка клиента

6.3. Создание и редактирование

  1. Создайте клиента из базы или прямо из формы новой заявки. Пароль кабинета создаётся сразу; откройте его один раз в ответе или задайте свой.
  2. Редактирование — в карточке клиента → сохранить. Открытый пароль кабинета после первого показа не хранится: чтобы клиент снова вошёл — задайте новый (сброс).
  3. Устройство: добавьте к клиенту (тип, бренд, модель, серийный номер и т.д.). В кабинете клиент увидит это устройство и все заявки по нему.

6.4. История устройства

Из карточки устройства / клиента откройте историю ремонтов — все связанные заявки.


7. Склад

Права: view_warehouse / manage_warehouse.

7.1. Товары

СкладТовары (/warehouse/parts или /warehouse):

  • список, поиск, остатки, цены;
  • создание / редактирование карточки товара;
  • оприходование и списание (с причиной);
  • удаление / восстановление (если предусмотрено).

7.2. Категории товаров

На странице Склад → Товары сверху ряд категорий. «Новая категория» создаёт раздел без карточки товара. Карандаш переименовывает, корзина удаляет пустую категорию. Если в разделе ещё есть товары — сначала перенесите их в другой.

Подробнее: категории на складе.

7.3. Закупки

СкладЗакупки (/warehouse/purchases) — рабочий журнал закупок у поставщиков:

  1. Создайте закупку, укажите поставщика и позиции.
  2. Проверьте количества и суммы.
  3. Завершите (complete) — товары поступят на склад; финансовые последствия зависят от настроек/кассы.

Отчёт по закупкам смотрите также в Отчёты → Закупки (/reports/purchases).

Закупки
Закупки

7.4. Движения и логи

  • Движения — журнал приходов/расходов по складу.
  • Логи склада — детальный аудит действий.

7.5. Поставщики

СкладПоставщики: справочник контрагентов для закупок.

7.6. Инвентаризация

СкладИнвентаризация:

  1. Создайте сессию инвентаризации.
  2. Внесите фактические количества.
  3. Зафиксируйте расхождения (оприходование/списание по результату).

7.7. Частые ошибки

Проблема Решение
Отрицательный остаток Проверьте списания в заявках и магазине
Закупка не двигает склад Не завершена / ошибка валидации позиций
Нет пункта «Закупки» Нет прав склада или старая роль без пункта меню

8. Магазин

Права: view_shop / manage_shop.

МагазинПродажи (/shop) — быстрые продажи без полноценной «заявки на ремонт» (печать клише, оснастка, расходники):

  1. Добавить продажу — слева поиск, частые услуги и товары (10 самых продаваемых) и полный каталог; справа чек.
  2. Нажмите частую позицию или строку каталога. Количество и цену в чеке можно поправить.
  3. Клиент необязателен. Мастер обязателен — без него продажа не проводится (иначе зарплата не начисляется).
  4. Выберите способ оплаты и Провести — списание со склада, приход в кассу, сразу открывается товарный чек (шаблон из настроек).
  5. Если товара нет на складе, позиция помечается; провести продажу нельзя, пока не будет остатка.

История продаж — в том же разделе. В колонке оплаты показывается название способа (наличные / перевод), а не служебный код.

Магазин
Магазин

9. Касса и финансы

Права: view_finance / manage_finance.

В верхнем меню раздел называется «Касса» (не «Финансы»).

9.1. Движение денег

КассаДвижение денег (/finance/cash):

  • приходы и расходы;
  • переводы между кассами/счетами (если настроено);
  • связь с документами: «Заявка #…», «Чек #…»;
  • расход «Себестоимость (разовая)» — закупка под заявку без склада (поле «Себ.» у разового товара/услуги);
  • фильтр периода (кнопки «Месяц», «Прошлый месяц» и др.) и фильтр по статье (например «Обед»);
  • блок «Итого по статьям за период» — суммы и число операций; клик по строке открывает операции этой статьи;
  • при выбранной статье в шапке показывается сумма за период.
Касса — движение денег
Касса — движение денег
Ручной приход/расход
Ручной приход/расход

9.2. Прибыль и аналитика

  • Касса → Прибыль (/finance/profit);
  • Касса → Аналитика (/finance/analytics).

Дополнительно аналогичные срезы есть в Отчётах.

9.3. Категории (статьи)

Касса → Категории или Настройки → Статьи доходов и расходов (/finance/categories):

  • доходы / расходы;
  • часть категорий системные — их нельзя удалить, только править название/описание.

9.4. Дисциплина кассы

  1. Все оплаты по заявкам и магазину проводите через интерфейс — тогда отчёты сходятся.
  2. Ручные операции помечайте понятным комментарием.
  3. Возвраты оформляйте через «Возврат», а не «минус вручную без связи».

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. Выставление счёта

  1. Из карточки заявки → Выставить счёт (выбор услуг/товаров) — или Счета → Новый счёт.
  2. В ручном счёте клиент и позиции ищутся из базы; товары обязательно выбирайте из каталога (иначе при оплате склад не спишется).
  3. Счёт создаётся со статусом Не оплачен и не уменьшает долг заявки, пока не отмечен оплаченным.
  4. Печать: счёт / акт (услуги) / накладная (товары). Рядом кнопка жив. — бланк без электронных подписи и печати (для живого проставления). Комментарий счёта может попасть в блок «основание» на бланке счёта.
Реестр счетов
Реестр счетов
Карточка счёта
Карточка счёта
Печать счёта
Печать счёта
Новый счёт
Новый счёт

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

12.2. Сводный отчёт

Отчёты → Сводный (/reports/dashboard).

На карточках разделены выполненные работы (закрытые заявки и продажи магазина) и деньги (оплаты в кассе за тот же период). Суммы могут не совпасть: предоплату часто вносят в одном месяце, а заявку закрывают в другом.

Для руководителя отдельный блок: сколько уже взяли себе, сколько осталось после зарплаты и расходов, какой остаток в кассе. Кнопка «Методика расчёта» на странице объясняет каждую цифру. Письмо «отправить отчёт руководителю» содержит те же итоги.

Статья: сводный отчёт для руководителя.

11.2. Как пользоваться отчётом

  1. Выберите период и фильтры.
  2. Дождитесь пересчёта.
  3. При необходимости экспортируйте (если кнопка есть в 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
Данные об устройстве Справочники типов, брендов, моделей, неисправностей и внешнего вида
Шаблоны диагностики Готовый текст для окна диагностики заявки. Смотреть в заявке может любой сотрудник; добавлять и менять — право manage_settings
Услуги Прайсовые услуги
Сотрудники Учётки сотрудников (/settings/employees)
Права пользователей Индивидуальные права (/settings/user-permissions, admin)
Права доступа Матрица прав
Роли Ролевая модель
Уведомления сотрудникам Триггеры для staff
Уведомления клиентам Сообщения клиентам / портал
Уведомления директору Дайджесты/алерты руководителю

12.2. Статусы

Настройте цвета, порядок, флаги (закрывающая, начисляет зарплату и т.д.). Неудаление используемых статусов может быть ограничено системой.

12.3. Формы для печати

Редактируйте HTML-шаблоны и теги полей (список тегов показан на странице настроек). После правок проверьте печать на тестовой заявке.

12.4. Сотрудники и права

  1. Создайте сотрудника, задайте роль и пароль.
  2. При необходимости уточните права в Права пользователей / Права доступа.
  3. Права 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 для SMTP ваш@bk.ru
Пароль Пароль приложения, не обычный пароль сайта (из настроек ящика)
От кого Название вашей компании <ваш@email.ru> — email внутри <> = логин; или пусто Сервисный центр Ника <ваш@bk.ru>
Таймаут Секунды ожидания SMTP 15 (на Windows лучше не меньше)
Правильная настройка Mail.ru
Правильная настройка Mail.ru

Windows Offline: после сохранения почты перезапустите службу ярлыком «Nika CRM — Перезапуск службы» на рабочем столе — иначе процесс может ещё держать старые MAIL_* из .env.

Главная ошибка: «От кого» ≠ логин

Логин и адрес отправителя — разные поля. В демо-базе часто лежит:

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

Проверка

  1. Сохраните общие настройки.
  2. Укажите email директора (блок уведомлений директору) и отправьте тестовое письмо.
  3. Если письма нет — смотрите лог службы (not local sender, отказ аутентификации, таймаут).

Подробности и FAQ также в статье блога: /blog/smtp-mail-setup. На сервере Linux те же поля можно задать через MAIL_* в .env (см. DEPLOY.md).


14. Уведомления CRM

  1. Колокольчик в правом верхнем углу navbar — список непрочитанных.
  2. Отметить все как прочитанные / ссылка Все уведомления.
  3. Типы и каналы настраиваются в Настройках (три раздела уведомлений).
  4. Смена статуса заявки на другом компьютере того же сотрудника показывает всплывающее сообщение «Статус заявки #N изменён на: …». Своё изменение на том же экране повторно не всплывает. Если живое соединение недоступно, список колокольчика периодически обновляется сам.

Не путайте колокольчик CRM с кнопкой 🔔 в шапке чата сотрудников (это уведомления браузера о сообщениях чата).


15. Чат сотрудников

Внутренний мессенджер для команды.

15.1. Как открыть

Кнопка «Чат» в левом сайдбаре (под профилем / в общем столбце меню).
Раньше могла быть плавающая кнопка справа внизу — в актуальном UI чат открывается из сайдбара.

При непрочитанных входящих:

  • иконка/подпись чата подсвечиваются;
  • красный бейдж с числом пропущенных сообщений.
Чат сотрудников
Чат сотрудников

15.2. Первый запуск

  1. Откройте чат.
  2. Укажите подпись «Кто вы на этом ПК» и сохраните (важно, если за одним логином работают несколько человек/браузеров).
  3. Пишите сообщения, прикрепляйте файлы (лимиты указаны в панели: число файлов и размер).

15.3. Возможности

  • история сообщений, реакции/эмодзи (если включено);
  • индикатор «прочитано»;
  • звук входящего;
  • 🔔 — разрешение уведомлений браузера;
  • 📡 Web Push — если на сервере настроены VAPID-ключи (уведомления при закрытой вкладке).

Чат использует Socket.IO. Если сокет недоступен, возможен ограниченный режим (polling) — в статусе панели будет предупреждение.

15.4. Кому виден чат

Пользователям с правами на основные рабочие модули (заявки/склад/касса/магазин/зарплата и т.п. — как в коде доступа к виджету). Гостям портала чат сотрудников не доступен.


16. Глобальный поиск

Поле поиска в центре navbar: заявки, клиенты, товары…

  1. Начните вводить запрос — появится автодополнение.
  2. Enter / стрелка — переход на страницу результатов /search?q=....

Ищите по номеру заявки, ФИО, телефону, артикулу — в зависимости от индексов и прав.
По телефону срабатывают варианты с ведущей 8, 7, +7 или без кода страны (достаточно 10 цифр номера).


17. Клиентский портал

Личный кабинет клиента (не путать с входом сотрудника в CRM).

17.1. Адрес портала и вход клиента

  • Локально: http://127.0.0.1:5000/portal/login
  • Публичное демо: https://service.nika-crm.ru/portal/login

Порядок входа:

  1. Клиент получает логин (свой телефон) и доступ — письмом со ссылкой задать пароль или от сотрудника (§ 17.4).
  2. Клиент открывает /portal/login и вводит телефон + свой пароль.
  3. После входа попадает в /portal/dashboard.
Вход в клиентский портал
Вход в клиентский портал

17.2. Разделы портала

Раздел URL Содержание
Дашборд /portal/dashboard Сводка, баннер «можно забирать», контакты сервиса
Мои заявки /portal/orders Карточка заявки: диагностика с фото, услуги, печать чека, платежи
История ремонта /portal/history Хронология всех ремонтов, диагностика, гарантия
Платежи /portal/payments История всех оплат клиента
Кошелёк /portal/wallet Предоплата/переплата по заявкам
Мои устройства /portal/devices Техника, обслуживаемая в СЦ, и заявки по каждому устройству
Профиль /portal/profile Контакты СЦ и смена пароля
Дашборд портала
Дашборд портала
Портал: заявки
Портал: заявки
Карточка заявки в кабинете: диагностика и фото
Карточка заявки в кабинете: диагностика и фото
Мои устройства и заявки
Мои устройства и заявки
История платежей
История платежей

17.2.1. Карточка заявки в кабинете

Клик по строке в Мои заявки или в таблице заявок устройства открывает карточку:

  • устройство, модель, описание неисправности и внешний вид;
  • диагностика — текст мастера и фото/PDF (те же, что сотрудник сохранил в § 5.4.2);
  • услуги и запчасти;
  • суммы «Сумма / Оплачено / К оплате»;
  • платежи по этой заявке и кнопка «Печать чека».
Карточка заявки из «Мои устройства»
Карточка заявки из «Мои устройства»

17.2.2. Печать чека

В карточке нажмите «Печать чека». Браузер откроет квитанцию: заявка, устройство, дата, услуги, запчасти, итоги и список платежей (возврат — со знаком минус). Печатайте на принтере или сохраняйте в PDF средствами браузера.

Чек из кабинета
Чек из кабинета

17.3. Что клиент не видит

Внутренние комментарии, закупочные цены, зарплату, настройки, чат сотрудников, чужие клиенты и чужие файлы заявок. Текст диагностики и приложенные фото/PDF по своим заявкам клиент видит.

17.4. Как клиент получает пароль

Пароль портала генерируется автоматически при создании клиента, поэтому доступ есть у каждого клиента с телефоном. Отличается только способ передачи.

Письмом «Заказ принят» — если у клиента заполнен email. При сохранении новой заявки письмо уходит в фоне: ссылка задать пароль (##PORTAL_SETUP_URL##, действует 2 дня), логин (телефон). Постоянный пароль в текст письма не кладётся.

Условия отправки:

Что Где настраивается
Автописьмо «Заказ принят» включено Настройки → Автоматизации и каналы
Работающий SMTP Настройки → Почта (§ 13.5); «От кого» = логин, не noreply@example.com
Публичный адрес для ссылки переменная окружения PORTAL_PUBLIC_URL, иначе первый домен из TRUSTED_HOSTS
Тег ссылки в шаблоне ##PORTAL_SETUP_URL## в Настройки → Шаблоны писем → «Заказ принят»

Если в своём шаблоне письма тега ##PORTAL_SETUP_URL## нет, ссылка не появится — добавьте её в шаблон.

Вручную — если email не указан. При создании клиента пароль показывают один раз. Дальше открытый пароль не хранится: в карточке задайте новый (сброс). Объясните клиенту, что это отдельный вход от CRM сотрудников.

Клиенты CRM
Клиенты CRM
Карточка клиента
Карточка клиента
Блок «Пароль для портала»
Блок «Пароль для портала»

18. Мобильный доступ и PWA

CRM можно открыть как обычный сайт или установить как приложение (PWA): отдельное окно без адресной строки, ярлык в меню «Пуск» / на рабочем столе и закрепление на панели задач Windows. На телефоне — иконка на главном экране.

Пошагово и со скриншотами также в блоге: Установка PWA и закрепление на панели задач.

18.1. Desktop: Chrome / Edge (Windows)

  1. Откройте CRM по HTTPS (демо https://service.nika-crm.ru/ или ваш сервер). На http://localhost установка PWA часто недоступна или ограничена.
  2. В Chrome/Edge нажмите иконку «Установить» в адресной строке или меню ⋮ → Установить приложение….
  3. Подтвердите в диалоге «Установить».
Chrome: кнопка «Установить»
Chrome: кнопка «Установить»
Диалог установки приложения
Диалог установки приложения
  1. После установки откройте Nika CRM из меню «Пуск» или ярлыка. Чтобы закрепить на панели задач: ПКМ по иконке на панели → «Закрепить на панели задач».
PWA на панели задач Windows
PWA на панели задач Windows

18.2. Мобильный: «На экран Домой»

  1. Откройте CRM в мобильном Chrome или Safari.
  2. Меню «Поделиться» / ⋮ → «На экран „Домой“» / «Добавить на главный экран».
  3. Дальше работайте через адаптивное меню CRM.
Мобильный: добавить на главный экран
Мобильный: добавить на главный экран

18.3. Реалистичные ожидания

  • Это веб-приложение, не полноценный 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 — только просмотр). Файлы подписи и печати счетов требуют одно из этих прав.

Справочники (типы/марки/модели, неисправности, услуги, шаблоны диагностики): просмотр в заявке — любой сотрудник; создание и правка — manage_settings.

19.2. Рекомендации

  1. Не работайте ежедневно под admin, если достаточно менеджера.
  2. manage_users / критичные настройки — только доверенным лицам.
  3. На демо с публичным паролем считайте данные учебными; не храните там боевые ПДн.
  4. Меняйте пароли после установки Windows SETUP / импорта bootstrap.
  5. Делайте бэкапы PostgreSQL (pg_dump) по расписанию.
  6. После долгого простоя сотрудника система снова просит войти. Это нормально.
  7. Файлы диагностики и вложения комментариев видит только тот, кому заявка доступна. В кабинете клиент видит только свои заявки и свои фото. В комментарий к заявке — фото, PDF, Word и текст.

19.3. Публичный демо-логин и безопасность сервера

Логин CRM (не SSH). Им нельзя войти на сервер по SSH и нельзя напрямую открыть PostgreSQL из интернета (на нормально настроенном стенде БД слушает localhost). Риск публичного пароля — полный доступ к содержимому демо-CRM.


20. Советы и FAQ

Как быстро найти заявку? Глобальный поиск или фильтры в /all_orders; закрепите важные pins.

Как сменить мастера на уже закрытой заявке? Кнопка «Сменить исполнителей» в шапке карточки (§ 5.4.1). Начисления ЗП переносятся на нового сотрудника.

Почему нет склада в меню? Нет прав view_warehouse / manage_warehouse.

Касса не сходится с отчётом. Ищите ручные правки и операции без документов. Если оплату по заявке уже вернули, а приход всё ещё держит ту же сумму — обновите CRM: полный возврат теперь снимает исходную проводку.

Чат без красного бейджа. Панель открыта (счётчик сбрасывается) или вкладка в фокусе; закройте чат и получите сообщение с другого браузера.

HTTPS «не открывается», HTTP открывается. Часто путь/MTU провайдера; проверьте с мобильного интернета или другой сети.

Куда писать по установке Windows? См. контакты в § 2.3.

Письма не уходят, в логе not local sender / noreply@example.com. В Настройки → Почта поле «От кого» всё ещё с демо-адресом. Укажите тот же email, что в логине (например Название вашей компании <you@bk.ru>), или очистите поле. См. § 13.5.

SMTP: логин верный, но «От кого» путают с логином. Логин — для входа на SMTP; «От кого» — адрес в письме. У Mail.ru/Яндекс они должны совпадать.

Windows: сохранили SMTP, тест всё равно со старыми настройками. Перезапустите службу ярлыком «Nika CRM — Перезапуск службы», затем повторите тест.

Клиент не видит диагностику в кабинете. Текст ещё не сохраняли, или клиент смотрит чужую заявку (такого быть не должно). Проверьте карточку заявки в CRM. Если в окне диагностики имя файла есть, а картинка не открывается («файл не найден на диске») — приложите фото заново: старые снимки могли пропасть до исправления хранения.

Нельзя закрыть заявку: «Сначала заполните диагностику». Откройте диагностику на карточке или подтвердите окно при смене статуса и нажмите «Сохранить текст». Фото не обязательны. § 5.4.2.

Клиент не может напечатать чек. Чек печатается из карточки заявки в кабинете (кнопка в блоке платежей), не из списка.

В квитанции «\n» или пустая строка предварительной стоимости. Поле не заполняли — строка больше не печатается. Обновите CRM (миграция шаблонов печати). § 5.9.

Где чат? Левое меню, под Профилем. На телефоне — в выезжающем меню.

Магазин не проводит продажу. Нужно выбрать мастера. Клиент необязателен. § 8.


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/orders       мои заявки (карточка, диагностика, чек)
/portal/history      история ремонта
/portal/devices      мои устройства и заявки по ним
/portal/payments     история платежей
/portal/wallet       кошелёк
/portal/profile      профиль и смена пароля

20.3. Связанные документы

На демо: /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; предварительная стоимость в заявке; квитанция «Внешний вид / комплектация»; сохранение размера шрифта в шаблонах
3.2 2026-08-09 Windows SETUP 1.0.6: после сохранения SMTP — перезапуск службы; плейсхолдеры «От кого»; подписи к скриншотам в /docs; FAQ про рестарт почты
3.3 2026-08-09 Скриншоты walkthrough в основных §§ руководства; § 18 PWA (установка / панель задач) + пост блога
3.4 2026-08-15 Диагностика до закрытия; кабинет: фото, чек, устройства, платежи; чат под профилем; toast статуса; скриншоты 46–49; блог 27–28
3.5 2026-08-16 Разовая себестоимость в кассе и отчётах; справочники по связям и популярности; ЛК: история ремонта, профиль, готовность к выдаче
3.6 2026-08-16 Квитанция после новой заявки; пустая предварительная стоимость не печатается; магазин с частыми позициями; серия 1 и блог 29–31
3.7 2026-08-17 Список заявок по умолчанию — фильтр «Все в работе»; блог 32
3.8 2026-08-17 Фото диагностики на постоянном диске (не пропадают после обновления Docker); блог 33
3.9 2026-08-19 Магазин: мастер обязателен; блог 34
3.10 2026-08-20 Шаблоны диагностики; быстрее заявка/клиенты/склад/настройки; блог 35
3.11 2026-08-22 Безопасность и быстрее разделы; шаблоны диагностики в меню настроек; письма клиенту во вкладке История; блог 36–37
3.12 2026-08-22 Заметка в блоге: шаблоны диагностики в заявке (поиск и подстановка текста); блог 38
3.13 2026-09-01 Сводный отчёт руководителя: закрытые работы и деньги в кассе по отдельности, остаток после зарплаты и расходов; блог 40
3.14 2026-09-10 Склад: категории с панели товаров (§ 7.2), работает удаление номенклатуры и закупки, компактные колонки с закреплёнными действиями; касса: сверка по внешним приходам, возврат чека только у администратора; Windows SETUP 1.0.7 (§ 2.3); блог 41–42
3.15 2026-09-11 Windows SETUP: обновление поверх прежней версии больше не прерывается на миграциях, полное удаление с ярлыком «Удалить», резервная копия базы перед обновлением и удалением (§ 2.3)
3.16 2026-09-11 Windows SETUP 1.0.8: проверка обновлений в «О программе», настройка Python/PostgreSQL на последней странице мастера, снимок кода для отката (§ 2.3); блог 43
3.17 2026-09-14 Windows SETUP 1.0.9: на карточке заявки снова добавляются услуги и оплаты (§ 2.3); блог 45
3.18 2026-09-17 Полный возврат оплаты снимает исходный приход из кассы и сводного отчёта (§ 5.7); блог 46

Nika CRM — для сервисных центров. Вопросы по продукту и установке: контакты в § 2.3.