Как устроено это демо
Задача
Производитель орехов и сухофруктов продаёт через 3 кабинета на Wildberries и 3 на Ozon: 50 SKU, около 200 заказов в день. Нужен один инструмент вместо таблиц: сырьё и упаковка, техкарты, склад со сканером, задания производству, расчёт поставок FBO и сборка FBS, прибыль по SKU и кабинетам.
Компания «Ореховый двор» и все цифры вымышленные. История продаж за 90 дней сгенерирована с недельной сезонностью, ростом к осени и акциями; раз в сутки данные возвращаются к исходным.
Что внутри
- Справочники — единая номенклатура (сырьё, упаковка, готовая продукция), поставщики, техкарты с нормами и потерями, себестоимость считается из техкарты.
- Склад — журнал движений с двойной записью (приход, списание, перемещение, инвентаризация, производство, отгрузки), сканер штрихкода камерой телефона с ручным вводом.
- Производство — задания на выпуск, списание сырья по техкарте при выпуске, автозаказ по продажам за 14/30 дней, остаткам и минимальному запасу с проверкой сырья.
- Маркетплейсы — кабинеты, остатки на складах МП, расчёт поставок FBO на N дней по доле склада и сроку доставки, сборка FBS с листом подбора и сканером.
- Отчёты — прибыль = выручка − комиссия − логистика − реклама − себестоимость; оборачиваемость с ABC; что кончится через 7 дней; выгрузка в Excel.
- ИИ-помощник — вопрос по-русски → модель выбирает одну из заранее написанных функций-отчётов и её параметры, произвольного SQL нет. Лимит 20 вопросов в час с одного адреса, кэш ответов.
Стек
Python 3.10, Django 5, HTMX, Chart.js, SQLite в демо (в проде PostgreSQL), gunicorn за Caddy. Шрифты и скрипты отдаются с сервера, внешних сервисов нет. Светлая и тёмная тема, интерфейс склада рассчитан на телефон.
Как это выглядит в проде
Продажи, остатки FBO и заказы FBS приходят по API WB (statistics, marketplace) и Ozon Seller API по расписанию; стикеры и этикетки печатаются из системы. При желании вместо своего склада — интеграция с МойСклад или 1С по их API. Роли и доступ — как здесь, вход по паролю или через корпоративный SSO. Сервер — любой VPS от 2 ГБ, резервные копии ежедневно.