Документация
Руководство пользователя
Текст открывается прямо на демо — без перехода в GitHub.
Полное руководство по использованию системы управления сервисным центром Nika CRM.
Версия: 3.13
Последнее обновление: 2026-09-01
Соответствие UI: меню и названия как в текущем интерфейсе (navbar + левый сайдбар).
Пошаговый сценарий рабочего дня (вход → заявка → оплата → ЗП → касса) со скриншотами:
USER_WALKTHROUGH.md · на демо: /docs/walkthrough
В разделах ниже вставлены те же снимки экрана, что в сценарии дня (вход, заявки, склад, касса, ЗП, счета, портал, PWA).
Содержание
- Введение
- Установка и первый вход
- Обзор интерфейса
- Дашборд
- Заявки (в т.ч. диагностика)
- Клиенты и устройства
- Склад
- Магазин
- Касса и финансы
- Счета (юрлица и ИП)
- Зарплата
- Отчёты
- Настройки
- Уведомления CRM
- Чат сотрудников
- Глобальный поиск
- Клиентский портал
- Мобильный доступ и PWA
- Права доступа и безопасность
- Советы и FAQ
- Приложения
Отдельно: пошаговый 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 (дамп)
- Создайте БД 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–025 (включая 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.9, дата сборки 2026-09-14:
- Скачайте NikaCRM-Offline-Setup-1.0.9-x64.exe (откроется в новой вкладке)
или зеркало на service.nika-crm.ru/downloads/… (откроется в новой вкладке). - Запустите от имени администратора.
- После копирования файлов мастер несколько минут настраивает Python, PostgreSQL и службу (обычно 5–10 минут). Окно не закрывать — это не зависание. При ошибке журнал копируется на рабочий стол в
NikaCRM-setup-log. - Ярлык Nika CRM — Открыть →
http://127.0.0.1:5000. С другого ПК в LAN:http://<IP-этого-ПК>:5000(доступ из сети включён по умолчанию; смените демо-пароли). - Войдите демо-учёткой и смените пароль.
Обновление версии. В Настройках → «О программе и обновления» администратор видит установленный номер и кнопку «Проверить обновления». 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. Обзор интерфейса
После входа вы видите:
- Верхняя шапка — широкий поиск, уведомления; разделы 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). - Укажите клиента (поиск или создание), устройство, неисправность, мастера — по полям формы.
- Внешний вид и комплектация — одно поле с тегами (в квитанции тоже одна строка). На пустой форме по умолчанию стоит «Бывший в употреблении».
- При необходимости укажите предварительную стоимость (оценка для клиента, печатается в квитанции; в кассу не уходит) и предоплату / способ оплаты. Если оценку не указали, строка в квитанции не печатается.
- Сохраните — откроется карточка заявки и квитанция клиента (окно печати браузера).
Списки типа, марки, модели и неисправности сверху показывают 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. Смена мастера и менеджера (в т.ч. закрытая заявка)
Нужно, когда заявка уже проведена / закрыта, зарплата начислена, но исполнителя указали ошибочно (или мастер сменился).
- Откройте карточку заявки.
- В шапке рядом с заблокированной кнопкой редактирования нажмите «Сменить исполнителей» (иконка двух человек).
- В окне доступны только поля Менеджер и Мастер — выберите нужных и сохраните.
- Система: - записывает новых исполнителей в заявку; - если по заявке уже есть начисления зарплаты, переносит их на нового мастера/менеджера (суммы сохраняются, повторно закрывать заявку не нужно); - в блоке зарплаты на карточке и в отчётах ЗП фигурирует новый сотрудник.
На открытой заявке ту же смену можно сделать через обычное «Редактировать» — при сохранении начисления также переносятся, если сменили мастера или менеджера.
Права: нужно право редактирования заявок (edit_orders). Полное редактирование остальных полей закрытой заявки по-прежнему требует смены статуса.
| Ситуация | Что делать |
|---|---|
| Закрыта, нужно только сменить мастера/менеджера | «Сменить исполнителей» |
| Закрыта, нужно править услуги/цены | Сначала откройте статус без blocks_edit |
| ЗП уже выплачена старому сотруднику | Перенос начисления меняет «кому начислено»; выплаты вручную согласуйте с бухгалтерией |
5.4.2. Диагностика заявки
Блок диагностики — то, что клиент увидит в личном кабинете: текст мастера и фото (JPEG/PNG) или PDF.
Как открыть
- На карточке заявки — кнопка «Диагностика» / «Нужна диагностика».
- При смене статуса на Готов, Закрыт, Закрыт неуспешно, На запчасти (и любой статус с запретом правки или финальный) — то же окно откроется само, если текста ещё нет. Статус применится только после «Сохранить текст». Так из реестра заявок, так и из карточки.
Что заполнить
- Текст результата (видит клиент). Сверху можно найти и выбрать шаблон: в поле останется его название, другой шаблон заменит текст. Фото не обязательны; они сохраняются сразу и не стирают несохранённый текст.
- При необходимости приложите файлы: JPEG, PNG или PDF, до 5 МБ каждый, не больше 10 на заявку.
- Нажмите «Сохранить текст».
Шаблоны заводятся в Настройки → Шаблоны диагностики (право manage_settings): название, текст, при желании тип / марка / модель (пусто = для любых). В комплекте уже есть типичные тексты (чистка PS5, ноутбука, ПК, ремонт МФУ и др.) — их можно править. В заявке сначала предлагаются шаблоны этой модели, затем марки и типа.

Кто что может
| Действие | Кто |
|---|---|
| Первый раз написать текст | Сотрудник с правом править заявки |
| Потом изменить текст | Только администратор |
| Добавить фото, пока заявка открыта | Сотрудник с правом править заявки |
| Удалить фото | Только администратор |
| Менять диагностику на закрытой заявке | Только администратор |
Каждое сохранение текста пишется в историю в том же окне и в журнал заявки.
Подробнее для клиента — § 17. Лимиты и доступ к файлам — блог про вход и файлы.
5.5. Смена статуса
- На карточке или в списке нажмите кнопку текущего статуса.
- Выберите новый статус.
- Дождитесь уведомления об успехе.
Если у статуса стоит запрет правки или он финальный, сначала нужен сохранённый текст диагностики (§ 5.4.2). Иначе откроется окно; статус применится только после «Сохранить текст».
Если у клиента указана почта и в настройках включена автоотправка, уходит письмо: при создании заявки («Заказ принят»), при каждой смене статуса, отдельно «Заказ готов» и «Заказ закрыт». Что реально ушло (или почему не ушло) — вкладка История → Письма клиенту. Без email в карточке клиента письма не отправляются.
Набор статусов настраивается в Настройки → Статусы заявок. У статуса могут быть флаги (например, «начисляет зарплату»): при первом переходе в такой статус зарплата по заявке начисляется один раз (повторное «закрыл → открыл → закрыл» не должно дублировать начисление).


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

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

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 в «Формах для печати» |
| «Сначала заполните диагностику» | Откройте окно диагностики и нажмите «Сохранить текст» (§ 5.4.2) |
6. Клиенты и устройства
Права: view_customers (+ права на создание/редактирование по ролям).
6.1. База клиентов
Клиенты → База клиентов (/clients): поиск, фильтры, переход в карточку.

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

6.3. Создание и редактирование
- Создайте клиента из базы или прямо из формы новой заявки. Пароль кабинета создаётся сразу; откройте его один раз в ответе или задайте свой.
- Редактирование — в карточке клиента → сохранить. Открытый пароль кабинета после первого показа не хранится: чтобы клиент снова вошёл — задайте новый (сброс).
- Устройство: добавьте к клиенту (тип, бренд, модель, серийный номер и т.д.). В кабинете клиент увидит это устройство и все заявки по нему.
6.4. История устройства
Из карточки устройства / клиента откройте историю ремонтов — все связанные заявки.
7. Склад
Права: view_warehouse / manage_warehouse.
7.1. Товары
Склад → Товары (/warehouse/parts или /warehouse):
- список, поиск, остатки, цены;
- создание / редактирование карточки товара;
- оприходование и списание (с причиной);
- удаление / восстановление (если предусмотрено).
7.2. Категории товаров
На странице Склад → Товары сверху ряд категорий. «Новая категория» создаёт раздел без карточки товара. Карандаш переименовывает, корзина удаляет пустую категорию. Если в разделе ещё есть товары — сначала перенесите их в другой.
Подробнее: категории на складе.
7.3. Закупки
Склад → Закупки (/warehouse/purchases) — рабочий журнал закупок у поставщиков:
- Создайте закупку, укажите поставщика и позиции.
- Проверьте количества и суммы.
- Завершите (complete) — товары поступят на склад; финансовые последствия зависят от настроек/кассы.
Отчёт по закупкам смотрите также в Отчёты → Закупки (/reports/purchases).

7.4. Движения и логи
- Движения — журнал приходов/расходов по складу.
- Логи склада — детальный аудит действий.
7.5. Поставщики
Склад → Поставщики: справочник контрагентов для закупок.
7.6. Инвентаризация
Склад → Инвентаризация:
- Создайте сессию инвентаризации.
- Внесите фактические количества.
- Зафиксируйте расхождения (оприходование/списание по результату).
7.7. Частые ошибки
| Проблема | Решение |
|---|---|
| Отрицательный остаток | Проверьте списания в заявках и магазине |
| Закупка не двигает склад | Не завершена / ошибка валидации позиций |
| Нет пункта «Закупки» | Нет прав склада или старая роль без пункта меню |
8. Магазин
Права: view_shop / manage_shop.
Магазин → Продажи (/shop) — быстрые продажи без полноценной «заявки на ремонт» (печать клише, оснастка, расходники):
- Добавить продажу — слева поиск, частые услуги и товары (10 самых продаваемых) и полный каталог; справа чек.
- Нажмите частую позицию или строку каталога. Количество и цену в чеке можно поправить.
- Клиент необязателен. Мастер обязателен — без него продажа не проводится (иначе зарплата не начисляется).
- Выберите способ оплаты и Провести — списание со склада, приход в кассу, сразу открывается товарный чек (шаблон из настроек).
- Если товара нет на складе, позиция помечается; провести продажу нельзя, пока не будет остатка.
История продаж — в том же разделе. В колонке оплаты показывается название способа (наличные / перевод), а не служебный код.

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 |
12.2. Сводный отчёт
Отчёты → Сводный (/reports/dashboard).
На карточках разделены выполненные работы (закрытые заявки и продажи магазина) и деньги (оплаты в кассе за тот же период). Суммы могут не совпасть: предоплату часто вносят в одном месяце, а заявку закрывают в другом.
Для руководителя отдельный блок: сколько уже взяли себе, сколько осталось после зарплаты и расходов, какой остаток в кассе. Кнопка «Методика расчёта» на странице объясняет каждую цифру. Письмо «отправить отчёт руководителю» содержит те же итоги.
Статья: сводный отчёт для руководителя.
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 |
| Данные об устройстве | Справочники типов, брендов, моделей, неисправностей и внешнего вида |
| Шаблоны диагностики | Готовый текст для окна диагностики заявки. Смотреть в заявке может любой сотрудник; добавлять и менять — право manage_settings |
| Услуги | Прайсовые услуги |
| Сотрудники | Учётки сотрудников (/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 для SMTP | ваш@bk.ru |
| Пароль | Пароль приложения, не обычный пароль сайта | (из настроек ящика) |
| От кого | Название вашей компании <ваш@email.ru> — email внутри <> = логин; или пусто |
Сервисный центр Ника <ваш@bk.ru> |
| Таймаут | Секунды ожидания SMTP | 15 (на Windows лучше не меньше) |

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 |
Проверка
- Сохраните общие настройки.
- Укажите email директора (блок уведомлений директору) и отправьте тестовое письмо.
- Если письма нет — смотрите лог службы (
not local sender, отказ аутентификации, таймаут).
Подробности и FAQ также в статье блога: /blog/smtp-mail-setup. На сервере Linux те же поля можно задать через MAIL_* в .env (см. DEPLOY.md).
14. Уведомления CRM
- Колокольчик в правом верхнем углу navbar — список непрочитанных.
- Отметить все как прочитанные / ссылка Все уведомления.
- Типы и каналы настраиваются в Настройках (три раздела уведомлений).
- Смена статуса заявки на другом компьютере того же сотрудника показывает всплывающее сообщение «Статус заявки #N изменён на: …». Своё изменение на том же экране повторно не всплывает. Если живое соединение недоступно, список колокольчика периодически обновляется сам.
Не путайте колокольчик CRM с кнопкой 🔔 в шапке чата сотрудников (это уведомления браузера о сообщениях чата).
15. Чат сотрудников
Внутренний мессенджер для команды.
15.1. Как открыть
Кнопка «Чат» в левом сайдбаре (под профилем / в общем столбце меню).
Раньше могла быть плавающая кнопка справа внизу — в актуальном UI чат открывается из сайдбара.
При непрочитанных входящих:
- иконка/подпись чата подсвечиваются;
- красный бейдж с числом пропущенных сообщений.

15.2. Первый запуск
- Откройте чат.
- Укажите подпись «Кто вы на этом ПК» и сохраните (важно, если за одним логином работают несколько человек/браузеров).
- Пишите сообщения, прикрепляйте файлы (лимиты указаны в панели: число файлов и размер).
15.3. Возможности
- история сообщений, реакции/эмодзи (если включено);
- индикатор «прочитано»;
- звук входящего;
- 🔔 — разрешение уведомлений браузера;
- 📡 Web Push — если на сервере настроены VAPID-ключи (уведомления при закрытой вкладке).
Чат использует Socket.IO. Если сокет недоступен, возможен ограниченный режим (polling) — в статусе панели будет предупреждение.
15.4. Кому виден чат
Пользователям с правами на основные рабочие модули (заявки/склад/касса/магазин/зарплата и т.п. — как в коде доступа к виджету). Гостям портала чат сотрудников не доступен.
16. Глобальный поиск
Поле поиска в центре navbar: заявки, клиенты, товары…
- Начните вводить запрос — появится автодополнение.
- 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
Порядок входа:
- Клиент получает логин (свой телефон) и доступ — письмом со ссылкой задать пароль или от сотрудника (§ 17.4).
- Клиент открывает
/portal/loginи вводит телефон + свой пароль. - После входа попадает в
/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 сотрудников.



18. Мобильный доступ и PWA
CRM можно открыть как обычный сайт или установить как приложение (PWA): отдельное окно без адресной строки, ярлык в меню «Пуск» / на рабочем столе и закрепление на панели задач Windows. На телефоне — иконка на главном экране.
Пошагово и со скриншотами также в блоге: Установка PWA и закрепление на панели задач.
18.1. Desktop: Chrome / Edge (Windows)
- Откройте CRM по HTTPS (демо
https://service.nika-crm.ru/или ваш сервер). Наhttp://localhostустановка PWA часто недоступна или ограничена. - В Chrome/Edge нажмите иконку «Установить» в адресной строке или меню ⋮ → Установить приложение….
- Подтвердите в диалоге «Установить».


- После установки откройте Nika CRM из меню «Пуск» или ярлыка. Чтобы закрепить на панели задач: ПКМ по иконке на панели → «Закрепить на панели задач».

18.2. Мобильный: «На экран Домой»
- Откройте CRM в мобильном Chrome или Safari.
- Меню «Поделиться» / ⋮ → «На экран „Домой“» / «Добавить на главный экран».
- Дальше работайте через адаптивное меню 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. Рекомендации
- Не работайте ежедневно под
admin, если достаточно менеджера. manage_users/ критичные настройки — только доверенным лицам.- На демо с публичным паролем считайте данные учебными; не храните там боевые ПДн.
- Меняйте пароли после установки Windows SETUP / импорта bootstrap.
- Делайте бэкапы PostgreSQL (
pg_dump) по расписанию. - После долгого простоя сотрудника система снова просит войти. Это нормально.
- Файлы диагностики и вложения комментариев видит только тот, кому заявка доступна. В кабинете клиент видит только свои заявки и свои фото. В комментарий к заявке — фото, 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. Связанные документы
- 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; предварительная стоимость в заявке; квитанция «Внешний вид / комплектация»; сохранение размера шрифта в шаблонах |
| 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.