Оптовик фруктов и овощей: от Excel к системе с ценами, заказами и аналитикой — первая версия за 3 дня

Оптовый поставщик фруктов и овощей каждую неделю вручную переводил прайс поставщика в цены для торговых сетей и собирал заказы из мессенджера. Утром 8 октября начали разработку, в тот же день загрузили первый реальный прайс, на второй день сотрудницы клиента работали в системе сами, на третий через неё шли заказы торговых точек. Через неделю владелец уже смотрел в ней, какие товары приносят маржу, а какие не продаются.

Просмотры: 0

Задача

Раз в неделю поставщик присылает прайс на 110+ позиций. Менеджер вручную сверял названия со своим каталогом, в Excel пересчитывал наценку для каждого покупателя, собирал прайс-лист и отправлял файлом. Заказы точек приходили в мессенджер, накладные набирались руками: покупатель берёт штуками, а поставщик продаёт килограммами, — всё это сводилось вручную. Сколько заказать у поставщика, какая получилась маржа и какие товары зря занимают место в прайсе, не знал никто.

История проекта

  1. Начали с файлов клиента, а не с ТЗ

    Вместо технического задания разобрали реальные документы: прайс поставщика, прайс-лист для сети и расходную накладную. Договорились о главном сценарии — «загрузил прайс → проверил → опубликовал цены → принял заказ» — и о том, что команда получит рабочую версию через дни, а не недели.

  2. Первый реальный прайс — в день старта

    Разработка началась утром 8 октября, днём в систему загрузили настоящий прайс поставщика: 109 позиций разобрались, сопоставились с каталогом и превратились в цены покупателю. 9 октября сотрудницы клиента получили логины и начали работать, 10 октября через систему прошли накладные для торговых точек сети.

  3. Правки — прямо из рабочего чата

    Обратная связь шла скриншотом и одной фразой. «Я наценку поставила 52%, а цену не выводит» — наценка стала сразу пересчитывать цену. «Сделайте, чтоб я могла прописать цену, а наценку база сама посчитала» — появилось поле цены с обратным расчётом наценки. «Покупатель берёт в штуках, поставщик продаёт в кг» — в заказе появилась конвертация: покупатель получает накладную в штуках, поставщик — в килограммах. Большинство правок выходило в работу в течение часа.

  4. Через неделю — аналитика по запросу владельца

    Когда процессы заработали, владелец попросил видеть, «как себя чувствует бизнес». Появились пульс бизнеса с планом месяца и прогнозом, матрица товаров по продажам и марже, список непродающихся товаров и молчащих торговых точек. Отдельная роль «Продавец» видит только дашборд и аналитику.

Что сделали

  • →Сверка прайса с каталогом запоминает, как поставщик называет каждый товар: со второго прайса большинство строк сопоставляется само, а по каждому прайсу видно, сколько товаров подорожало, подешевело и сколько новых
  • →При новом прайсе цена покупателю меняется ровно на изменение закупки — наценка в тенге сохраняется; цену можно и вписать вручную, тогда наценку система посчитает сама. Цены всегда округляются вверх до целого тенге
  • →Цены публикуются только выбранным покупателям; прайс-лист выгружается в Excel и PDF одной кнопкой, без закупочных цен
  • →Расходные накладные по торговым точкам в привычном клиенту формате; конвертация штуки ↔ килограммы с ценой за штуку для покупателя
  • →Под каждый заказ складывается накладная поставщику; несколько накладных выгружаются в один файл
  • →Возвратные накладные из заказа: выбираете товар и количество, система не даст вернуть больше, чем было
  • →Аналитика: выручка и маржа за вычетом возвратов, сравнение с прошлым периодом, матрица «звёзды / локомотивы / ниша / балласт», непродающиеся товары, молчащие точки, план месяца с прогнозом по темпу
  • →Система предупреждает, когда данные неполные — например, в заказах есть позиции без количества, — чтобы решения не принимались по заниженным цифрам

Продукт в работе

Обзор бизнеса
Обзор: пульс бизнеса за неделю, выполнение плана месяца с прогнозом по темпу и сигналы, которые требуют внимания Данные на скриншотах изменены.
Аналитика по товарам
Аналитика по товарам: выручка, маржа и доля каждого товара, матрица «звёзды / локомотивы / ниша / балласт» и предупреждение о неполных данных
Наценка и предпросмотр цен
Наценка и предпросмотр: как изменилась закупка и цена для покупателя — в тенге и процентах; наценку или цену можно поправить в строке
Расходная накладная
Расходная накладная: цены подставляются из выбранного прайса, у каждой позиции — поставщик и конвертация штуки ↔ килограммы
Аналитика по торговым точкам
Покупатели и торговые точки: выручка, средний чек и маржа по каждой точке с трендом к прошлому периоду
Аналитика на телефоне
Аналитика на телефоне: ключевые показатели и матрица товаров для владельца и продавцов

Результат

От старта разработки до первых заказов через систему прошло три дня, до аналитики продаж и маржи — неделя. Недельный цикл «прайс поставщика → цены покупателям → заказы → накладные поставщику» больше не живёт в Excel и мессенджере, а владелец видит, какие товары зарабатывают, какие не продаются и как идёт выполнение плана. Клиент продолжает развивать систему вместе с нами.

3 дняот старта до заказов торговых точек через систему
7 днейдо аналитики продаж, маржи и плана месяца
120+товаров в каталоге, 5 прайсов поставщика опубликовано
8торговых точек в накладных и аналитике

Стек

Ruby on Rails 8PostgreSQLHotwire (Turbo + Stimulus)Solid QueueXLSX и PDF

Хотите похожий проект?