Інтерфейс створення технологічних карт
Коротко. Інтерфейс створення технологічних карт має дозволити технологу, шеф-кухарю або бухгалтеру-калькулятору швидко створити рецептуру страви або напівфабрикату, вказати інгредієнти, брутто, нетто, втрати, вихід, склад списання, версію карти, розрахувати планову собівартість і передати карту на затвердження.
Технічне завдання описує інтерфейс створення, редагування, перевірки та затвердження технологічних карт ресторану в ERP/POS-системі.
Мета інтерфейсу — зробити створення технологічної карти зрозумілим для користувача і технічно коректним для подальшого обліку: POS-продажів, списання інгредієнтів, виробництва напівфабрикатів, калькуляції собівартості та фудкосту.
1. Призначення інтерфейсу
Інтерфейс має забезпечити:
- створення нової технологічної карти;
- копіювання існуючої технологічної карти;
- створення нової версії карти;
- заповнення шапки карти;
- заповнення інгредієнтів;
- розрахунок брутто, нетто, втрат і виходу;
- прив'язку карти до страви, напою або напівфабрикату;
- вибір складу списання;
- вибір статей калькуляції;
- перевірку коректності карти;
- розрахунок планової собівартості;
- перегляд фудкосту;
- погодження і затвердження карти;
- блокування змін у затвердженій карті;
- збереження історії версій.
Не допускати. Інтерфейс не повинен дозволяти затвердити технологічну карту без інгредієнтів, без виходу, без одиниці виміру, без складу списання або без чинної номенклатури страви.
2. Ролі користувачів
| Роль | Права | Обмеження |
|---|---|---|
| Шеф-кухар | Створення і редагування чернеток, введення рецептури, копіювання карт | Не може затверджувати фінальну собівартість, якщо це обмежено правами |
| Технолог | Створення, редагування, перевірка норм, втрат, виходу | Не може змінювати карту після затвердження без нової версії |
| Бухгалтер-калькулятор | Перевірка цін, статей калькуляції, складів, собівартості | Не змінює технологічний опис без прав технолога |
| Керівник ресторану | Перегляд, погодження, затвердження | Не редагує інгредієнти без спеціального права |
| Адміністратор системи | Налаштування прав, довідників, доступів | Не змінює зміст карт без аудиту |
3. Основні екрани
| Екран | Призначення |
|---|---|
| Список технологічних карт | Пошук, фільтрація, відкриття, копіювання, створення нових карт |
| Форма технологічної карти | Основний екран створення і редагування карти |
| Вкладка “Інгредієнти” | Заповнення складу рецептури |
| Вкладка “Технологія приготування” | Текстовий опис процесу приготування |
| Вкладка “Калькуляція” | Розрахунок собівартості та фудкосту |
| Вкладка “Модифікатори” | Налаштування додатків, замін і виключень |
| Вкладка “Версії” | Перегляд історії змін карти |
| Вкладка “Аудит” | Журнал змін, хто і що змінив |
4. Екран: Список технологічних карт
4.1. Призначення
Список технологічних карт використовується для пошуку, створення, копіювання, фільтрації та контролю актуальності карт.
4.2. Колонки списку
| Колонка | Тип | Опис |
|---|---|---|
| Код | Рядок | Код технологічної карти |
| Найменування | Рядок | Назва карти |
| Номенклатура | Довідник | Страва, напій або напівфабрикат |
| Тип карти | Перелік | Страва / Напій / Напівфабрикат / Заготовка / Комбо |
| Заклад | Довідник | Якщо карта діє тільки для конкретної точки |
| Версія | Рядок | Версія карти |
| Дата початку дії | Дата | Дата, з якої карта застосовується |
| Дата завершення дії | Дата | Дата завершення дії |
| Статус | Перелік | Чернетка / На перевірці / Затверджена / Закрита |
| Планова собівартість | Число | Собівартість однієї порції |
| Ціна продажу | Число | Поточна ціна меню |
| Фудкост, % | Число | Плановий фудкост |
| Автор | Користувач | Хто створив карту |
| Остання зміна | ДатаЧас | Коли змінювалась карта |
4.3. Фільтри списку
- за закладом;
- за типом карти;
- за номенклатурою;
- за групою меню;
- за статусом;
- за датою дії;
- за автором;
- тільки активні;
- тільки чернетки;
- тільки карти без калькуляції;
- тільки карти з високим фудкостом;
- тільки карти з помилками перевірки.
4.4. Команди списку
| Кнопка | Дія |
|---|---|
| Створити | Відкрити форму нової технологічної карти |
| Копіювати | Створити нову карту на підставі вибраної |
| Нова версія | Створити нову версію вибраної затвердженої карти |
| Відкрити | Відкрити карту для перегляду або редагування |
| Перевірити | Запустити контроль заповнення карти |
| Перерахувати калькуляцію | Оновити собівартість за поточними цінами |
| Експорт | Вивантажити карту у PDF / Excel / друковану форму |
| Закрити | Закрити дію карти |
5. Екран: Форма технологічної карти
Форма технологічної карти складається з шапки, панелі статусу, вкладок і нижньої панелі підсумків.
5.1. Структура форми
| Блок | Призначення |
|---|---|
| Панель команд | Зберегти, перевірити, розрахувати, погодити, затвердити, створити версію |
| Панель статусу | Поточний статус карти і помилки перевірки |
| Шапка карти | Основні реквізити |
| Вкладка “Інгредієнти” | Норми сировини, напівфабрикатів, тари |
| Вкладка “Технологія” | Опис процесу приготування |
| Вкладка “Калькуляція” | Планова собівартість, ціна, фудкост |
| Вкладка “Модифікатори” | Додаткові інгредієнти, заміни, виключення |
| Вкладка “Версії” | Історія версій карти |
| Вкладка “Аудит” | Історія змін |
| Нижня панель підсумків | Вихід, собівартість, ціна, фудкост, маржа |
6. Шапка технологічної карти
6.1. Поля шапки
| Поле | Тип | Обов'язково | Редагування | Опис |
|---|---|---|---|---|
| Код | Рядок | Так | Авто / ручне | Унікальний код карти |
| Найменування | Рядок | Так | Так | Назва технологічної карти |
| Номенклатура | Довідник Номенклатура | Так | Так до затвердження | Страва, напій або напівфабрикат |
| Тип карти | Перелік | Так | Так до затвердження | Страва / Напій / Напівфабрикат / Заготовка / Комбо |
| Організація | Довідник | Так | Так до затвердження | Юридична особа |
| Заклад | Довідник | Ні | Так до затвердження | Якщо карта діє для конкретної точки |
| Цех / зона приготування | Перелік / довідник | Ні | Так | Кухня, бар, кондитерський цех |
| Група меню | Довідник | Ні | Так | Салати, піца, бар, десерти |
| Кількість порцій | Число | Так | Так до затвердження | База нормування |
| Вихід однієї порції | Число | Так | Так до затвердження | Вага або об'єм готової порції |
| Одиниця виходу | Одиниця виміру | Так | Так до затвердження | г, кг, мл, л, порція |
| Версія | Рядок | Так | Авто | Версія карти |
| Основна | Boolean | Так | Так | Чи використовується за замовчуванням |
| Дата початку дії | Дата | Так | Так до затвердження | З цієї дати карта активна |
| Дата завершення дії | Дата | Ні | Так | Дата завершення дії |
| Статус | Перелік | Так | Авто | Чернетка / На перевірці / Затверджена / Закрита |
| Коментар | Текст | Ні | Так | Додаткова інформація |
6.2. Поведінка полів шапки
| Умова | Поведінка |
|---|---|
| Обрано номенклатуру типу “Страва” | Тип карти автоматично заповнюється “Страва” |
| Обрано номенклатуру типу “Напівфабрикат” | Тип карти автоматично заповнюється “Напівфабрикат” |
| Не заповнено кількість порцій | За замовчуванням встановити 1 |
| Не заповнено дату початку дії | За замовчуванням встановити поточну дату |
| Карта затверджена | Критичні поля шапки стають недоступними для редагування |
| Створено нову версію | Дата початку нової версії заповнюється вручну, стара версія закривається попередньою датою |
7. Вкладка “Інгредієнти”
7.1. Призначення
Вкладка використовується для введення норм продуктів, напівфабрикатів, тари, декору та спецій.
7.2. Таблична частина інгредієнтів
| Поле | Тип | Обов'язково | Опис |
|---|---|---|---|
| № | Число | Так | Порядок рядка |
| Група | Перелік | Ні | Основа / Соус / Гарнір / Декор / Тара |
| Інгредієнт | Номенклатура | Так | Продукт або напівфабрикат |
| Тип інгредієнта | Перелік | Так | Сировина / Напівфабрикат / Тара / Декор / Спеція |
| Одиниця | Одиниця виміру | Так | Одиниця норми |
| Брутто | Число | Так | Кількість до обробки |
| Втрати холодної обробки, % | Число | Ні | Очищення, обрізки |
| Нетто | Число | Авто / ручне | Кількість після холодної обробки |
| Втрати теплової обробки, % | Число | Ні | Уварка, ужарка, випікання |
| Вихід після обробки | Число | Авто | Кількість після теплової обробки |
| Норма на 1 порцію | Число | Авто | Кількість на одну порцію |
| Склад списання | Склад | Так | Кухня, бар, основний склад |
| Стаття калькуляції | Довідник | Так | Продукти, тара, спеції, декор |
| Ціна планова | Число | Авто / ручне | Для попереднього розрахунку |
| Сума планова | Число | Авто | Норма × ціна |
| Обов'язковий | Boolean | Так | Чи можна прибрати модифікатором |
| Дозволена заміна | Boolean | Ні | Чи можна замінити інгредієнт |
| Коментар | Текст | Ні | Примітка технолога |
7.3. Команди вкладки “Інгредієнти”
| Кнопка | Дія |
|---|---|
| Додати рядок | Додає порожній рядок інгредієнта |
| Підібрати з номенклатури | Відкриває підбір продуктів |
| Додати напівфабрикат | Додає номенклатуру типу “Напівфабрикат” |
| Додати тару | Додає тару або пакування |
| Копіювати рядок | Копіює вибраний інгредієнт |
| Видалити рядок | Видаляє рядок, якщо карта не затверджена |
| Перерахувати нетто | Перераховує нетто і вихід |
| Заповнити ціни | Підтягує планові або облікові ціни |
| Розкрити напівфабрикат | Показує вкладену рецептуру напівфабрикату |
7.4. Формули вкладки “Інгредієнти”
ВтратиХолодноїОбробкиКількість = Брутто * ВтратиХолодноїОбробки% / 100
Нетто = Брутто - ВтратиХолодноїОбробкиКількість
ВтратиТепловоїОбробкиКількість = Нетто * ВтратиТепловоїОбробки% / 100
ВихідПісляОбробки = Нетто - ВтратиТепловоїОбробкиКількість
НормаНа1Порцію = Брутто / КількістьПорцій
СумаПланова = Брутто * ЦінаПланова
7.5. Підсумки вкладки “Інгредієнти”
У нижній частині вкладки показувати:
| Показник | Формула |
|---|---|
| Загальне брутто | Сума брутто всіх інгредієнтів |
| Загальне нетто | Сума нетто всіх інгредієнтів |
| Загальний вихід після обробки | Сума виходу після обробки |
| Вихід готової страви | Поле шапки карти |
| Різниця виходу | Загальний вихід після обробки - вихід готової страви |
| Планова собівартість карти | Сума планових сум інгредієнтів |
| Планова собівартість порції | Планова собівартість карти / кількість порцій |
8. Вкладка “Технологія приготування”
8.1. Призначення
Вкладка описує текстовий процес приготування страви.
8.2. Поля вкладки
| Поле | Тип | Опис |
|---|---|---|
| Короткий опис | Текст | Загальний опис страви |
| Процес приготування | Rich text / текст | Покроковий опис технології |
| Температурний режим | Текст / число | Температура приготування або зберігання |
| Час приготування | Число | Хвилини |
| Умови зберігання | Текст | Температура, тара, строк зберігання |
| Термін реалізації | Число + одиниця | Години або дні |
| Алергени | Довідник / множинний вибір | Глютен, молоко, горіхи тощо |
| Фото страви | Файл | Фото для меню або кухні |
| Фото подачі | Файл | Еталон сервірування |
9. Вкладка “Калькуляція”
9.1. Призначення
Вкладка показує планову собівартість, ціну продажу, фудкост і маржинальність.
9.2. Поля калькуляції
| Поле | Тип | Опис |
|---|---|---|
| Джерело цін | Перелік | Остання закупівля / Середня / Планова / Ручна |
| Планова собівартість карти | Число | Сума всіх інгредієнтів |
| Планова собівартість порції | Число | Собівартість карти / кількість порцій |
| Ціна продажу | Число | Ціна меню |
| ПДВ, % | Число | Якщо використовується |
| Ціна без ПДВ | Число | Розрахункове поле |
| Валовий прибуток | Число | Ціна без ПДВ - собівартість |
| Фудкост, % | Число | Собівартість / ціна без ПДВ × 100 |
| Маржа, % | Число | Валовий прибуток / ціна без ПДВ × 100 |
| Рекомендована ціна | Число | Може розраховуватись за цільовим фудкостом |
| Цільовий фудкост, % | Число | Норматив ресторану |
9.3. Формули калькуляції
ПлановаСобівартістьКарти = Сума(БруттоІнгредієнта * ЦінаІнгредієнта)
ПлановаСобівартістьПорції = ПлановаСобівартістьКарти / КількістьПорцій
ЦінаБезПДВ = ЦінаПродажу / (1 + ПДВ% / 100)
ВаловийПрибуток = ЦінаБезПДВ - ПлановаСобівартістьПорції
Фудкост% = ПлановаСобівартістьПорції / ЦінаБезПДВ * 100
Маржа% = ВаловийПрибуток / ЦінаБезПДВ * 100
РекомендованаЦіна = ПлановаСобівартістьПорції / ЦільовийФудкост% * 100
9.4. Візуальні індикатори фудкосту
| Умова | Індикатор |
|---|---|
| Фудкост <= цільовий | Зелений статус |
| Фудкост перевищує цільовий до 5 процентних пунктів | Помаранчевий статус |
| Фудкост перевищує цільовий більше ніж на 5 процентних пунктів | Червоний статус |
| Немає ціни хоча б одного інгредієнта | Помилка калькуляції |
10. Вкладка “Модифікатори”
10.1. Призначення
Вкладка використовується для налаштування змін рецептури при продажу.
10.2. Таблична частина
| Поле | Тип | Опис |
|---|---|---|
| Модифікатор | Довідник | Назва модифікатора |
| Тип | Перелік | Додати / Прибрати / Замінити / Змінити розмір |
| Інгредієнт мінус | Номенклатура | Що прибрати або замінити |
| Інгредієнт плюс | Номенклатура | Що додати |
| Кількість | Число | Кількість зміни |
| Одиниця | Одиниця виміру | Одиниця модифікатора |
| Додаткова ціна | Число | Зміна ціни продажу |
| Впливає на списання | Boolean | Якщо Так — змінює собівартість |
| Обов'язковий вибір | Boolean | Якщо користувач POS має вибрати варіант |
11. Вкладка “Версії”
11.1. Призначення
Вкладка показує історію версій технологічної карти.
11.2. Колонки
| Колонка | Опис |
|---|---|
| Версія | Номер версії |
| Дата початку дії | З якої дати діє версія |
| Дата завершення дії | Коли версія закрита |
| Статус | Статус версії |
| Автор | Хто створив версію |
| Причина зміни | Чому створено нову версію |
| Планова собівартість | Собівартість цієї версії |
| Фудкост | Фудкост цієї версії |
11.3. Команди
| Команда | Дія |
|---|---|
| Створити нову версію | Копіює поточну карту в нову чернетку |
| Порівняти версії | Показує різницю інгредієнтів, норм, виходу, собівартості |
| Відкрити версію | Відкриває стару версію тільки для перегляду |
12. Вкладка “Аудит”
Журнал аудиту має фіксувати:
- дату і час зміни;
- користувача;
- поле, яке змінено;
- старе значення;
- нове значення;
- причину зміни, якщо карта була затверджена;
- дію: створення, редагування, перевірка, затвердження, закриття, створення версії.
13. Панель команд форми
| Кнопка | Коли доступна | Дія |
|---|---|---|
| Зберегти | Чернетка / На перевірці | Зберігає карту |
| Перевірити | Чернетка / На перевірці | Запускає контроль заповнення |
| Розрахувати калькуляцію | Є інгредієнти | Заповнює ціни і розраховує собівартість |
| На перевірку | Чернетка без критичних помилок | Переводить карту в статус “На перевірці” |
| Повернути на доопрацювання | На перевірці | Повертає у чернетку з коментарем |
| Затвердити | На перевірці без помилок | Робить карту діючою |
| Створити нову версію | Затверджена | Створює копію карти як нову версію |
| Закрити карту | Затверджена | Встановлює дату завершення дії |
| Друк | Будь-який статус | Формує друковану форму техкарти |
| Експорт | Будь-який статус | Експорт у PDF / Excel |
14. Процес створення нової технологічної карти
- Користувач відкриває список технологічних карт.
- Натискає “Створити”.
- Система відкриває порожню форму карти у статусі “Чернетка”.
- Користувач обирає номенклатуру страви або напівфабрикату.
- Система автоматично заповнює тип карти, одиницю виходу і групу меню, якщо ці дані є в номенклатурі.
- Користувач вказує кількість порцій і вихід однієї порції.
- Користувач переходить на вкладку “Інгредієнти”.
- Додає інгредієнти вручну або через підбір.
- Для кожного інгредієнта вказує брутто, втрати, склад списання і статтю калькуляції.
- Система автоматично розраховує нетто, вихід після обробки, норму на порцію.
- Користувач заповнює технологію приготування.
- Користувач натискає “Перевірити”.
- Система показує список помилок або дозволяє передати карту на перевірку.
- Бухгалтер-калькулятор розраховує калькуляцію.
- Керівник або відповідальна особа затверджує карту.
- Карта стає доступною для POS-продажів і списання.
15. Процес створення карти копіюванням
- Користувач вибирає існуючу карту.
- Натискає “Копіювати”.
- Система створює нову карту у статусі “Чернетка”.
- У новій карті очищаються поля: код, версія, дата початку дії, статус.
- Інгредієнти, технологія і калькуляційні налаштування копіюються.
- Користувач змінює номенклатуру або склад.
- Далі карта проходить стандартний процес перевірки і затвердження.
16. Процес створення нової версії
- Користувач відкриває затверджену карту.
- Натискає “Створити нову версію”.
- Система копіює карту в нову чернетку.
- Версія збільшується автоматично.
- Користувач вказує дату початку дії нової версії.
- Користувач вносить зміни.
- Нова версія проходить перевірку і затвердження.
- При затвердженні нової версії стара версія отримує дату завершення дії.
- Продажі до дати нової версії використовують стару карту.
- Продажі з дати нової версії використовують нову карту.
Реалізувати. Створення нової версії не повинно змінювати історичні продажі і вже сформовану собівартість.
17. Перевірки перед збереженням
| Перевірка | Тип | Повідомлення |
|---|---|---|
| Не заповнено найменування | Помилка | Заповніть найменування технологічної карти |
| Не обрано номенклатуру | Помилка | Оберіть страву або напівфабрикат |
| Не вказано кількість порцій | Помилка | Вкажіть кількість порцій |
| Кількість порцій <= 0 | Помилка | Кількість порцій має бути більше нуля |
| Не вказано вихід порції | Помилка | Вкажіть вихід готової порції |
| Немає інгредієнтів | Помилка | Додайте хоча б один інгредієнт |
| Інгредієнт без одиниці | Помилка | Заповніть одиницю виміру інгредієнта |
| Інгредієнт без складу списання | Помилка | Заповніть склад списання |
| Інгредієнт без статті калькуляції | Помилка | Заповніть статтю калькуляції |
| Брутто <= 0 | Помилка | Кількість брутто має бути більше нуля |
| Втрати більше 100% | Помилка | Відсоток втрат не може перевищувати 100 |
| Немає ціни інгредієнта | Попередження | Для інгредієнта не знайдено ціну для калькуляції |
| Фудкост вище цільового | Попередження | Фудкост перевищує цільове значення |
18. Перевірки перед затвердженням
Перед затвердженням карта повинна пройти повну перевірку.
| Перевірка | Правило |
|---|---|
| Статус | Затвердити можна тільки карту у статусі “На перевірці” |
| Обов'язкові поля | Усі обов'язкові поля мають бути заповнені |
| Інгредієнти | Має бути хоча б один активний інгредієнт |
| Вихід | Вихід порції має бути більше нуля |
| Дати дії | Дата початку дії має бути заповнена |
| Дублікати | Не повинно бути двох активних основних карт для однієї страви на одну дату |
| Калькуляція | Має бути розрахована планова собівартість |
| Права | Користувач має мати право затвердження |
19. Поведінка після затвердження
Після затвердження:
- карта отримує статус “Затверджена”;
- карта стає доступною для POS-продажів;
- карта стає доступною для автоматичного списання;
- критичні поля блокуються;
- система записує подію в журнал аудиту;
- при необхідності стара основна версія закривається;
- у списку карт оновлюється планова собівартість і фудкост.
Критичні поля, які блокуються:
- номенклатура;
- тип карти;
- кількість порцій;
- вихід;
- інгредієнти;
- брутто;
- нетто;
- втрати;
- склад списання;
- стаття калькуляції;
- дата початку дії.
20. Поведінка при продажу страви
При продажі страви система повинна:
- отримати дату і час продажу;
- знайти технологічну карту для номенклатури;
- перевірити статус “Затверджена”;
- перевірити дату дії карти;
- визначити основну карту, якщо є кілька;
- розрахувати інгредієнти до списання;
- застосувати модифікатори;
- передати дані в документ списання інгредієнтів.
Формула:
КількістьІнгредієнтаДоСписання =
КількістьПроданихПорцій
* БруттоІнгредієнта
/ КількістьПорційУКарті
21. Облік напівфабрикатів в інтерфейсі
Якщо інгредієнт має тип “Напівфабрикат”, у рядку має бути доступна команда Розкрити склад.
При натисканні система показує:
- технологічну карту напівфабрикату;
- інгредієнти напівфабрикату;
- собівартість одиниці напівфабрикату;
- дату дії карти напівфабрикату;
- статус карти напівфабрикату.
Якщо у напівфабрикату немає затвердженої карти, система показує помилку:
Для напівфабрикату не знайдено затверджену технологічну карту.
22. UX-вимоги
Інтерфейс має бути зручним для швидкого введення даних.
Обов'язкові UX-вимоги:
- табличне введення інгредієнтів без відкриття окремого вікна для кожного рядка;
- пошук інгредієнтів за назвою, кодом, артикулом;
- автозаповнення одиниці виміру з номенклатури;
- автозаповнення складу списання за типом карти або цехом;
- автозаповнення статті калькуляції за типом інгредієнта;
- підсвічування помилкових рядків червоним;
- підсвічування попереджень помаранчевим;
- миттєвий перерахунок підсумків після зміни кількості;
- можливість копіювати рядки;
- можливість вставляти таблицю інгредієнтів з Excel;
- підтримка гарячих клавіш для додавання рядків;
- фіксована нижня панель із собівартістю і фудкостом.
23. Візуальні блоки інтерфейсу
23.1. Зелений інформаційний блок
Показувати, якщо карта коректна:
Карта готова до затвердження. Усі обов'язкові поля заповнені, інгредієнти додані, калькуляція розрахована, критичних помилок немає.
23.2. Червоний блок помилок
Показувати, якщо є критичні помилки:
Карта не може бути затверджена. Виправте критичні помилки: відсутні інгредієнти, вихід, склад списання або ціни для калькуляції.
23.3. Помаранчевий блок попереджень
Показувати, якщо є некритичні проблеми:
Потрібна увага. Фудкост перевищує цільове значення або частина інгредієнтів не має актуальних цін.
24. Друкована форма технологічної карти
Друкована форма має містити:
- назву страви;
- код карти;
- версію;
- дату дії;
- вихід порції;
- кількість порцій;
- список інгредієнтів;
- брутто;
- нетто;
- втрати;
- вихід після обробки;
- технологію приготування;
- алергени;
- фото подачі;
- планову собівартість;
- ціну продажу;
- фудкост;
- підписи відповідальних осіб.
25. API / інтеграційні вимоги
Інтерфейс має передавати дані технологічної карти в такі модулі:
| Модуль | Які дані передаються |
|---|---|
| POS | Страва, активна карта, модифікатори, вихід, алергени |
| Склад | Інгредієнти, склад списання, норми |
| Калькуляція | Інгредієнти, норми, ціни, собівартість |
| Списання інгредієнтів | Норми списання за продажами |
| Меню | Ціна продажу, фото, опис, алергени |
| Звіти | Собівартість, фудкост, версії, історія змін |
26. Мінімальна модель даних
26.1. Таблиця: TechnologicalCards
| Поле | Тип | Опис |
|---|---|---|
| id | UUID / int | Ідентифікатор карти |
| code | string | Код карти |
| name | string | Назва карти |
| product_id | FK | Страва / напівфабрикат |
| organization_id | FK | Організація |
| outlet_id | FK nullable | Заклад |
| card_type | enum | Тип карти |
| portions_qty | decimal | Кількість порцій |
| output_qty | decimal | Вихід порції |
| output_unit_id | FK | Одиниця виходу |
| version | string | Версія |
| date_from | date | Дата початку дії |
| date_to | date nullable | Дата завершення дії |
| status | enum | Статус |
| is_default | boolean | Основна карта |
| created_by | FK | Автор |
| created_at | datetime | Дата створення |
| updated_at | datetime | Дата зміни |
26.2. Таблиця: TechnologicalCardIngredients
| Поле | Тип | Опис |
|---|---|---|
| id | UUID / int | Ідентифікатор рядка |
| card_id | FK | Технологічна карта |
| line_no | int | Номер рядка |
| ingredient_id | FK | Інгредієнт |
| ingredient_type | enum | Сировина / напівфабрикат / тара |
| unit_id | FK | Одиниця виміру |
| gross_qty | decimal | Брутто |
| cold_loss_percent | decimal | Втрати холодної обробки |
| net_qty | decimal | Нетто |
| heat_loss_percent | decimal | Втрати теплової обробки |
| output_qty | decimal | Вихід після обробки |
| warehouse_id | FK | Склад списання |
| costing_article_id | FK | Стаття калькуляції |
| planned_price | decimal | Планова ціна |
| planned_amount | decimal | Планова сума |
| is_required | boolean | Обов'язковий інгредієнт |
| is_replaceable | boolean | Дозволена заміна |
| comment | text | Коментар |
27. Приймальні критерії
| № | Критерій |
|---|---|
| 1 | Користувач може створити нову технологічну карту |
| 2 | Користувач може додати інгредієнти в табличній частині |
| 3 | Система автоматично розраховує нетто, втрати, вихід і норму на порцію |
| 4 | Система показує планову собівартість карти і порції |
| 5 | Система розраховує фудкост і маржу |
| 6 | Система не дозволяє затвердити карту з критичними помилками |
| 7 | Затверджена карта блокує критичні поля від редагування |
| 8 | Користувач може створити нову версію карти |
| 9 | Історичні версії залишаються доступними для перегляду |
| 10 | POS-продаж використовує карту, чинну на дату продажу |
| 11 | Напівфабрикати можуть розкриватися до вкладених рецептур |
| 12 | Усі зміни записуються в журнал аудиту |
| 13 | Друкована форма технологічної карти формується з усіма ключовими даними |
28. Коротко для програміста
| Питання | Відповідь |
|---|---|
| Основна форма | Технологічна карта |
| Основна таблична частина | Інгредієнти |
| Ключові кількісні поля | Брутто, нетто, втрати, вихід, норма на порцію |
| Ключові фінансові поля | Планова ціна, планова сума, собівартість порції, фудкост |
| Критичний статус | Затверджена |
| Що блокується після затвердження | Інгредієнти, вихід, кількість порцій, склади списання, статті калькуляції |
| Як змінювати затверджену карту | Тільки через нову версію |
| Як карта використовується в продажах | POS шукає затверджену активну карту на дату продажу |
| Основна формула списання | Кількість проданих порцій × норма інгредієнта на порцію |
| Основна UX-вимога | Швидке табличне введення інгредієнтів із миттєвим перерахунком підсумків |
29. Відкриті питання
Питання для погодження.
- Чи має шеф-кухар право самостійно затверджувати карти?
- Чи потрібен окремий етап погодження бухгалтером-калькулятором?
- Чи використовувати планові ціни, останню закупівлю або середню ціну для калькуляції?
- Чи потрібно підтримувати Excel-імпорт інгредієнтів?
- Чи потрібні фото страви і фото подачі?
- Чи потрібен облік алергенів?
- Чи треба виводити технологічну карту на кухонний екран?
- Чи потрібно робити різні техкарти для різних закладів?
- Чи потрібна багатомовність назв страв для меню?
- Чи потрібна інтеграція з POS у реальному часі?