# Проект: Центр кухни, закупок, документов и HumanGate

## 1. Главная идея

Создать один компактный центр управления кухней и закупками, где система собирает:

- меню;
- технологические карты;
- калькуляционные карты;
- меню-раскладку;
- расчёт сырья;
- накладные;
- прайсы;
- историю закупок с 2025 года;
- договоры поставщиков;
- акты кухни;
- предложения агента по выгодной закупке;
- отчёты собственнику и бухгалтеру;
- решения через HumanGate.

Главный принцип:

```text
Один главный экран
→ внутри отдельные модули
→ каждый модуль открывается по нажатию
→ на главном экране только короткие статусы
```

Система не пишет в 1С, не оплачивает сама, не отправляет поставщикам автоматически и не подключает ЕГАИС / Меркурий / Честный знак / legal EDI.

Агент только:

```text
читает данные из агрегатора
сверяет
анализирует
находит риски
предлагает решение
передаёт на HumanGate владельца
```

---

## 2. Правильное название

Основное название:

```text
Центр кухни, закупок и контроля
```

Внутреннее техническое название:

```text
Food & Procurement Control Center
```

---

## 3. Главный экран

На главном экране должно быть 9 блоков.

### 1. Гости и питание

Показывает:

```text
сегодня
завтра
7 дней
14 дней
```

Внутри:

```text
гостей всего
завтраки
обеды
ужины
дети
особые отметки
аллергии
VIP
```

Пример карточки:

```text
Сегодня:
Гостей: 214
Завтрак: 198
Обед: 176
Ужин: 205
Детей: 62
Особые отметки: 4
```

### 2. Меню и технологии

Внутри:

```text
меню
технологические карты
калькуляционные карты
меню-раскладка
рецептуры
нормы сырья
```

Фильтры:

```text
сегодня
завтра
7 дней
14 дней
сезон
```

### 3. Сырьё и потребность

Внутри:

```text
расчёт сырья на день
расчёт сырья на завтрак
расчёт сырья на обед
расчёт сырья на ужин
остатки
дефициты
прогноз расхода
рекомендуемый закуп
```

Пример:

```text
Курица:
остаток: 42 кг
нужно: 65 кг
дефицит: 23 кг
статус: требуется закуп
```

### 4. Накладные и закупки

Внутри:

```text
входящие накладные
счета
прайсы
история закупок
закуп 2025
закуп 2026
поставщики
сравнение цен
```

Задача блока:

```text
собрать все документы поставщиков в одном месте
распознать поставщика
связать накладную с договором
проверить цену, количество, сумму и реквизиты
```

### 5. Документы кухни

Внутри одной вкладки:

```text
требования-накладные
акты списания
акты брака
акты расхождения
акты возврата
инвентаризационная ведомость
сличительная ведомость
```

Важно: это не отдельные дашборды. Это один модуль «Документы кухни», внутри которого документы открываются по типу и периоду.

Фильтры:

```text
сегодня
2 дня
7 дней
14 дней
месяц
```

### 6. Договоры и поставщики

Внутри:

```text
карточки поставщиков
договоры
срок действия договора
приложения к договору
прайсы
скидки
условия поставки
реквизиты
расчётные счета
ответственные лица
```

Агент проверяет:

```text
есть ли договор
действует ли договор
есть ли приложение с ценами
есть ли скидка
совпадают ли реквизиты
совпадает ли расчётный счёт
```

### 7. Предложения агента

Это отдельный обязательный блок.

Название:

```text
Предложения агента по закупке
```

Задача блока:

```text
агент сравнивает цены, поставщиков, скидки, качество, договоры и реквизиты
и предлагает, у кого выгоднее покупать каждый товар
```

Агент не обязан выбирать одного поставщика на весь заказ.

Правильная логика:

```text
картофель — у поставщика А
мясо — у поставщика Б
молочка — у поставщика В
овощи — у поставщика А
бакалея — у поставщика Г
```

Цель:

```text
купить дешевле
но не хуже нормального среднего качества
без риска по договору
без риска по реквизитам
без риска по поставке
```

### 8. HumanGate владельца

Это блок решений владельца.

Внутри:

```text
платежи на подтверждение
закупки на подтверждение
изменение поставщика
рисковые накладные
расхождения
несовпадение реквизитов
отсутствие договора
аномальные цены
пропавшие скидки
```

Кнопки:

```text
Подтвердить
Отклонить
На проверку
Запросить документ
Передать бухгалтеру
```

### 9. Отчёты

Раздел делится на два отчёта.

#### Отчёт собственнику

Короткий управленческий отчёт:

```text
закуплено
списано
дефициты
перерасход
экономия
риски
подозрительные цены
несовпадения
решения HumanGate
```

#### Отчёт бухгалтеру

Только исполнительные задачи:

```text
что подтверждено владельцем
что можно оплачивать
где не хватает документов
где нет договора
где расхождение
где платёж заблокирован
```

---

## 4. Правильная структура папок

```text
/FOOD-PROCUREMENT-CENTER

    /01-KITCHEN
        /MENU
        /TECH-CARDS
        /CALCULATION-CARDS
        /MENU-LAYOUTS
        /RAW-MATERIAL-PLANS

    /02-PROCUREMENT
        /SUPPLIERS
        /CONTRACTS
        /INVOICES
        /BILLS
        /PRICE-LISTS
        /PURCHASE-HISTORY-2025
        /PURCHASE-HISTORY-2026

    /03-AGENT-OFFERS
        /PRICE-ANALYSIS
        /SUPPLIER-COMPARISON
        /BEST-PURCHASE-PROPOSALS
        /DISCOUNT-CHECK
        /ACCOUNT-CHECK

    /04-KITCHEN-DOCUMENTS
        /REQUIREMENT-INVOICES
        /WRITE-OFF-ACTS
        /DEFECT-ACTS
        /DISCREPANCY-ACTS
        /RETURN-ACTS
        /INVENTORY
        /MATCHING-STATEMENTS

    /05-HUMANGATE
        /OWNER-APPROVALS
        /BLOCKED-PAYMENTS
        /RISK-CARDS
        /APPROVED-FOR-ACCOUNTING

    /06-REPORTS
        /OWNER
        /ACCOUNTING
```

---

## 5. Как система собирает документы

Источники:

```text
почта
Bitrix
Telegram
ручная загрузка
PDF
Excel
сканы
фото накладных
```

Схема:

```text
ПОЧТА / BITRIX / TELEGRAM / PDF / EXCEL
        ↓
Document Ingest Agent
        ↓
OCR + классификация
        ↓
Агрегатор
        ↓
проверка поставщика
        ↓
проверка договора
        ↓
проверка цен
        ↓
проверка реквизитов
        ↓
предложение агента
        ↓
HumanGate владельца
```

---

## 6. Что делает агент

### 1. Определяет поставщика

```text
название
ИНН
договор
контакт
категория товара
история поставок
```

### 2. Проверяет договор

```text
договор есть / нет
срок действия
приложение с ценами
скидки
условия оплаты
условия поставки
реквизиты
```

### 3. Проверяет накладную

```text
товар
количество
цена
сумма
НДС
дата
номер документа
поставщик
```

### 4. Сравнивает цены

```text
последняя цена
средняя цена
минимальная цена
цена у других поставщиков
динамика с 2025 года
аномальный рост
```

### 5. Проверяет скидки

```text
скидка по договору
скидка по прайсу
скидка в счёте
скидка в накладной
скидка перед оплатой
```

Если скидка пропала:

```text
статус: DISCOUNT LOST
решение: отправить на HumanGate
```

### 6. Проверяет расчётные счета

Агент сверяет:

```text
расчётный счёт в договоре
=
расчётный счёт в накладной
=
расчётный счёт в счёте
=
расчётный счёт для платежа
```

Если не совпадает:

```text
статус: ACCOUNT MISMATCH
платёж блокируется
решение только через владельца
```

---

## 7. Как агент выбирает поставщика

Агент формирует таблицу:

```text
Товар
Нужно
Поставщик 1
Цена 1
Поставщик 2
Цена 2
Лучшая цена
Качество
Риск
Рекомендация
```

Пример:

```text
Куриное филе:
нужно 35 кг

Поставщик А:
310 ₽/кг
договор есть
реквизиты совпадают
качество стабильное
риск LOW

Поставщик Б:
295 ₽/кг
договор есть
реквизиты не совпадают
качество неизвестно
риск HIGH

Рекомендация:
покупать у Поставщика А.
Причина:
у Поставщика Б цена ниже, но риск по реквизитам и качеству.
```

Вывод агента не должен быть примитивным:

```text
самое дешёвое = купить
```

Правильная логика:

```text
дешевле + нормальное качество + договор + реквизиты + поставка без риска
```

---

## 8. Статусы предложений агента

```text
BEST PRICE — лучшая цена
GOOD PRICE — нормальная цена
OVERPRICE — цена завышена
NO CONTRACT — нет договора
CONTRACT EXPIRED — договор истёк
ACCOUNT MISMATCH — не совпадают расчётные счета
DISCOUNT LOST — скидка не применена
QUALITY RISK — риск по качеству
RISKY SUPPLIER — рискованный поставщик
APPROVED SUPPLIER — поставщик подходит
BLOCKED — заблокировано
```

---

## 9. Когда система блокирует оплату или закупку

Автоблокировка:

```text
нет договора
договор просрочен
поставщик неизвестен
расчётные счета не совпадают
цена резко выше средней
скидка не применена
накладная дублируется
сумма не совпадает
поставка не подтверждена
качество ниже допустимого уровня
нет подтверждения владельца
```

---

## 10. Что видит владелец

На главном экране владелец видит коротко:

```text
Накладные: 14 новых / 2 с риском
Договоры: 1 истекает / 1 отсутствует
Закупка: возможная экономия 16 500 ₽
Реквизиты: 1 несовпадение
Скидки: 2 не применены
HumanGate: 4 решения ждут владельца
```

Карточка решения:

```text
Закупка на завтра

Сумма по текущей схеме: 186 000 ₽
Сумма по предложению агента: 169 500 ₽
Потенциальная экономия: 16 500 ₽
Риск: MEDIUM

Причины риска:
- по молочной продукции нет свежего прайса
- по одному поставщику договор заканчивается через 5 дней

Решение:
[Подтвердить]
[На проверку]
[Отклонить]
```

---

## 11. Что видит шеф-повар

Шеф-повар видит:

```text
меню
технологические карты
расчёт сырья
количество гостей
остатки
дефициты
рекомендованный список закупа
статус заявки
```

Шеф-повар не видит:

```text
платежи
банковские реквизиты
прибыль
бухгалтерию
полные договоры
юридические документы
персональные данные гостей
```

---

## 12. Что получает бухгалтер

Бухгалтер получает только то, что прошло HumanGate:

```text
APPROVED BY OWNER
```

В задаче бухгалтеру:

```text
поставщик
сумма
основание
договор
накладная
счёт
проверка реквизитов
проверка скидки
решение владельца
комментарий агента
```

Бухгалтер оплачивает вручную.

---

## 13. Почему всё лучше держать в одном центре

Правильно совмещать:

```text
меню
сырьё
закупки
накладные
поставщики
предложения агента
HumanGate
отчёты
```

Потому что это одна цепочка:

```text
гости
→ меню
→ технологические карты
→ сырьё
→ закупка
→ накладная
→ договор
→ цена
→ реквизиты
→ HumanGate
→ бухгалтерия
```

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

Нельзя совмещать в одну кашу:

```text
операционную кухню
юридические договоры
платежи
реквизиты
решения владельца
```

Поэтому нужен один центр, но разные права доступа.

---

## 14. Итоговая архитектура

```text
1С / PMS / склад / почта / Bitrix / Telegram / PDF / Excel
        ↓
АГРЕГАТОР
        ↓
Document Ingest Agent
        ↓
Contract Check
        ↓
Price Analysis
        ↓
Supplier Comparison
        ↓
Bank Account Check
        ↓
Discount Check
        ↓
Agent Offers
        ↓
HumanGate владельца
        ↓
Бухгалтер / закупщик
```

---

## 15. Финальный вывод

Правильное решение:

```text
делать один Центр кухни, закупок и контроля;
внутри держать 9 компактных блоков;
документы не выводить сразу, а открывать по нажатию;
добавить отдельный блок “Предложения агента”;
агент сравнивает цены, поставщиков, скидки и реквизиты;
закупку можно делить между разными поставщиками;
главный критерий — не просто дешевле, а дешевле + нормальное качество + договор + безопасные реквизиты;
HumanGate владельца обязателен;
бухгалтер получает только подтверждённые задачи;
1С остаётся только источником данных;
гос. системы пока не подключаются.
```

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