ТОРГСТАТ MOSSAINT — своя аналитика Wildberries (аналог torgstat.ru)
====================================================================
ЗАПУСК
cd "/Users/al_mirzoev/Desktop/Claude /Закупки/torgstat-clone"
./venv/bin/python web/app.py
Открыть: http://localhost:5070
(В Claude Code: превью-конфиг «torgstat» в Закупки/.claude/launch.json)
ПЕРВЫЙ ЗАПУСК С РЕАЛЬНЫМИ ДАННЫМИ
1. Сейчас в базе ДЕМО-ДАННЫЕ (5 товаров, «Демо-магазин») — чтобы посмотреть интерфейс.
2. Перед реальным подключением: страница «Подключения» → «Очистить базу».
3. Создать токен в ЛК WB: Настройки → Доступ к API → Создать токен.
Категории: Контент, Аналитика, Статистика, Продвижение, Финансы (+Цены и скидки).
Для каждого юрлица (ИП Мирзоев, ОсОО Доккорей) — свой токен и своё подключение.
4. «Подключения» → Новое подключение: название, токен, налог (ИП: УСН 6% + НДС 5%;
ОсОО: 2% + НДС 0%).
5. «Запустить синхронизацию» (первый раз выбрать «за 180 дней» или «за год»).
Идёт в фоне 10–30 минут (лимиты WB). Журнал — внизу страницы «Подключения».
6. «Себестоимость» → внести себестоимость каждого артикула → «Сохранить всё».
«Действует с» — если себестоимость менялась, можно вносить новые значения с даты
(старые периоды считаются по старым значениям).
РАЗДЕЛЫ (структура 1:1 с torgstat.ru — меню «Мой магазин»)
Сводная информация — вкладки ДАШБОРД (12 карточек + график + таблица по дням) и
ЭКОНОМИКА ТОВАРОВ (юнит-экономика по артикулам, ~40 колонок,
кнопка «Столбцы», CSV).
Заказы и продажи — ЗАКАЗЫ (лента + гистограммы числа/дни недели/часы), ПРОДАЖИ,
АВС-АНАЛИЗ (2 буквы: выручка + прибыль), ДИНАМИКА (метрика по
артикулам × недели/дни/месяцы), ПЛАН-ФАКТ (план по неделям,
ввод прямо в таблице), ГЕОГРАФИЯ.
Товары — ТОВАРЫ (карточки WB), СКЛАД (как в Торгстате: фильтры Бренды/
Предметы/Склады/Фулфилмент FBO+FBS/Группировка «Размер-Склад»/
поиск + поле «Дата»; колонки: цена, себестоимость, габариты
(длина/ширина/высота/вес/объём), доступно, в пути к/от, полный
остаток, капитализация, потенциальная выручка. Смена даты сразу
перестраивает таблицу; история остатков пишется автоматически при
каждой синхронизации — до первого синка прошлых дат нет),
ПОСТАВКИ (поставки FBO из WB), СЕБЕСТОИМОСТЬ (ввод — основа
расчёта прибыли!).
Финотчеты — еженедельные отчеты WB (как в ЛК), клик — разбивка по товарам.
Остатки/Склады — свой склад FBS: ручные остатки и справочник складов.
Финансы компании — ОПИУ (по неделям/месяцам), ДДС (движение денег по внешним
операциям), ВНЕШНИЕ ОПЕРАЦИИ (расходы вне WB: фулфилмент,
фотосессии...; с артикулом → в экономику товара, без → в сводные),
БАНКОВСКИЕ СЧЕТА.
Аналитика рекламы — КАМПАНИИ, ТОВАРЫ, ПОКАЗАТЕЛИ (метрики × дни).
Подключения — токены, налоги, синхронизация, журнал.
КАК СЧИТАЕТСЯ (упрощённо, близко к Торгстату)
Валовая выручка = продажи − возвраты (по отчётам реализации WB)
Комиссия = сумма продажи − к перечислению продавцу (из отчёта WB)
Логистика = строки «Логистика» отчёта (прямая/обратная)
Себестоимость = (продано − возвращено) × себестоимость единицы на дату
Валовая прибыль = выручка − комиссия − эквайринг − логистика − хранение − штрафы −
приемка − удержания − продвижение − себестоимость + доплаты
Налог = Сумма реализации × ставка УСН + НДС (расчётный из реализации)
Чистая прибыль = валовая прибыль − налог
ДРР = продвижение / сумма заказов
Реклама без привязки к артикулу распределяется пропорционально сумме заказов.
СИНХРОНИЗАЦИЯ ИЗ ТЕРМИНАЛА (можно поставить в cron)
./venv/bin/python web/sync.py # все подключения, 90 дней
./venv/bin/python web/sync.py --days 30 # быстрое обновление
ФАЙЛЫ
web/app.py — сайт (Flask), порт 5070
web/db.py — схема SQLite (web/data.sqlite3)
web/wb_api.py — клиент WB API
web/sync.py — синхронизация
web/economics.py — все формулы юнит-экономики
web/seed_demo.py — демо-данные (--wipe = стереть всё)