LL Reports Руководство пользователя Скачать PDF Войти в систему →

LL Reports · Руководство пользователя#

Эта инструкция — для директоров и менеджеров ресторанов, которые открывают сервис из браузера или с телефона. Управленческая аналитика по сети ресторанов на базе R-Keeper 7: отчёты по продажам, финансам, гостям и лояльности.

Коротко о доступе

Адрес сервиса: https://reports.llgroup.ru (или ваш внутренний URL). Логин и пароль выдаёт администратор сети. Сессия живёт долго — повторно входить каждый день не нужно.

Подсказка прямо в интерфейсе

На каждой странице рядом с заголовком есть кнопка ? — клик раскрывает короткую инструкцию по странице. Закрыть можно повторным кликом по ?, крестиком или клавишей Esc. Развёрнутые описания и сценарии — в этом руководстве.


Содержание#

  1. Начало работы
  2. Мобильная версия и установка на телефон
  3. Ежедневные отчёты RKeeper
  4. Финансы и наличка
  5. Меню и сотрудники
  6. Гости и лояльность
  7. Мониторинг и алерты
  8. Подписки и уведомления
  9. История изменений и журнал событий
  10. Дашборды
  11. Админ-страницы
  12. FAQ
  13. Глоссарий
  14. Куда писать по вопросам

1. Начало работы#

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

1.1 Вход в систему#

  1. Откройте в браузере адрес сервиса: https://reports.llgroup.ru (или ваш внутренний URL — уточните у администратора сети).
  2. Введите логин и пароль, выданные администратором.
  3. Нажмите «Войти». Сессия живёт долго — повторно входить каждый день не нужно.

Если выкидывает на форму входа

Это нормально — браузер потерял cookie. Просто войдите ещё раз. Если пароль не подходит, обратитесь к администратору, чтобы его сбросили.

1.2 Боковое меню и навигация#

Интерфейс состоит из трёх зон:

  • Сайдбар слева — основное меню по разделам. На мобильном телефоне сайдбар скрыт; навигация — нижней панелью с иконками + кнопкой «Ещё» (открывает шторку с полным списком разделов).
  • Шапка сверху — название текущей страницы, поиск (горячая клавиша Ctrl+K), кнопка фильтров, переключатель темы, кнопка справки ? и меню профиля.
  • Рабочая область — KPI-блоки, графики, таблицы. На каждой аналитической странице есть фильтр по ресторанам и периоду.
Расположение кнопки «?» в шапке
Шапка страницы «Выручка»: название страницы, переключатель темы, кнопка справки «?».

Виден только ваш доступ

Сайдбар показывает только те страницы и рестораны, к которым у вас открыты права. Если коллега что-то видит, а вы — нет, попросите администратора расширить доступ.

1.3 Светлая и тёмная тема#

В правом верхнем углу — переключатель «луна / солнце». В тёмной теме цифры читаются лучше при долгой работе и меньше утомляют глаза. Тема запоминается за пользователем — при следующем входе восстанавливается автоматически. В настройках интерфейса (шестерёнка) можно также выбрать плотность таблиц (compact / regular / spacious).

Светлая тема, страница «Выручка»
Светлая тема — страница «Выручка». Числа на скриншоте обезличены.
Тёмная тема, страница «Часовая нагрузка»
Тёмная тема — страница «Часовая нагрузка». Числа на скриншоте обезличены.

1.4 Период и фильтры#

На любой аналитической странице сверху — единый набор фильтров:

  • Период — пресеты «Сегодня / Вчера / 7 / 30 / 90 дней / Месяц / Год» либо произвольный диапазон дат через календарь.
  • Рестораны — мультивыбор. По умолчанию — все доступные. Чипы выбранных ресторанов остаются видны в шапке.
  • Метрика / разрез — где применимо (выручка / чеки / средний чек; по дням / по часам / по официантам).
Кнопка фильтров
Кнопка «Фильтры» в шапке. На мобильном фильтры открываются как шторка снизу.

Фильтры запоминаются

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

1.5 Иконка справки «?»#

На каждой странице рядом с заголовком есть кнопка ?. Клик раскрывает короткую инструкцию по странице с объяснением KPI и фильтров. Закрыть — повторным кликом по ?, крестиком или клавишей Esc. В этом руководстве — развёрнутая версия тех же подсказок плюс сценарии использования и FAQ.


2. Мобильная версия и установка на телефон#

Сервис полностью адаптирован под смартфоны (от 375 px). Его можно установить как обычное приложение — иконка на главном экране, запуск без адресной строки.

2.1 Как работает на телефоне без установки#

Откройте https://reports.llgroup.ru в любом современном браузере (Safari, Chrome, Firefox, Edge) — сайт автоматически переключится в мобильный режим. Что меняется по сравнению с десктопом:

  • Нижняя панель навигации — вместо левого сайдбара главные иконки внизу экрана (Выручка, Смены, Т-2, Отзывы). Кнопка «Ещё» справа открывает шторку с полным списком разделов по вашим правам.
  • Фильтры как шторка — кнопка фильтров наверху открывает bottom-sheet снизу: период, рестораны и метрика в одной шторке. Закрывается свайпом вниз или кнопкой «Применить».
  • Таблицы с фиксированной первой колонкой — длинные таблицы прокручиваются по горизонтали; первая колонка (ресторан / блюдо / дата) прилипает к левому краю — контекст не теряется при скролле.
  • Модалки и графики — модальные окна превращаются в bottom-sheet и учитывают «бровь» iPhone (safe-area). Графики растягиваются по ширине экрана.
Мобильная версия на iPhone
Страница на iPhone — нижняя панель навигации видна.
Период-пикер в bottom-sheet
Период-пикер открыт как шторка снизу.

2.2 Установка на iPhone и iPad (PWA)#

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

  1. Откройте https://reports.llgroup.ru в Safari. Это важно: Chrome и другие браузеры на iOS не умеют создавать PWA — только Safari.
  2. Тапните по кнопке «Поделиться» внизу экрана (квадрат со стрелкой вверх).
  3. Прокрутите меню вниз и выберите «На экран Домой» (Add to Home Screen).
  4. В подтверждении оставьте название «RK7» (можно поменять) и нажмите «Добавить».
  5. На главном экране появится иконка с фирменным логотипом. Тап по ней — приложение открывается в полноэкранном режиме.

Что вы получаете после установки

Отдельная иконка на главном экране, полноэкранный режим (без адресной строки и панели вкладок), отдельная история навигации, поддержка Web Push.

2.3 Установка на Android (PWA)#

  1. Откройте https://reports.llgroup.ru в Chrome.
  2. Нажмите меню (три точки в правом верхнем углу).
  3. Выберите «Установить приложение» или «Добавить на главный экран» (формулировка зависит от версии Chrome).
  4. Подтвердите название. Иконка появится на главном экране и в списке приложений.

Альтернатива — баннер «Установить»

Иногда Chrome сам предлагает баннер «Установить приложение» внизу страницы — после нескольких визитов на сайт. Если он появился, можно просто согласиться, не открывая меню.

2.4 Если что-то не работает#

Проблема Что проверить
На Android не показывается «Установить приложение» Открыли ли сайт в Chrome (не в Firefox / Opera / Samsung Internet)? Иногда Chrome предлагает установку только после нескольких визитов — зайдите на сайт пару раз.
На iPhone в меню «Поделиться» нет пункта «На экран Домой» Проверьте, что открыли в Safari, а не в Chrome для iOS. Убедитесь, что сайт открыт по https (адрес начинается с «https://»).
Хочу удалить установленное приложение iPhone: долгий тап по иконке → «Удалить приложение». Android: долгий тап → «Удалить».

3. Ежедневные отчёты RKeeper#

Базовые отчёты по продажам, которые тянутся напрямую из R-Keeper 7. Все они обновляются ночной синхронизацией в 05:00 МСК; для сегодняшнего дня данные обновляются в течение дня по мере закрытия смен.

Сводка дня (/daily-summary)#

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

  • Любая дата — селектор в шапке. По умолчанию открывается «вчера»: данные RK7 за сегодняшний день обычно неполные до закрытия смен.
  • Коррекции чеков — изменения чека уже после фискальной печати (важный анти-фрод сигнал): карточка-счётчик в шапке (число чеков коррекции) и секция с разбивкой по типам операций (смена валюты, добавление/удаление блюда, скидки/наценки, предоплаты) — кол-во и сумма. Детальный построчный разбор — на странице «Корректировки чеков».
  • Два режима:
  • Один ресторан — полная разбивка ЗП по сотрудникам, безнала по категориям (Продукты / Хозы / Алкоголь), наличной кассы по статьям.
  • Все доступные — агрегат по всем ресторанам, рейтинг «Топ / Анти-топ» по выполнению плана.
  • Зарплата в сводке — прогноз: смены за день × дневная ставка. Точное начисление считается на странице «Зарплата» по итогу месяца.

Deep-link для пересылки

URL содержит ?page=daily_summary&date=YYYY-MM-DD — ссылку можно отправить коллеге; он откроет тот же день.

Выручка (/report)#

Главный отчёт по продажам. KPI-блок вверху: суммарная выручка за период, количество чеков и средний чек, скидки и удаления (сумма и %), отклонение от baseline DoW, процент выполнения плана (если план задан на странице Т-2).

Под KPI — графики по дням, ресторанам и часам. Переключатель метрики: выручка / чеки / средний чек.

Зачем baseline DoW

Baseline DoW — среднее за тот же день недели за последние 8 недель. Он ловит сезонность дня недели и помогает отличить «провал» от «обычно так и бывает». Если сегодня вторник и выручка ниже baseline на 25% — это сигнал. Если средняя для вторников = −25% — норма.

Сравнение (/compare)#

Сравнивает два периода. По умолчанию — Like-for-Like (LFL): то же количество дней, но со сдвигом на 364 дня назад (тот же день недели прошлого года). Это индустриальный стандарт для оценки «лучше или хуже, чем в прошлом году».

Waterfall-график раскладывает изменение выручки на компоненты: чеки × средний чек × скидки. Видно, что именно изменилось.

Смены (/shifts)#

Детализация по сменам: время открытия и закрытия, выручка, чеки, средний чек, количество гостей, ответственный менеджер. Клик по смене раскрывает чеки этой смены — полезно для разбора конкретного дня («почему вчера в обед просели»).

Скидки и наценки (/discounts · /markup)#

Сводка по применённым скидкам и наценкам: тип, сумма, доля от выручки, по официантам, по ресторанам, по дням.

Сигнал для антифрод-проверки

Если у одного официанта скидок или удалений в 5 раз больше, чем у других — это повод посмотреть конкретные чеки и видео с камер.

Удаления (/voids)#

Список удалённых позиций и отменённых чеков: что удалили, кто, на какую сумму, причина (если ввели). Вместе со «Скидками» — основной инструмент для контроля кассиров и официантов.

Чеки (/checks_report)#

Полный список чеков с фильтрами по дате, ресторану, кассиру, сумме. Клик по чеку открывает модалку с составом: блюда, количество, цена, тип оплаты, скидки, чаевые, привязка к карте лояльности.

Корректировки чеков (/corrections)#

Перечень изменений чеков, сделанных после фискальной печати — когда уже пробитый чек переоткрыли и поправили. Это штатный отчёт R-Keeper «Корректировки чека» и ключевой анти-фрод сигнал: легальные изменения здесь редки, поэтому любая строка заслуживает внимания.

Отслеживаются семь типов операций: смена валюты, добавление и удаление блюда, добавление и снятие скидки/наценки, добавление и снятие (пред)оплаты. Карточки сверху показывают количество и сумму по каждому типу за период; таблица — каждую операцию с рестораном, заказом, номером чека, номером коррекции, объектом и суммой. Есть фильтр по типу операции и экспорт в Excel.

⚠ Опасные коррекции

Особо опасна смена валюты с фискальной на нефискальную (или наоборот) после печати: фискальные — Рубли, Кредитная карта, QR-код, МИР, Tapper, СБП; нефискальные — Оплата, Представительские, Банкет, Яндекс.Еда, Деливери, агрегаторы. Такой перевод уводит выручку из-под фиска. Эти строки подсвечены красным, вверху страницы — счётчик «⚠ Опасных коррекций» и фильтр «Только опасные». Опасные коррекции также отдельно отмечаются в «Сводке дня» и порождают критический инсайт на странице «Инсайты». Классификация фискальности — автоматически по настройке валюты в RK7 (CURRENCIES.FISCREGUNFISCTYPE).

Важно про историю

Данные берутся из оперативной базы RK7, которая хранит только недавние смены. Поэтому история копится только вперёд — с момента, когда сбор корректировок был включён. Корректировки старше срока хранения оперативной базы восстановить невозможно.

Расхождения ЕГАИС (/egais-deficit)#

Отчёт о заказах, где алкоголь продан в чеке, но не списан в ЕГАИС. Данные забираются автоматически из сервиса DocsInBox (dxbx.ru) раз в сутки ночью по всем торговым точкам и сохраняются в системе.

Что на экране:

  • Период — общий выбор дат сверху (как на «Выручке»). Точка — выпадающий список доступных вам торговых точек или «Все точки».
  • Две карточки сводки: Всего заказов за период и Заказов с расхождениями (не списано в ЕГАИС).
  • Таблица заказов: дата и время, торговая точка, количество блюд, объём расхождения (мл) и UUID заказа. Кнопка разворачивает строку и показывает вид позиции — конкретное блюдо и сопоставленную ему номенклатуру ЕГАИС.
  • «—» в колонке объёма — позиция без сопоставленной номенклатуры ЕГАИС (объём расхождения неизвестен).
  • Поиск — по UUID заказа или названию блюда.

Откуда история

История доступна с мая 2026 года; далее данные дозагружаются ночью за предыдущий день. Заказ, который позже списали в ЕГАИС, перестаёт показываться как расхождение — ночной синк держит свежий срез за последние дни.

Т-2 · план и факт (/t2)#

Главный управленческий финотчёт по плану и факту. Сверху вниз:

  • Карточки KPI — план и факт месяца, средний чек, число чеков.
  • Блок «Прогноз выручки» — по умолчанию свёрнут, открывается кликом по заголовку. Внутри — прогноз до конца месяца с учётом сезонности, тренда и календарных событий (банкеты, акции, праздники).
  • Таблица план/факт по дням на всю ширину. Колонка «Дата» показывает дату вместе с днём недели (например 01.06 Пн). Таблица сама подгоняется под ширину экрана: на узком ноутбуке шрифт и отступы ужимаются, чтобы всё влезло без прокрутки; если места совсем мало — появляется горизонтальная прокрутка.

Ввод плана: клик по ячейке «План» → введите значение → Enter. Сохранение в БД мгновенное; план тут же попадает в KPI на других страницах (Выручка, Сводка дня).

Если ошиблись — откат

Все правки плана пишутся в историю. Нужен откат — обратитесь к администратору, он восстановит прежнее значение (см. §9).


4. Финансы и наличка#

Управленческие отчёты, которые ведутся вручную в сервисе (а не тянутся из RK7). Все правки попадают в историю и могут быть откатаны.

Наличка (/cash)#

Отчёт по наличным расчётам: пришло за смену, выдано на карту сотруднику, остаток в кассе, инкассации. Колонки настраиваются под ресторан (через шапку «Виды»). Столбцы разделены тонкими линиями — так легче читать суммы по строкам.

Кассовый отчёт (/cashbook)#

Учёт операций кассы: остаток, поступления, выдачи, целевые направления.

  • Кнопка «Добавить строку» создаёт запись за вчера (правят обычно уже прошедший день). Дату можно поменять кликом по ячейке.
  • Вкладка «Целевые направления» — справочник статей для бухгалтерии.
  • Каждая правка пишется в журнал изменений (§9) — можно откатить случайное удаление.

Безналичка (/beznal)#

Реестр безналичных платежей поставщикам и подрядчикам сети.

  • Кнопка «+ Платёж» — выбрать поставщика из общего справочника, указать сумму, дату, назначение.
  • Справочник поставщиков общий по сети — пополняется автоматически при создании первого платежа в его адрес. Не нужно дублировать поставщика для каждого ресторана.
  • В таблице-матрице заголовки поставщиков и суммы выровнены по центру, столбцы разделены линиями — так удобнее сверять суммы по дням.
  • Esc закрывает модалку без сохранения.

Зарплата (/payroll)#

Расчёт ЗП и табель в одной форме. Сотрудники сгруппированы по 6 категориям: повара, официанты, кассиры, бармены, администраторы, прочее.

  • Табель — отметки часов по дням; ЗП пересчитывается автоматически.
  • На каждого сотрудника — ставка, надбавки, штрафы, премии (отдельные колонки).
  • Изменения пишутся в историю — откат через администратора.

P&L (/pnl)#

Финансовый результат и маржа по периодам и ресторанам. Подтягивает выручку из RK7, расходы — из ручных управленческих форм (Безналичка, Зарплата, Кассовый отчёт). Маржа считается с учётом FoodCost из ABC и FTE из Зарплаты.


5. Меню и сотрудники#

ABC блюд (/abc)#

ABC-анализ позиций меню: A — топ-20% по выручке (около 80% оборота), B — средние, C — хвост. Помогает решать, что оставить в меню, что убрать, что продвигать.

Если включён RK7_DISH_SYNC_ENABLED=1, активируется раздел Menu Engineering с квадрантом popularity × margin: Stars (звёзды), Plowhorses (рабочие лошадки), Puzzles (загадки), Dogs (собаки) — классическая схема Касавана.

Cross-sell (/cross_sell)#

Какие позиции часто покупают вместе. Выявляет работающие связки «горячее + напиток», «основное + десерт». Используется для обучения комбо-предложений и скриптов официантам.

Требует деталей чеков

Раздел работает при включённой синхронизации деталей чеков по блюдам (RK7_DISH_SYNC_ENABLED=1).

Сотрудники / HR (/hr)#

HR-аналитика по кассовым показателям: выручка на FTE, средний чек на сотрудника, вклад смены/официанта в общую выручку. Помогает выявить лучших и слабых сотрудников по «деньгам, которые они приносят». Не путать с табелем — он на странице «Зарплата».


6. Гости и лояльность#

Отзывы (/reviews)#

Внешние отзывы (Яндекс.Карты), собираются ночным парсингом.

  • Сводка по рейтингу (1★/2★/3★/4★/5★) с динамикой.
  • Карточки отзывов с фильтром по ресторану, рейтингу, наличию ответа.
  • Кнопка «Открыть на Яндексе» — переход к оригиналу для ответа.

Sentiment отзывов (/sentiment)#

Тональный анализ отзывов на русском (словарный, без ML):

  • 7 тем: еда, сервис, интерьер, цена, локация, чистота, дети.
  • KPI: общая тональность, распределение по темам.
  • Sentence-level: учитывает «не вкусно» как негатив, «но» меняет полярность.
  • Лучшие и тревожные отзывы — для быстрого реагирования.

RFM-сегментация гостей (/rfm)#

Разбивает гостей на 11 сегментов по схеме Recency-Frequency-Monetary:

Сегмент Что значит
Champions Часто, недавно, много тратят. Ваши VIP.
Loyal customers Регулярные клиенты.
Potential loyalists Недавно начали ходить чаще обычного.
Recent customers Только что пришли первый раз.
Promising Покупки небольшие, но регулярные.
Customers needing attention Скоро уйдут, если не вернуть.
At risk Раньше тратили много, но давно не были.
Can't lose them Лояльные, но пропали — критично вернуть.
About to sleep Снижается частота.
Hibernating Ушли, но недавно.
Lost Давно не возвращаются.

Клик по сегменту → список гостей → CSV-выгрузка для рассылки или обзвона.

Аналитика лояльности (/loyalty_analytics)#

KPI карт лояльности, рост базы, ROI, проникновение лояльности (доля чеков с картой), эффект от участия в программе.

  • Доля лояльности — какой процент общей выручки приносят гости с картами. Типичное значение 5–30%; если показатель близок к 100%, проверьте привязку org_name → ресторан в админке.
  • Uplift среднего чека — насколько лояльный гость тратит больше «обычного». Положительный uplift подтверждает, что программа работает.
  • Penetration / RFM / Cohort retention — углублённые срезы базы клиентов.
Лояльность на мобильном
Аналитика лояльности на телефоне. Числа на скриншоте обезличены.

7. Мониторинг и алерты#

Алерты (/alerts)#

Антифрод и контроль аномалий: правила вида «если на ресторане Х скидки превысили 18% за смену — уведомить».

Создать правило:

  1. Кнопка «+ Новое правило».
  2. Имя, серьёзность (info / warn / critical).
  3. Метрика (скидки %, удаления %, выручка vs baseline, средний чек, …).
  4. Условие (>, <, отклонение от baseline) и порог.
  5. Cooldown — сколько минут после срабатывания не дублировать.
  6. Whitelist — события календаря (банкеты, акции), которые игнорировать.
  7. Каналы доставки — список ID каналов (email/Telegram/Web Push) через запятую.
  8. Web Push — чекбокс «Доставлять Web Push всем подписанным пользователям» (для critical включается автоматически).
  9. Кнопка «Предпросмотр за 7 дней» — покажет, сколько раз правило сработало бы на исторических данных.
Окно создания правила алерта
Форма создания правила алерта: метрика, условие, порог, каналы доставки.

Лента инцидентов показывает все срабатывания: ресторан, дата, метрика, порог, статус (open / ack / resolved / suppressed). Кнопки: Acknowledge (взяли в работу) и Resolve (закрыли с комментарием).

Инсайты (/insights)#

Автоматический детектор аномалий по 7 паттернам: резкие просадки выручки, скачок скидок, нехарактерный для дня недели средний чек и т.д. В отличие от алертов, не настраивается — работает «из коробки».

Загрузка (/loadmap)#

Heatmap «день недели × неделя» по выручке, чекам или среднему чеку. Видно, что у вас стабильно тёмные понедельники и провисает середина недели.

Тепловая карта часовой нагрузки
Тепловая карта нагрузки помогает увидеть «горячие» и «мёртвые» часы.

8. Подписки и уведомления#

Раздел /subscriptions (в меню — «Подписки»). Четыре таба.

Таб «Каналы»#

Куда отправлять — email, Telegram, Web Push.

  • Email — указать список адресов и SMTP-канал. Кнопка «Тест» отправляет проверочное письмо.
  • Telegram — токен бота настраивается в .env (один на всю систему), а в канале указывается chat_id группы или человека. Чтобы найти chat_id — добавьте бота в чат и напишите ему /start.
  • Web Push — генерируется автоматически из подписки в браузере (см. таб «Push на телефон»).

Таб «Рассылки»#

Дайджесты «Итоги дня» в указанное время по МСК.

  • Расписание — час/минута, и weekday для еженедельных.
  • Каналы — какие каналы получают (через запятую).
  • Что включить: топ/анти-топ ресторанов; новые отзывы 1–2★; открытые алерты за день (топ-5 по серьёзности).
  • Кнопка «Предпросмотр» собирает сообщение прямо сейчас, не отправляя. Кнопка «Отправить сейчас» — пробная отправка вне расписания.

Таб «Push на телефон»#

Включить уведомления на текущем устройстве. Работает в Chrome / Firefox / Edge / Safari 16.4+. На iPhone нужно сначала поставить сайт на главный экран (см. §2.2).

Баннер «Web Push недоступен: VAPID не настроен»

Это к администратору, не к вам — нужно настроить VAPID-ключи на сервере.

Таб «Очередь» (только для админа)#

Лента всех отправляемых уведомлений за последние 7 дней с фильтром по статусу. Полезно, чтобы убедиться, что письма реально уходят, или найти инцидент по error-сообщению. Авто-обновление каждые 15 с.

Новости сервиса#

В шапке справа есть иконка-рупор 📣 — это лента новостей от администраторов: анонсы нового функционала, важные объявления. Если есть непрочитанные новости, на иконке горит красный счётчик. Клик открывает панель — нажмите на заголовок, чтобы развернуть текст; новость отмечается прочитанной автоматически, счётчик гаснет.

Публиковать и редактировать новости могут только администраторы (кнопка «+ Новость» в панели). Текст пишется в Markdown: заголовки, жирный, списки, ссылки. Важную новость можно «закрепить» — она всегда вверху списка.


9. История изменений и журнал событий#

История версий отчётов (/report-history)#

Все правки управленческих отчётов пишутся в журнал и ничего не теряется. Под учётом: Т-2, Наличка, Кассовый отчёт, Безналичка, Зарплата (включая изменения окладов, должностей, графиков, приём и увольнение сотрудников) и Табель явки. Раздел и кнопки истории доступны только администратору.

Где смотреть:

  • На странице каждого отчёта — кнопка «История» (Т-2, Наличка, Кассовый, Безналичка, Зарплата, Табель) открывает историю текущего ресторана и месяца.
  • Раздел «История версий» — вкладка «По отчёту»: выбор отчёт + ресторан + месяц; вкладка «Все изменения»: общая лента последних правок.

Что можно сделать:

  • Детали — показывает, что именно изменилось в версии (например, «оклад 120 000 → 135 000», добавленные/удалённые дни, поставки, отметки табеля).
  • Восстановить — возвращает данные месяца к выбранной версии. Текущие данные заменяются; само восстановление тоже фиксируется в истории (откатываемо).
  • СкачатьExcel (читаемая таблица: отчёт, ресторан, месяц, кто, когда, что изменилось) или JSON (полный дамп всех версий с данными — для архива или повторного восстановления).

Восстановление зарплаты — помесячно-локальное

Откат версии зарплаты/табеля меняет только выбранный месяц; другие месяцы не затрагиваются. Сотрудник определяется по ФИО (это его идентичность в системе) — переименованный сотрудник при откате будет восстановлен как новый.

Журнал событий (/activity-log)#

Глобальный журнал действий пользователей: вход, выход, создание правила алерта, отправка дайджеста, экспорт CSV и т.д. Доступно администраторам. Полезно для аудита и расследований («кто удалил план на ноябрь?»).

Для каждого события сохраняются:

  • Время в МСК.
  • Пользователь, страница, ресторан, тип действия.
  • IP-адрес клиента и User-Agent (браузер, ОС, версия).
  • Device ID — UUID из cookie rk7_device, ставится один раз на 5 лет.
  • Browser fingerprint — короткий хэш от UA + платформа + язык + разрешение + таймзона + canvas. Привязывает событие к браузеру, даже если IP меняется.
  • Гео — город и страна по офлайн-базе GeoLite2 (если установлена).

MAC-адрес через браузер недоступен

Это техническое ограничение протокола HTTP. Связки IP + fingerprint + device cookie достаточно, чтобы отличить компьютеры внутри корпоративной сети. Срок хранения журнала — 1 год.

Сессии (/sessions)#

Список активных и недавних подключений. Для каждой сессии — пользователь, начало, последняя активность, IP, гео, устройство и device_id.

  • Кнопка Завершить — принудительный logout. После клика пользователь на любом следующем запросе получит redirect на /login.
  • Сессии без активности > 24 ч автоматически закрываются как idle_timeout.
  • Используйте, если пользователь забыл выйти на чужом компьютере или подозревается утечка пароля.

Нагрузка (/load-stats)#

Статистика HTTP-нагрузки на систему за выбранный период (по умолчанию — последние 7 дней). Считаются все обращения к серверу — каждый запрос попадает в агрегат.

  • Итоги сверху — всего запросов, число ошибок и их доля, среднее время ответа, сколько сессий активно и сколько пользователей онлайн прямо сейчас (активность за последние 5 минут).
  • График «Нагрузка во времени» — объём запросов и ошибок по часам (для коротких периодов) или по дням. Видно пики нагрузки.
  • Статус-коды — распределение ответов: 2xx (успех), 3xx (редиректы), 4xx (ошибки клиента), 5xx (ошибки сервера).
  • Топ пользователей / IP / эндпоинтов — кто и что создаёт основную нагрузку, где больше всего ошибок и какие запросы самые медленные.

Технически: middleware считает каждый запрос в память без задержки, фоновая задача раз в минуту сбрасывает агрегаты в таблицу http_request_stats. История хранится тем же сроком, что и Журнал событий (ACTIVITY_LOG_RETENTION_DAYS, по умолчанию 365 дней). Страница доступна только администраторам.


10. Дашборды#

Мои дашборды (/dashboards)#

Личные виджеты-сводки: соберите свой экран из готовых блоков (выручка, алерты, отзывы, лояльность). Дашборды у каждого пользователя свои и не делятся между ролями. Сохраняются на сервере — доступны с любого устройства под вашим логином.


11. Админ-страницы#

Видны только пользователям с правами администратора.

Личный кабинет / Пользователи (/admin/users)#

Управление пользователями сети: создание, смена паролей, права доступа к ресторанам и страницам. Каждое изменение прав пишется в Журнал событий.

Парсинг отзывов (/admin/reviews)#

Управление парсером Яндекс.Карт: список ресторанов с привязанными URL, статус последнего сбора, ручной запуск.

  • Парсер запускается ночью автоматически.
  • Кнопка «Перезапустить» — собрать вручную для конкретного ресторана.
  • Если URL не привязан, отзывы по ресторану не собираются.

Исключения категорий меню (/admin/dish-exclusions)#

Per-restaurant список категорий блюд (полный путь, например Кухня / Десерты / Технические), исключаемых из расчётов выручки и маржи.

  • Полезно для технических SKU, межсетевых перемещений, сервисных позиций.
  • Влияет только на отчёты — данные RK7 не трогаются.
  • Привязка строго по полному пути категории, а не по названию блюда.

История меню (/menu-history)#

Журнал изменений меню и цен RK7. Ночью (вместе с общим sync в 05:00 МСК) система тянет актуальное меню из таблиц MENUITEMS / PRICES / CATEGLIST и сравнивает с последним снимком. Отличия пишутся append-only — каждая версия блюда хранится навсегда.

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

Вкладки:

  1. Блюда — текущие позиции; клик по строке раскрывает все версии (по всем типам цен, со «действует с / до»).
  2. Лента изменений — что менялось за период, с «было/стало» для цен. Фильтры: тип изменения, дата с, ресторан (БД).
  3. Логи sync (admin) — журнал запусков. Здесь же кнопка «Синхронизировать сейчас» — полный пересчёт вручную (нужно для проверки сразу после изменения цен в R-Keeper, без ожидания 05:00).

Связка с маржинальным сравнением

Чтобы корректно сравнивать периоды с учётом изменения цен и себестоимости — откройте страницу «Маржинальное сравнение» (ниже).

Маржинальное сравнение (/margin-compare)#

Страница отвечает на вопрос: «Выручка выросла на 10% — это от объёма продаж, от поднятия цен или от снижения себестоимости?» Обычное LFL-сравнение показывает только дельту суммы, не различая компоненты.

Что считаем:

  • Факт — выручка, себестоимость и маржа за каждый из двух периодов (источник — rk7_dish_cache).
  • Атрибуция дельты маржи: объём Σ(qty_B − qty_A)×цена_A, цена Σ qty_B×(цена_B − цена_A), себестоимость Σ qty_B×(cost_B − cost_A), микс (новые и снятые блюда).
  • Симуляция «при ценах A»Σ qty_B × цена_A: какая была бы выручка, если бы цены не менялись. Разница с реальной B — прирост от подъёма цен.

Как читать: выберите периоды (по умолчанию A = прошлый месяц, B = текущий) и рестораны; KPI-блок покажет A, B (с дельтой) и симуляцию; waterfall разложит Δ маржи на компоненты; таблица «Топ драйверов» — какие блюда дали наибольший вклад.

Ограничения

Требует RK7_DISH_SYNC_ENABLED=1 и backfill rk7_dish_cache за нужные даты. Блюда без сопоставления dish_guid ↔ dish_code помечаются «без guid» и попадают только в факт. Запуск POST /api/admin/rk7-dish-dictionary/sync повышает точность.


12. FAQ#

Почему за вчера выручка пустая? Ночная синхронизация с R-Keeper запускается в 05:00 МСК. Если сейчас раньше — данные могут быть ещё в обработке. Можно нажать «Обновить» (иконка ↻ в шапке) для ручного запроса. Если позже 06:00 и всё ещё пусто — обратитесь к администратору.

Как скачать отчёт в Excel / CSV? В шапке кнопка «Экспорт» → выбрать формат. На мобайле кнопка скрыта — откройте страницу с десктопа.

Какой логин и пароль? Выдаёт администратор сети. Если забыли — попросите его сбросить.

Я вижу не все рестораны. Это нормально? Да, доступ настраивается администратором. Если вашему ресторану нужен доступ к данным соседнего — это надо запрашивать отдельно.

Зачем «baseline DoW» и почему он отличается от плана? План — это то, что вы хотите. Baseline — то, что обычно происходит (среднее за последние 8 одинаковых дней недели). Сравнение «факт vs baseline» ловит провалы быстрее плана, особенно если план «нарисован».

Как откатить случайную правку плана / зарплаты / кассы? Все правки управленческих отчётов пишутся в журнал. Сообщите администратору дату, страницу и что именно поменялось — он восстановит прежнее значение.

Push не приходит, хотя я нажал «Включить уведомления». Проверьте, что в настройках сайта в браузере/телефоне уведомления разрешены. Откройте «Подписки → Очередь» (или попросите админа) — посмотрите статус; если dead, нужна проверка VAPID и доступности push-сервера.

Алерт сработал, но письмо не пришло. В правиле могут быть не указаны каналы, или канал сломан. Админ → «Подписки → Очередь», фильтр failed, поле error покажет причину.

Можно ли пользоваться сервисом на телефоне? Да, полностью адаптировано — см. §2. Рекомендуем установить как PWA: иконка на главном экране, полноэкранный режим.


13. Глоссарий#

Термин Расшифровка
AOV Average Order Value, средний чек.
Baseline Эталонное значение (среднее за окно), от которого отсчитывается отклонение.
Baseline DoW Среднее за тот же день недели за последние 8 недель.
DoW Day-of-Week, день недели.
FTE Full-Time Equivalent, эквивалент полной ставки — мера численности персонала.
LFL Like-for-Like, сравнение со сдвигом 364 дня (тот же день недели прошлого года).
RFM Recency-Frequency-Monetary, сегментация гостей.
PWA Progressive Web App — сайт, который можно установить как приложение.
Severity Серьёзность инцидента: info, warn, critical.
Cooldown Период «остывания» правила алерта: после срабатывания N минут не реагирует.
VAPID Voluntary Application Server Identification — пара ключей для Web Push.
Waterfall «Водопадный» график: как итог получен сложением положительных и отрицательных компонент.
dedupe_key Уникальный ключ инцидента, чтобы не плодить дубли за одну смену/день.

14. Куда писать по вопросам#

  • Не работает кнопка, не открывается страница, ошибка на экране — администратор сети. Приложите скриншот и точный URL.
  • Нет доступа к ресторану / странице — администратор. Укажите, к какому конкретно нужен доступ и зачем.
  • Кажется, цифры неверные — администратор. Опишите страницу, период, ресторан и что именно смущает (по возможности — со скриншотом).
  • Нужен откат правки плана / Т-2 / зарплаты — администратор. Укажите дату, страницу и прежнее значение.