До сих пор организатор совместных закупок в OrderGrow работал по одной модели: собрать заказы, закупить у поставщика, выдать. Всё, что не под предзаказ, требовало отдельного инструмента — таблицы, чата, стороннего сервиса.
Учёт остатков добавляет вторую модель прямо в тот же каталог: часть товаров живёт по прежней логике сборов, часть — по новой, со свободным остатком на складе. Одна и та же группа покупателей, один интерфейс. Настройка независимая: товары без указанного остатка работают как раньше, ничего перенастраивать не нужно.
Остаток и заказы в матрице
В разделе «Матрица» — там, где организатор ведёт весь ассортимент — появились две новые колонки: «Остаток» и «Заказы». «Остаток» показывает свободное количество, доступное для заказа. «Заказы» — сколько уже забронировано покупателями. Красная подсветка привлекает внимание к товарам с нулём или отрицательным значением.
Порядок колонок в матрице настраиваемый. Кнопка «Колонки» в правой части шапки открывает панель управления: любую колонку можно скрыть или переставить местами. Организатор оставляет на экране только то, что важно ему в текущей работе — размер экрана перестаёт быть ограничением.
Изменить остаток можно прямо из матрицы. Клик по ячейке в колонке «Остаток» открывает всплывающее окно с полем ввода. Кнопка «Сохранить» — и значение обновляется во всей системе моментально.
Что видит покупатель
В карточке товара с указанным остатком появился отдельный блок «Остаток» с подсвеченным количеством. Рядом — привычный блок «Заказы группы» с общим объёмом уже сделанных заказов. Покупатель видит сразу оба показателя и понимает: этот товар можно забрать сейчас, а не ждать закрытия сбора.
Если остаток у товара не указан, блок «Остаток» в карточке не появляется. Товар работает как раньше — заказ формируется до закрытия сбора, покупатель ждёт закупки у поставщика.
В общих списках покупатель тоже отличает товары с наличием от товаров под сбор. В разделе «Хиты продаж» карточки с остатком выделены зелёной рамкой:
На уровне подкатегорий, до захода в карточку, у товаров с наличием отображается строка «Остаток: N кг». Покупатель ориентируется в ассортименте, не открывая каждый товар:
Заказ с проверкой остатка
Сам процесс оформления заказа для покупателя внешне не меняется — он выбирает количество и нажимает «Заказать». Изменилась внутренняя логика: система сверяет количество со свободным остатком до подтверждения заказа.
Если покупатель попробовал заказать больше, чем доступно, система оформляет заказ на реально доступное количество и показывает пояснение. Отказ не «жёсткий»: покупатель видит, сколько получил, и решает — оставить заказ или отменить.
Если подтверждает — заказ фиксируется, свободный остаток пересчитывается для всех остальных покупателей в реальном времени. Если отменяет — заказ снимается, зарезервированное количество возвращается в свободный остаток.
Работает принцип «кто первый заказал — того и товар». Если весь свободный остаток уже забронирован другими покупателями, а кто-то ещё открывает карточку такого товара — показывается сообщение «Товар закончился» с кнопкой возврата в каталог. Заказать нельзя даже одну единицу.
Проверка на доступность свободного остатка исключает появление отрицательных остатков в системе от заказов покупателей. Отрицательный остаток может возникнуть только при ручных корректировках со стороны организатора — и для этих ситуаций есть отдельная механика, о которой ниже.
Уведомления о проблемных товарах
Учёт остатков добавляет организатору три новые ситуации, которые нельзя удержать в голове или отследить вручную:
- Скрыт, есть свободный остаток. Часть остатка не разобрана заказами, но карточка товара скрыта — покупатели физически не могут заказать, а остаток мог быть распродан.
- Опубликован, но заказать нельзя. Весь свободный остаток забронирован. Покупатели видят карточку и получают отказ при попытке оформить — плохой опыт, который стоит закрыть скрытием товара.
- Отрицательный остаток. Выдали больше, чем было на складе — нужна ручная сверка. Обычно случается при ручных правках количества у выданных заказов.
Для этих сценариев в разделе «Товары» появилась вкладка «Уведомления» с бейджем количества проблем. Внутри — три раскрывающихся списка по типам ситуаций с конкретными товарами:
По каждому типу — две кнопки: «Показать список» и «Показать в матрице». Вторая кнопка открывает матрицу с уже применённым фильтром: организатор сразу видит проблемные товары в привычном рабочем интерфейсе и принимает решения — скрыть, дозакупить, скорректировать остаток.
Тумблер «В наличии» в заказах
В разделе «Заказы» появился тумблер «В наличии». Когда он выключен — организатор видит все заказы: и по товарам с остатком, и по товарам под предзаказ. Смешанный режим по умолчанию, привычный порядок работы.
Когда тумблер включён — список ужимается до заказов на товары с остатком. Организатор фокусируется на быстрой части ассортимента: она проходит цикл «Заказан → Готов к выдаче» без этапа закупки у поставщика.
В разделе «Выдача заказов» тумблер не применяется — при первой попытке его использовать система показывает объяснение:
Логика простая: при выдаче организатор подтверждает передачу заказа конкретному клиенту целиком. Клиент забирает и то, что было в наличии, и то, что закупили под его сбор. Разделять эти позиции на этапе выдачи бессмысленно.
Защита остатков в Telegram-боте
Учёт остатков работает и в Telegram-боте, но в упрощённом виде. Функционал бота исторически ограничен возможностями Telegram: сложные интерактивные попапы с кнопками «Отменить / Понятно», как в приложении, здесь недоступны. Поэтому логика упрощена — бот проверяет остаток и не даёт оформить заказ, если товара не хватает.
Если покупатель через бота указывает количество больше доступного, бот показывает всплывающее сообщение «Доступно только N — уменьшите количество». Заказ не оформляется, покупатель возвращается к вводу и меняет количество вручную.
Если весь свободный остаток забронирован, бот при попытке оформить заказ показывает сообщение «Товар закончился — весь остаток разобран заказами». Логика такая же, как в приложении: заказать нельзя, покупатель возвращается к списку.
Автокоррекции количества с выбором «оставить или отменить», как в приложении, в боте нет — это компромисс в пользу простоты работы через мессенджер. За полным опытом покупатель может перейти в PWA-приложение по ссылке, доступной в боте.
Что это меняет в работе
Главное следствие — у товаров с остатком пропадает этап закупки у поставщика. Заказ проходит цикл «Заказан → Готов к выдаче» без промежуточной стадии, покупатель может забрать товар сразу.
Организатору это даёт две вещи. Первое — новый источник выручки: то, что уже лежит на складе, можно продавать не дожидаясь очередного сбора. Второе — новый тип покупателя: тот, кто хочет забрать сегодня, а не через неделю. Оба режима работают в одном каталоге, для одной группы, без разделения на «магазин» и «сбор» с точки зрения клиента.