Веб-приложение для управленческого учета кафе: минимум функций
Разберем, какое веб-приложение для управленческого учета кафе нужно на старте: операции, отчеты, формы ввода и простой дашборд без BI.

С чего начинается управленческий учет в кафе
Управленческий учет нужен не ради «красивых таблиц», а чтобы каждый день быстро отвечать на четыре вопроса: сколько заработали, сколько потратили, что потеряли и что осталось на складе. Когда ответы есть, решения принимаются по цифрам, а не «на ощущениях».
Касса показывает выручку, но не прибыль. Excel помогает свести цифры, но быстро начинает рассыпаться: разные версии файла, ручные правки, забытые строки. И главное - нет одного места, где сходятся продажи, закупки и списания. В итоге вы видите оборот, но не понимаете, почему денег меньше, чем должно быть.
Если вы делаете веб-приложение для управленческого учета кафе, стартуйте с минимума: фиксируйте только то, что реально влияет на прибыль и что команда готова вводить регулярно. Чем меньше обязательных полей и «идеальных отчетов», тем выше шанс, что учет заведется и не умрет через две недели.
Базовый набор, который дает пользу уже в первый месяц:
- выручка по дням (из кассы или вручную одной суммой)
- закупки (дата, поставщик, сумма, категория, при желании - ключевые позиции)
- списания (что списали, причина, количество или сумма)
- инвентаризация по ключевым позициям (кофе, молоко, мясо, алкоголь)
- выплаты персоналу и аренда, чтобы видеть полную картину расходов
Дальше данные начинают работать как подсказки. Если маржа падает, вы пересматриваете цены или граммовки. Если растут списания, меняете закупки и хранение, вводите простое правило фиксации причин. Если часто «не сходятся» остатки, сокращаете меню, упрощаете техкарты или усиливаете контроль выдачи со склада.
Практичный подход: сначала договоритесь внутри команды о правилах ввода (кто, когда и что фиксирует), и только потом собирайте формы и дашборд.
Минимальные сущности и справочники: что хранить в системе
Чтобы приложение не превратилось в бесконечный «комбайн», держитесь простого правила: храните только то, что вы готовы регулярно вводить и проверять. Минимальная модель данных должна отвечать на три вопроса: сколько заработали, сколько потратили на продукт и где «утекло».
Выручка. Достаточно хранить продажи по дню, по точке (если их несколько) и по каналу: зал, доставка, самовывоз, агрегаторы. Если касса не интегрируется, выручку можно вводить одной строкой в день по каждому каналу. Этого хватает, чтобы сравнивать «как было вчера» и находить просадки по будням.
Себестоимость. Не пытайтесь сразу описать все до грамма. На старте хватит трех типов позиций: ингредиенты, полуфабрикаты и упаковка. Полуфабрикаты важны, потому что кухня часто считает их как «готовый компонент», а не как набор ингредиентов.
Списания. Фиксируйте не одной общей суммой, а с причиной. Тогда быстрее видно, что болит: порча, пересорт, истечение срока, выдача персоналу. Даже если суммы небольшие, регулярность показывает проблему.
Остатки. Полный складской учет можно отложить, но базовые остатки по ключевым позициям стоит вести с самого начала. Разделите места хранения на понятные зоны (склад, бар, кухня) и задайте минимальные запасы, чтобы система подсказывала «пора заказывать».
Чтобы все это работало, нужны справочники. Минимальный набор:
- товары и материалы (что покупаем и что учитываем)
- техкарты для популярных блюд (хотя бы топ-20)
- поставщики
- статьи затрат (аренда, зарплата, маркетинг, доставка)
- точки и каналы продаж
Пример: в небольшом кафе можно начать с 50 позиций материалов, 20 техкарт и ежедневного ввода выручки по 3 каналам. Этого хватает, чтобы дашборд показывал динамику маржи и подсвечивал списания без сложной аналитики.
Минимальный набор операций: что вводить каждый день
На старте достаточно пяти операций. Они дают понятные цифры по деньгам и остаткам и не перегружают команду.
1) Продажи (выручка за день)
Фиксируйте итог смены: дата, точка, способ оплаты (наличные, карта, доставки), сумма. Если есть учет по категориям (кофе, кухня, десерты), добавьте 3-6 групп, но не уходите в детализацию по каждому блюду в первый месяц. Важно, чтобы каждый день закрывался одной записью.
2) Закупки (приход)
Вносите накладную: поставщик, дата, позиции, количество, цена, куда пришло (склад, кухня, бар). Если в накладной много строк, начните с ключевых товаров (кофе, молоко, мясо, напитки), остальное объединяйте в «прочее» и раскрывайте постепенно.
3) Списания
Оформляйте любое выбытие без продажи: причина (просрочка, брак, дегустация, персонал), кто оформил, откуда списали, что и сколько. Это один из самых полезных вводов: он быстро объясняет, почему себестоимость «ползет».
4) Перемещения
Нужны, если склад отдельно от производства или есть несколько точек. Достаточно полей: откуда, куда, дата, позиции, количество, ответственный. Перемещения помогают не путать, где лежит товар, и не «дублировать» остатки.
5) Инвентаризация
Делайте пересчет по списку товаров: факт, учетный остаток, расхождение, комментарий. Важно фиксировать «снимок» остатков на дату, чтобы отчеты не менялись задним числом.
Ритм ввода, который обычно выдерживают без героизма:
- продажи - каждый день после закрытия смены
- закупки - в день прихода
- списания - сразу по факту
- перемещения - в момент передачи
- инвентаризация - раз в неделю (или хотя бы раз в месяц)
Пример: в понедельник вы закрыли смену на 42 300 руб., приняли молоко и сиропы от поставщика, списали 2 литра молока по сроку годности и переместили зерно со склада на бар. Эти записи уже дают владельцу понятную картину по выручке, расходам и причинам потерь.
Отчеты без BI: 5 экранов, которые реально нужны
Для старта не нужны десятки графиков. В приложении достаточно пяти экранов, где владелец видит «что произошло» и «что делать завтра».
1) Выручка и средний чек
Покажите выручку по дням с переключателем: день, неделя, месяц. Добавьте сравнение с прошлым периодом (например, эта неделя против прошлой) и рядом две метрики: количество чеков и средний чек. Так быстро понятно: упал трафик или снизились продажи.
2) Валовая прибыль (без усложнений)
Экран отвечает на один вопрос: сколько осталось после себестоимости. Формула простая: выручка минус себестоимость. Если себестоимость пока приблизительная (по техкартам или по закупочным ценам), это нормально для первой версии. Главное - считать одинаково изо дня в день.
3) Списания
Показывайте списания не только суммой, но и долей от выручки за период. Полезно видеть причины и ответственного. Тогда быстро заметно, как «мелочь» превращается в ощутимую сумму за месяц.
4) Остатки и оборачиваемость
Нужны два вида: текущие остатки и «что лежит долго». Сделайте простой показатель: сколько дней товар не двигался, и подсветку зависших позиций. Это помогает не держать деньги на складе и вовремя пересматривать закупки.
5) Закупки и цены
Покажите динамику цен по ключевым позициям и топ поставщиков по сумме. Дополнительно полезен простой показатель частоты поставок: сколько раз за месяц привозили молоко и по какой цене.
Хороший тест: если администратор может открыть эти 5 экранов за 2 минуты и объяснить цифры без «аналитика», вы на верном пути.
Как описать формы ввода простыми словами
Самый быстрый путь к удобным формам - описать их так, как вы бы объяснили задачу новому сотруднику. Без терминов из бухгалтерии и без «витрин данных».
Начните с ролей: владелец смотрит итог и отклонения, управляющий вводит продажи и сверяет кассу, кладовщик отвечает за закупки, списания и инвентаризацию.
Дальше закрепите минимум экранов. Обычно хватает пяти: продажи, закупки, списания, инвентаризация, отчеты. Это не про красоту интерфейса, а про то, чтобы каждый день было понятно, куда зайти и что внести.
Шаблон описания формы
Для каждой формы напишите короткий текст по одному и тому же шаблону. Пример для «Списания»:
- кто заполняет: кладовщик (или управляющий в маленьком кафе)
- зачем: зафиксировать порчу, ошибки приготовления, дегустации
- обязательные поля: дата, склад (или по умолчанию основной), позиция, количество, причина
- необязательные: комментарий, фото (если реально нужно), ответственный
- значения по умолчанию: дата = сегодня, склад = основной, причина = выбрать из списка
После полей сразу зафиксируйте правила, чтобы цифры не «плыли»:
- нельзя списать больше остатка на выбранную дату
- единицы измерения фиксированы (кг, л, шт) и выбираются из справочника
- даты не из будущего для операций, влияющих на остатки
- продажи не могут быть отрицательными, возврат вводится отдельной операцией или флагом
Сделайте текстовый прототип до разработки: 1-2 абзаца на форму и пример одной записи. Например: «10.01, Основной склад, Молоко 3,2% - 2 л, причина: порча, комментарий: забыли убрать в холодильник».
Пошагово: собираем дашборд владельца без сложной аналитики
Дашборд нужен не для красоты. Он должен решать одну задачу: «Каждый день вижу прибыль и потери и понимаю, где утекли деньги». Если цель не помещается в одну строку, экран почти наверняка будет перегружен.
Выберите ограниченный набор метрик. Для веб-приложения для управленческого учета кафе обычно хватает 6-10 показателей.
1) Главный экран: только то, что влияет на решения
Стартовый набор:
- выручка за период (и сравнение с прошлым периодом)
- себестоимость продаж
- валовая прибыль и валовая маржа
- списания (сумма и доля от выручки)
- остатки ключевых товаров (топ-10 по расходу)
Эти цифры отвечают на главное: продажи растут или падают, маржа держится или просела, потери под контролем или нет.
2) Фильтры, тревоги и частота обновления
Чтобы дашборд был полезен, задайте три фильтра: период (день, неделя, месяц), точка (если их несколько) и канал продаж. Без фильтров легко «усреднить» проблему и не увидеть, что просела, например, только доставка.
Добавьте тревожные сигналы, которые не требуют сложной аналитики:
- списания выше нормы (например, выше среднего за последние 14 дней)
- падение маржи ниже целевого уровня
- резкий рост себестоимости по ключевой группе (кофе, молоко, мясо)
Договоритесь о ритме обновления: минимум ежедневно после закрытия смены. Если есть несколько смен, удобно обновлять «по сменам», чтобы было видно, где возникла ошибка.
Пример: утром владелец открывает дашборд и видит, что маржа упала на 6%. Фильтр показывает: проблема только в доставке. Сигнал подсвечивает рост списаний по молоку. Дальше понятно, что проверять: приемку, хранение, порционирование или ошибки в вводе накладных.
Себестоимость и техкарты: минимальный подход без фанатизма
Себестоимость нужна не ради «идеальных цифр», а чтобы понимать маржу и вовремя замечать потери. Для старта достаточно минимальных техкарт и понятных правил списаний.
Начните с единиц измерения, которые реально используются на кухне и в баре: штуки, кг, литры, порции, упаковки. Важно одно: у каждого ингредиента должна быть одна базовая единица (например, молоко - литры, кофе - кг). А закупки «по упаковкам» переводите в базу простым коэффициентом.
Техкарта без лишней детализации
Минимальная техкарта - это блюдо (или напиток), список ингредиентов и норма списания на 1 порцию. Не пытайтесь учитывать «1 щепотку соли». Лучше закрепить правило: в техкарте есть только то, что заметно влияет на деньги (мясо, сыр, кофе, молоко, масло), а мелочи временно объединить в «специи/соусы».
Если у вас нет детальных продаж по каждой позиции, себестоимость все равно можно считать. Два рабочих варианта:
- учет по группам: кофе, выпечка, кухня. Выручку берете из кассы по группам (хотя бы вручную), а закупки и списания ведете по тем же группам.
- учет по «хитам»: заведите 10-20 самых продаваемых позиций с техкартами, остальное попадет в «прочее».
Пример: в небольшом кафе кофе дает 45% выручки. Вы ведете закупки зерна и молока, списания по нормам на чашку и быстро видите, когда молоко «уходит» быстрее продаж.
Нормы списаний: когда фиксировать и когда менять
Нормы лучше зафиксировать на 2-4 недели, чтобы сравнивать фактические списания с планом. Меняйте нормы только после заметного изменения рецепта, поставщика или формата порции.
Чтобы это работало, в форме техкарты оставьте только ключевые поля:
- выход порции (например, 250 мл)
- ингредиент и норма (молоко 0,18 л)
- дата действия нормы
- комментарий (если меняли рецепт)
Доступы и контроль: чтобы цифры не «плыли»
Учет в кафе чаще ломается не из-за формул, а из-за правок: кто-то исправил выручку за прошлую неделю, кто-то удалил списание, а вы узнаете об этом только по кассе или складу. Поэтому даже в минимальной версии нужны простые правила доступа и контроля.
Разделите права по ролям. Владелец или управляющий меняет справочники (номенклатура, статьи расходов, точки продаж), подтверждает закрытие дня и видит все отчеты. Кассир вводит выручку и оплаты, но не редактирует задним числом. Кухня или кладовщик фиксируют списания и инвентаризацию, но не трогают цены и техкарты.
Критичные действия должны требовать подтверждения. Самые опасные места - удаление документов и правки «вчерашним числом». Если нужно исправить старый документ, система просит причину (короткий комментарий) и повторное подтверждение.
Добавьте статусы документов: «Черновик», «Проведено», «Отменено». Черновики можно править, проведенные - только через отмену или корректировку. Пример: кассир создал выручку за день, управляющий проверил сумму по Z-отчету и провел документ. Позже нашли ошибку - не «переписываем» цифру, а создаем корректировку или отменяем и заводим заново с отметкой причины.
Еще один обязательный элемент - журнал изменений. Для каждой операции храните: кто создал, кто изменил, когда и что именно поменялось (сумма, дата, склад, комментарий). Это не усложняет интерфейс, но резко снижает споры и потери времени.
Главное правило: ничего не стирать. В учете лучше иметь «отменено» и «корректировка», чем пустоту, которую уже невозможно восстановить.
Частые ошибки при запуске учета в кафе
Главная причина провалов простая: пытаются сделать «идеальную систему» с первого дня. В итоге формы пугают, данные вводят через раз, а владелец перестает верить цифрам. Лучше запустить простое веб-приложение для управленческого учета кафе и наращивать детали только после первых стабильных недель.
Ошибка 1: слишком много полей в формах. Если кассиру нужно заполнить 12 строк, он начнет пропускать, округлять или откладывать на потом. Оставьте минимум.
Ошибка 2: нет единого справочника товаров и единиц. Когда один и тот же продукт живет как «молоко 1л», «молоко литр» и «молоко 1000мл», себестоимость начинает прыгать, а списания не сходятся. Договоритесь об одной единице учета для каждого товара и не создавайте дубликаты.
Ошибка 3: списания оформляют «в конце месяца». Так появляются резкие провалы по валовой прибыли. Списание должно быть по факту: разбили бутылку, сгорела выпечка, бариста ошибся - зафиксировали в тот же день.
Ошибка 4: инвентаризация без правил. Часто смешивают разные места хранения: склад, бар, кухня, морозилка. Потом непонятно, где реальная недостача.
Ошибка 5: отчеты не совпадают с тем, как владелец принимает решения. Если собственник думает категориями «день, неделя, блюда, маржа, недостачи», а экран показывает десятки показателей, пользоваться этим не будут.
Быстрые признаки, что учет неудобен:
- сотрудники просят «заполнить потом одним разом»
- один и тот же товар ищут по 2-3 названиям
- списания появляются пачкой в последний день месяца
- инвентаризация каждый раз проходит «по-разному»
- владелец сверяет отчет с блокнотом и больше верит блокноту
Если вы собираете первую версию в TakProsto, полезно сохранять снимки перед изменениями форм и отчетов: так проще откатиться, если новая логика усложнила ввод и данные стали хуже.
Быстрый чеклист перед запуском
Перед стартом не пытайтесь учесть все сразу. Лучше запустить учет с понятными правилами ввода, чем месяцами «допиливать идеальную систему» и не вводить данные.
10 минут на подготовку
Проверьте, что справочники заведены и одинаково понимаются всеми. Если названия «гуляют», отчеты будут врать.
- товары и ингредиенты: единицы измерения (шт, кг, л), базовые категории
- места хранения: склад, бар, кухня, холодильник
- поставщики: минимум название и контакт, чтобы сверять накладные
Ежедневный ввод без героизма
Договоритесь о ритме: что вводим каждый день, кто это делает и когда.
- выручка фиксируется ежедневно в одно и то же время (например, после закрытия смены)
- закупки вводятся по факту приемки: количество и цена из накладной
- списания оформляются сразу: причина и ответственный
- инвентаризация проводится по расписанию (хотя бы раз в неделю по ключевым позициям)
Чтобы цифры сходились, держите правило: одна операция - один первичный факт. Если бармен списал лимоны из-за порчи, это не «минус в закупках», а отдельное списание с причиной.
Контроль на одном экране
До запуска убедитесь, что главный дашборд показывает минимум, который помогает принимать решения:
- выручка за день и за неделю
- валовая прибыль (выручка минус себестоимость)
- доля списаний и ее динамика
Пример: как это работает в небольшом кафе
Представим кафе на 30 посадок. Владелец хочет понимать три цифры: сколько заработали, сколько ушло на продукты и что «съело» маржу (цены, списания, пересортица). Договоримся о простом ритме: выручку вводим раз в день, закупки - 3 раза в неделю, инвентаризацию делаем точечно (например, бар) раз в неделю.
Понедельник. После смены администратор заносит выручку: наличные, безнал, доставки, возвраты. Пара минут - и день закрыт.
Среда. Пришла закупка молока, зерна и сиропов. Кладовщик (или бариста, если нет склада) вносит накладную: поставщик, позиции, цена, количество. В этот же день молоко испортилось из-за поломки холодильника. Делается списание на 6 литров с причиной «порча», чтобы это не потерялось внутри себестоимости.
Суббота. Раз в неделю пересчитывают бар: кофе, сиропы, алкоголь. Если фактический остаток меньше расчетного, фиксируют корректировку (недостача). Если больше - излишек. Это помогает отделить ошибки учета от реальных затрат.
В конце недели владелец открывает дашборд и видит простую картину: выручка стабильна, но маржа просела. В отчете видно, что себестоимость напитков выросла, потому что поставщик поднял цену на зерно на 12%. Плюс есть заметное списание молока.
Дальше решение уже управленческое: искать другого поставщика, поднять цены на напитки (например, на 10-15 рублей) или скорректировать порции молока в части рецептов, если это не бьет по качеству.
Позже, когда привычка к вводу данных закрепится, можно добавлять детали: разносить выручку по блюдам, считать себестоимость по техкартам точнее, подключить учет труда (смены, часы, фонд оплаты). Но первая версия работает и без этого. Важнее, чтобы цифры появлялись регулярно и были сопоставимы из недели в неделю.
Следующие шаги: собрать первую версию в TakProsto
Сначала зафиксируйте «первую версию», которая отвечает на главные вопросы владельца: сколько заработали, сколько потратили на продукты, сколько списали, какой итог по дню и по неделе. Если начинать с акций, бонусов и десятков разрезов, учет часто ломается еще до старта.
Опишите 5-7 экранов и простые правила ввода: кто вносит выручку, кто закрывает смену, кто делает списания, как часто делается инвентаризация, что считать ошибкой и как ее исправлять.
Если удобно собирать продукт через чат, в TakProsto (takprosto.ai) можно описать экраны и поля обычными словами и получить формы, таблицы, дашборд и роли доступа без отдельной BI-схемы. Для старта достаточно такого набора:
- справочники: точки, сотрудники, товары/ингредиенты, категории
- ввод: выручка за день, закупки, списания, инвентаризация (остатки)
- дашборд: выручка, закупки, списания, валовая прибыль, отклонения по остаткам
Дальше уже по мере взросления учета можно подключать то, что помогает в работе: выгрузку исходников, развертывание и хостинг, свой домен, снимки и откат изменений.
Если вы только начинаете, логично стартовать с тарифа free, а когда появятся роли, домен и устойчивые процессы - перейти на pro или business. Также у платформы есть возможность получить кредиты за контент о TakProsto или за приглашения по реферальной ссылке.