Почему тетрадь и Excel не справляются
Первая версия NovaFlo была очень простой: витрина в Telegram и одна цифра у каждого товара — сколько есть в наличии. Тетрадь и Excel устроены так же. И ломаются они на одних и тех же трёх вещах.
Остаток без даты. В таблице 50 тюльпанов сегодня и 50 тюльпанов через три недели выглядят одинаково. Что за это время сменится несколько поставок, а сами тюльпаны давно погибнут, таблица не знает. Отсюда заказы, которые приняли, а собрать не смогли.
Будущее держится в голове. Клиент просит букет к субботе, сегодня вторник, нужных цветов нет, но в пятницу придёт поставка. В тетради этого нет: владелец прикидывает «привезём, запишу» и держит обещание в памяти. Для одного сорта ещё терпимо, для букета из пяти стеблей с разными датами прихода — уже головоломка, в которой легко ошибиться.
Букет одной строкой. Продали букет — в таблице «минус один букет». А со склада ушли три пиона, две маттиолы и эвкалипт, каждый из своего остатка. Через неделю остатки по стеблям не сходятся, а сколько магазин заработал на этом букете, не знает никто.
Как это было в STEMSBOT. До автоматизации бизнес держался на памяти и тетрадке. Потерянные заказы, пересорт, списания, остатки, которые упрямо не сходятся, и попытка с готовой программой, которая не прижилась. С этого и началась NovaFlo.
Партия живёт дни: учёт по срокам, а не по остаткам
Партия — это приход одного сорта от одной поставки: дата прихода и количество. У каждого сорта есть срок жизни в днях (в других отраслях его назвали бы сроком годности), после которого стебель уже не продать. Обычный склад считает коробки. Цветочный должен считать время: что лежит сейчас, что доживёт до нужной даты, что уже обещано покупателям и что ещё приедет.
Из даты прихода и срока жизни получается окно, в котором партия доступна к продаже. Пока окно открыто, цветок виден на витрине. Как только срок вышел, программа сама убирает позицию с витрины и помечает её как истёкшую в панели магазина, чтобы её списали, а не продали.
Для клиента это выглядит просто. Он открывает витрину, выбирает дату доставки, хоть завтра, хоть через две недели, и видит только то, что к этому дню действительно можно будет собрать.
| Что считает Excel | Что считает программа учёта цветов |
|---|---|
| Одно число остатка на сорт | Партии с датой прихода и сроком жизни |
| Остаток «сейчас» | Доступность на каждую дату вперёд |
| Ничего не знает о сроке | Сама убирает истёкшие партии с витрины |
| Будущие заказы и поставки — в голове у владельца | Резервы под заказы и плановые поставки в одной таблице |
| Списание вручную, когда заметили | Истёкшие партии видны в панели каждый день |
Как это было в STEMSBOT. Первая версия системы спокойно приняла заказ с доставкой через три недели, потому что видела только число. Тогда стало ясно, что витрины мало, а после 14 февраля мы начали строить склад. Не тот, который считает коробки, а тот, который считает время.
Поставки: продавать то, что ещё едет
В обычном магазине нельзя продать то, чего нет на полке. В цветочном без этого никак: люди заказывают к празднику, к свадьбе, к выходным, и нужные цветы к этой дате часто ещё едут от поставщика. Если витрина показывает «нет в наличии», магазин отказывает клиенту, которому на самом деле мог бы всё собрать.
Решение — плановая накладная. Это документ, который заводится один раз: что, сколько и какого числа придёт от поставщика. С этого момента программа предлагает эти цветы на витрине на те даты, к которым они будут, и считает доступность на каждый день вперёд: что лежит сейчас, что доживёт, что приедет по плану и что уже зарезервировано другими заказами.
Здесь есть тонкость, без которой всё разваливается. Заказ на субботу закрепляется за пятничной поставкой, а не за тем, что лежит на полке во вторник, даже если нужный цветок сейчас есть. Текущий остаток остаётся для тех, кто покупает прямо сейчас. Так заказ на сегодня и заказ на субботу не претендуют на один и тот же стебель.
Когда поставка приходит, магазин делает приёмку: вносит фактическое количество по каждой позиции. Если привезли меньше, разница по заказам становится дефицитом: в каждом таком заказе видно, каких стеблей не хватает, и магазин решает заранее — докупить, предложить замену или перенести доставку. Если поставку не приняли к концу дня приёма заказов, программа перестаёт считать её запасом: накладная помечается как просроченная, а товары без остатка уходят с витрины, пока поставку не примут или не перенесут. Без программы об этом узнают в момент сборки.
Побочный эффект: не нужно забивать холодильник «на всякий случай». Магазин продаёт под регулярные поставки, а не под запас, и в товаре заморожено меньше денег.
Как это было в STEMSBOT. Продажа из будущей поставки появилась из ситуации «клиент хочет букет к субботе, сегодня вторник, цветов нет, но в пятницу они придут». Теперь такой заказ оформляется на витрине сам, без переписки с магазином.
Букет — это состав, а не товар
Для обычной системы букет — один товар с одним остатком. И здесь она начинает врать, потому что букет — это композиция из живых стеблей: три пиона, две маттиолы, веточка эвкалипта. У каждого свой остаток, своя цена и свой срок.
Правильный учёт хранит букет как рецепт — список стеблей с количеством. Доступность букета на дату считается от остатков его стеблей: хватает всех компонентов, с учётом плановых поставок, — букет можно заказать, даже если на полке его ещё нет. Продали букет — программа списывает не «минус один букет», а минус три пиона, минус две маттиолы, минус эвкалипт, каждый из своего остатка.
Себестоимость букета тогда не нужно сводить в столбик. Она складывается из закупочной цены стеблей по той накладной, из которой они забронированы под заказ, плюс упаковка. Цена продажи по умолчанию складывается из цен стеблей, а если букет нужно продать быстрее, её ставят руками.
Отдельная жизнь у собранных букетов — тех, что уже стоят готовыми на витрине. Их стебли зарезервированы в момент сборки, и обратно на склад они попадают только через разборку: свежие стебли возвращаются, увядшие уходят в порчу. Срок жизни собранного букета по умолчанию равен остатку срока самого недолговечного стебля в нём на день сборки, при необходимости его меняют.
Клиент просит «замените пионы на розы» или «добавьте ещё три тюльпана»? Состав правится прямо в заказе: цена пересчиталась, добавленные стебли забронировались, и сразу видно, что свободно, а что занято.
Как это было в STEMSBOT. К букетам мы подошли позже всего — охапки считать проще. И провозились с ними дольше, чем с чем угодно ещё, пока не стали считать каждый стебель в каждом букете.
Списание: откуда берутся потери и как их увидеть
Списание — главная статья потерь цветочного магазина, и точную долю без учёта не знает почти никто. В STEMSBOT до учёта по партиям списание держалось около 20 % от закупки, после — 3,5 %. Своя цифра у магазина появляется только тогда, когда каждое списание записано с причиной и в деньгах.
Откуда берутся потери:
- Увядание. Партию не продали до конца срока жизни. Самая незаметная причина: цветы просто «кончились».
- Повреждение. Сломали при сборке, помяли при доставке, подморозили в холодильнике.
- Пересорт. Поставщик привёз не тот сорт или не то качество, либо в учёте один сорт записали как другой. Остатки расходятся, и разницу в итоге списывают.
- Закупка «на всякий случай». Холодильник, забитый под возможный спрос, — это списание каждую неделю.
- Разборка букетов. Собрали, не продали, разобрали: часть стеблей возвращается, часть уходит в порчу.
Чтобы потери стало видно, отчёт о списании должен отвечать на четыре вопроса: сколько списали в деньгах по закупочной цене, по каким причинам, по каким сортам и из каких поставок. Каждая строка списания должна вести к источнику — партии, заказу или букету. Тогда понятно, что делать: сократить закупку одного сорта, сменить поставщика или изменить рецепт букета.
Подробнее: Списание цветов в магазине: причины, нормальный процент и учёт по партиям
Чек-лист: что должна уметь программа учёта цветов
Неважно, как продукт называет себя — программа учёта, CRM для цветочного магазина или складской модуль. Проверить стоит десять вещей:
- Вести остаток по партиям: дата прихода и срок жизни у каждого сорта.
- Сама убирать истёкшие партии с витрины и показывать их к списанию.
- Считать доступность каждого сорта на каждую дату вперёд, а не только «сейчас».
- Принимать плановую накладную и продавать из будущей поставки, не трогая текущий остаток.
- Делать приёмку по факту и показывать дефицит по конкретным заказам.
- Хранить букет как рецепт и списывать его по стеблям.
- Считать себестоимость букета из закупочных цен стеблей и упаковки.
- Учитывать собранные букеты со своим сроком и разборкой.
- Записывать каждое списание с причиной и в деньгах.
- Показывать маржу по заказу и по товару с учётом потерь, доставки и упаковки.
Подробнее: Себестоимость букета: расчёт по шагам, формула и почему считать нужно по партиям
Как это устроено в NovaFlo
NovaFlo — программа для цветочного магазина, которая выросла из одного реального магазина: витрина в Telegram, MAX и на сайте, а под ней склад, который считает время. У каждого сорта есть срок жизни в днях и дата последней приёмки; когда срок выходит, сорт сам перестаёт продаваться. Плановая накладная — отдельный запас на дату: под неё бронируются заказы на будущее, а при приёмке бронь переходит на склад. Если поставку не приняли к концу приёма заказов на её день, накладная помечается как просроченная и запасом больше не считается.
Букет хранится как рецепт и списывается по стеблям; собранные экземпляры живут своим сроком. Списание — движение в журнале склада с причиной и в деньгах по закупочной цене. В аналитике по каждому товару видны выручка, себестоимость, потери, доставка, бонусы, упаковка и маржа. Отдельные партии одного сорта с разными датами на полке программа не ведёт: срок и цена считаются по последней принятой накладной.
Посмотреть, как выглядит программа изнутри, можно на главной. Если хотите посчитать для своего магазина, что перенести из таблиц и с чего начать, напишите нам.
Вопросы и ответы
Как вести учёт в цветочном магазине, если точка одна и товара немного?
Минимум — записывать каждую партию с датой прихода и сроком жизни, а не общий остаток по сорту. Уже это показывает, что продавать в первую очередь и что ушло в списание. Когда появляются букеты под заказ и продажи к дате, тетрадь перестаёт справляться — нужна программа.
Сколько дней живёт партия и кто задаёт срок?
Срок задаёт магазин на каждый сорт, исходя из своего опыта и поставщика: у одних сортов это несколько дней, у других — две-три недели. Программа считает окно от даты прихода и сама убирает партию с витрины, когда оно закрывается.
Нужно ли считать себестоимость букета вручную?
Нет, если букет хранится как рецепт. Себестоимость складывается из закупочной цены стеблей по накладной и упаковки, а при замене состава в заказе пересчитывается сама.
Как учитывать списание цветов в магазине?
Каждое списание — с причиной (увядание, повреждение, пересорт, разборка букета) и в деньгах по закупочной цене. Отчёт должен группировать потери по причинам, сортам и поставкам: тогда видно, где именно теряются деньги, а не только сколько.
Можно ли продавать цветы, которых ещё нет на складе?
Да, через плановую накладную: магазин заводит, что и когда придёт, и витрина предлагает эти цветы на даты после поставки. Заказ закрепляется за поставкой, а не за текущим остатком, поэтому покупатели «на сейчас» и «на субботу» не конкурируют за один стебель.
Посчитаем, сколько магазин теряет на списании сейчас и что изменится с учётом по партиям.
Посчитать для своего магазина