8. Сквозные потоки
Здесь показаны полные цепочки бизнес-процессов, которые проходят через несколько модулей. Каждый поток — это реальный сценарий ресторана «Бергамот».
Поток 1. Закупка → Склад → Продажа → Отчёт
Самый частый поток: товар пришёл от поставщика, попал на склад, продан через кассу, попал в отчёт.
ПОСТАВЩИК СКЛАД МЕНЮ POS БУХГАЛТЕРИЯ ОТЧЁТ │ │ │ │ │ │ │ 1. Накладная │ │ │ │ │ │ 30 кг говядины │ │ │ │ │ │ × 800 ₽/кг │ │ │ │ │ │────────────────►│ │ │ │ │ │ │ │ │ │ │ │ 2. Подтверждение │ │ │ │ │ остаток: +30 кг │ │ │ │ │ себест.: 800 ₽/кг │ │ │ │ │ │ │ │ │ │ │ │ 3. Техкарта │ │ │ │ │ «Стейк Рибай» │ │ │ │ │ себест.: 470 ₽ │ │ │ │ │ │ │ │ │ │ │ 4. Цена │ │ │ │ │ «Центр»: 1 350 ₽ │ │ │ │ │ │ │ │ │ │ │ │ 5. Чек: 2 стейка │ │ │ │ │ 2 × 1 350 = 2 700 ₽ │ │ │ │ │ │ │ │ │ 6. Списание │ │ │ │ │ −0.9 кг говядины │ │ │ │ │ (2 порции × 0.45 кг) │ │ │ │ │ │ │ │ │ │ │ │ │ │ 7. Проводка │ │ │ │ │ Дебет: Касса │ │ │ │ │ Кредит: Выручка │ │ │ │ │ 2 700 ₽ │ │ │ │ │ │ │ │ │ │ │ │ 8. Отчёт │ │ │ │ │ Стейк: │ │ │ │ │ выручка 2700₽ │ │ │ │ │ себест. 940₽ │ │ │ │ │ маржа 1760₽Числовой пример от начала до конца
┌─────────────────────────────────────────────────────────────────────┐│ ПУТЬ ГОВЯДИНЫ ЧЕРЕЗ СИСТЕМУ │├─────────────────────────────────────────────────────────────────────┤│ ││ 1. ЗАКУПКА ││ Накладная: 30 кг × 800 ₽/кг = 24 000 ₽ (+ НДС 10% = 26 400 ₽)││ ││ 2. НА СКЛАДЕ ││ Остаток: 30 кг, себестоимость 800 ₽/кг ││ ││ 3. В ТЕХКАРТЕ «СТЕЙК РИБАЙ» ││ Говядина: 450 г брутто, потери 5% + 15% ││ Стоимость в блюде: 800 × 0.45 / 0.8075 = 445.82 ₽ ││ + остальные ингредиенты = 24.30 ₽ ││ Себестоимость порции: 470.12 ₽ ││ ││ 4. ЦЕНА ПРОДАЖИ ││ «Центр»: 1 350 ₽ ││ Маржа: 1 350 − 470 = 880 ₽ (65%) ││ ││ 5. ПРОДАЖА (за день: 25 порций) ││ Выручка: 25 × 1 350 = 33 750 ₽ ││ Себестоимость: 25 × 470 = 11 750 ₽ ││ Валовая прибыль: 22 000 ₽ ││ ││ 6. РАСХОД СО СКЛАДА ││ Говядина: 25 × 0.45 = 11.25 кг списано ││ Остаток: 30 − 11.25 = 18.75 кг ││ При FIFO: списано по 800 ₽/кг (первая партия) ││ ││ 7. БУХГАЛТЕРИЯ ││ Проводка выручки: Дебет Касса 33 750, Кредит Выручка 33 750 ││ Платёж поставщику: Дебет Поставщик 26 400, Кредит Банк 26 400 ││ ││ 8. ОТЧЁТ ││ Стейк Рибай: 25 шт, выручка 33 750 ₽, маржа 65% ││ │└─────────────────────────────────────────────────────────────────────┘Поток 2. Новое блюдо → Техкарта → Цена → Касса
Технолог создаёт новое блюдо и выводит его в продажу.
Шаг Кто Что делает Модуль──── ─────────────── ────────────────────────────────── ────────────── 1 Менеджер меню Создаёт группу «Десерты» Меню 2 Менеджер меню Создаёт номенклатуру Меню «Тирамису» (тип: PRODUCT) 3 Менеджер меню Привязывает единицы: порция (осн.), Меню грамм (коэф. 250) 4 Технолог Создаёт техкарту: Меню • Маскарпоне 150 г (cold loss 0%) • Печенье Савоярди 80 г (0%) • Кофе эспрессо 30 мл (hot loss 5%) • Какао-порошок 5 г (0%) • Сахар 25 г (0%) Выход: 1 порция 5 Система Рассчитывает себестоимость: Меню 132.50 ₽/порция 6 Менеджер меню Создаёт приказ об изменении цен: Меню «Центр»: 480 ₽, «Парк»: 420 ₽ 7 Менеджер меню Проводит приказ → Меню цены вступают в силу 8 Менеджер меню Настраивает видимость группы Меню «Десерты» → включена для обоих точек 9 Система Outbox → Kafka → Синхронизация номенклатура, техкарта, цена отправлены на кассу10 Касса Получила данные, обновила POS локальную базу11 Кассир Видит «Тирамису» в меню, POS пробивает первый чекПоток 3. Инвентаризация → Коррекция → Проводки
Управляющий проводит инвентаризацию и система корректирует остатки.
Шаг Кто Что делает Модуль──── ─────────────── ────────────────────────────────── ────────── 1 Управляющий Создаёт инвентаризацию Склад (склад «Основной», дата 16.04) 2 Система Автоматически подставляет Склад учётные остатки (bookQuantity) 3 Управляющий Вводит фактические остатки: Склад • Говядина: учёт 25.0, факт 24.5 • Курица: учёт 18.0, факт 18.2 • Масло: учёт 6.0, факт 6.0 4 Управляющий Проводит инвентаризацию Склад 5 Система Создаёт транзакции: Склад • SHORTAGE: −0.5 кг говядины • SURPLUS: +0.2 кг курицы 6 Система Корректирует остатки до Склад фактических 7 Система Создаёт проводки: Бухгалтерия • Недостача 0.5 кг × 800 ₽ = 400 ₽ Дебет: Недостачи Кредит: Товарные запасы • Излишки 0.2 кг × 355 ₽ = 71 ₽ Дебет: Товарные запасы Кредит: ИзлишкиПоток 4. Кассовая смена: открытие → работа → закрытие → приёмка
Полный цикл рабочего дня кассира.
КАССИР СИСТЕМА УПРАВЛЯЮЩИЙ │ │ │ 10:00 Открытие смены │ │ «Центр-1», баланс 5 000 ₽ │ │ │─────────────────────────►│ │ │ │ │ 10:30 Чек #1: 2 латте │ │ │ 760 ₽, оплата картой │ │ │─────────────────────────►│ │ │ │ │ 12:00 Внесение (размен) │ │ │ +3 000 ₽ наличными │ │ │─────────────────────────►│ │ │ │ │ 12:15–21:30 │ │ │ Ещё 46 чеков │ │ │ Выручка: 97 240 ₽ │ │ │─────────────────────────►│ │ │ │ │ 14:00 Возврат чека #7 │ │ │ −1 350 ₽ (стейк) │ │ │─────────────────────────►│ │ │ │ │ 16:00 Изъятие (инкассация) │ │ │ −15 000 ₽ наличными │ │ │─────────────────────────►│ │ │ │ │ 22:00 Закрытие смены │ │ │─────────────────────────►│ │ │ Агрегация итогов: │ │ • 47 чеков, 2 возврата │ │ • Выручка: 98 000 ₽ │ │ • Возвраты: −2 700 ₽ │ │ • Внесения: +3 000 ₽ │ │ • Изъятия: −15 000 ₽ │ │ • Итого в кассе: 88 300 ₽ │ │ │ │ │ │ Уведомление │ │ │───────────────────────────►│ │ │ │ │ │ 22:30 Проверка │ │ Наличные в кассе │ │ совпадают? │ │ │ │ │ Да → ПРИНЯТА │ │ │◄───────────────────────────│ │ │ │ │ Формирование отчёта │ │ по выручке за день │Поток 5. Изменение закупочной цены → каскад пересчётов
Подорожало сырьё — и это влияет на всю цепочку.
СОБЫТИЕ: Поставщик поднял цену помидоров со 100 до 150 ₽/кг
┌──────────────────────────────────────────────────────────────────┐│ ││ 1. НОВАЯ НАКЛАДНАЯ ││ Помидоры: 50 кг × 150 ₽/кг (было 100 ₽/кг) ││ ││ 2. СКЛАД: средневзвешенная пересчитана ││ Было: 20 кг × 100 ₽ = 2 000 ₽ ││ Приход: 50 кг × 150 ₽ = 7 500 ₽ ││ Новая средняя: 9 500 / 70 = 135.71 ₽/кг ││ ││ 3. ТЕХКАРТА «ТОМАТНЫЙ СОУС» (заготовка) ││ Помидоры: 2 кг брутто, coldLoss 10% ││ Старая стоимость помидоров в соусе: 222.22 ₽ ││ Новая стоимость: 135.71 × 2 / 0.9 = 301.58 ₽ ││ Себестоимость соуса: 80 → 110 ₽/кг ▲ +30 ₽ ││ ││ 4. КАСКАДНЫЙ ПЕРЕСЧЁТ (блюда, использующие соус) ││ ││ Пицца Маргарита (100 г соуса): ││ costPrice: 180 → 183 ₽ ▲ +3 ₽ ││ Цена: 650 ₽ → маржа: 470 → 467 ₽ (72% → 71.8%) ││ ││ Паста Болоньезе (150 г соуса): ││ costPrice: 95 → 99.50 ₽ ▲ +4.50 ₽ ││ Цена: 480 ₽ → маржа: 385 → 380.50 ₽ (80% → 79.3%) ││ ││ Лазанья (200 г соуса): ││ costPrice: 240 → 246 ₽ ▲ +6 ₽ ││ Цена: 720 ₽ → маржа: 480 → 474 ₽ (66.7% → 65.8%) ││ ││ 5. РЕШЕНИЕ МЕНЕДЖЕРА ││ Маржа снизилась незначительно → цены не поднимаем ││ ИЛИ ││ Маржа упала ниже 60% → создаём приказ об изменении цен ││ │└──────────────────────────────────────────────────────────────────┘Поток 6. Оплата накладной поставщику
┌─────────────────────────────────────────────────────────────────────┐│ ││ 1. Накладная #042 подтверждена: 39 500 ₽ ││ Статус оплаты: НЕ ОПЛАЧЕНА ││ ││ 2. Бухгалтер создаёт платёж (частичный): 20 000 ₽ ││ → Автоматическая проводка: ││ Дебет: Расчёты с поставщиками +20 000 ₽ ││ Кредит: Банковский счёт −20 000 ₽ ││ → Статус: ЧАСТИЧНО ОПЛАЧЕНА (20 000 / 39 500) ││ ││ 3. Через неделю: второй платёж 19 500 ₽ ││ → Автоматическая проводка: ││ Дебет: Расчёты с поставщиками +19 500 ₽ ││ Кредит: Банковский счёт −19 500 ₽ ││ → Статус: ОПЛАЧЕНА (39 500 / 39 500) ││ ││ 4. Опционально: создание ПКО ││ Объединение обоих платежей в один кассовый документ ││ │└─────────────────────────────────────────────────────────────────────┘