Продажи на точках с себестоимостью, скрытой от персонала
Владельцы видят себестоимость и прибыль; наёмные продавцы — только то, что нужно для продажи. Обе роли работают офлайн.
- Yemchi
- Агро, год 2026
- Статус
- Бэкенд в продакшене; распространяется как Telegram Mini App
- роли с разделённой видимостью
- 2
- роли с разделённой видимостью
- рабочего дня доступно офлайн
- 100%
- рабочего дня доступно офлайн
Проблема
Продавцу кормов с несколькими точками нужен был учёт запасов, себестоимости и долгов — но наёмные продавцы не должны видеть закупочные цены и прибыль, а на точках нестабильный интернет.
Что сделали
- Разделили приложение по ролям на уровне токена: продавцы получают скрытую себестоимость, склад только для чтения и никаких отчётов — это обеспечивает API, а не интерфейс.
- Считаем настоящую средневзвешенную себестоимость по каждому товару с учётом приходов — прибыль реальная, а не оценочная.
- Синхронизировали офлайн-работу по принципу last-write-wins для каждой записи: день без интернета вечером сводится без конфликтов.
Результат
Владелец видит прибыль по каждой точке и товару; продавцы продают, не видя маржи. Продажи за наличные и в долг, задолженности и остатки остаются корректными даже после офлайн-дней.
Модули
- Склады и товарыНесколько точек продаж под одним аккаунтом; готовый каталог из шести категорий; раздельные единицы закупки и продажи.
- Продажи и долгиНаличные или в долг; прибыль фиксируется в момент продажи; частичные платежи по продажам в долг.
- Роль продавца на стороне сервераПродавец определяется по телефону из списка сотрудников владельца; JWT-claims ограничивают push, сервер задаёт себестоимость при продаже, идемпотентно списывает остатки и маскирует поля себестоимости нулями.
- ОтчётыПериод × склад: оборот, себестоимость, прибыль, долги с фиксацией платежей, разбивка по товарам.
- Telegram Mini AppСлой in-memory SQL + localStorage, нативная кнопка «Назад», таб-бар с учётом клавиатуры.
Технологии
React Native, Expo, SQLite, NestJS, PostgreSQL
Все работыБесплатный разговор: 30 минут и письменный вывод
Поговорим о Вашем бизнесе. Никаких обязательств с Вашей стороны.