Отчет по стокам на текущий день

Дашборд по остаткам за 5 минут

Тот отчёт «на сколько дней хватит товара», что ты видел, можно собрать по своим данным самому — без аналитика и Excel. Нужны Claude Code и подключение MoneySellers. Дальше — один промт, и Claude сам выгрузит остатки и продажи, посчитает покрытие по каждому SKU и соберёт готовый дашборд.


Что покажет отчёт

🔴 Что кончается

SKU, которых хватит на 0–14 дней — успеть допоставить до out-of-stock и не терять продажи и позиции в выдаче.

🟣 Где заморожен капитал

Затоварка на 100–900 дней — деньги лежат на складе мёртвым грузом. Видно, что не закупать.

🔵 Оборачиваемость

На сколько дней хватает стока канала и сколько раз в год он оборачивается — WB против Ozon.


шага до отчёта

1. Установи Claude Code

Это приложение от Anthropic, в котором работает ИИ-агент. Скачай и установи с официального сайта, войди в аккаунт.

claude.com/claude-code

2. Получи API-ключ MoneySellers

В личном кабинете MoneySellers / Финансиста открой настройки интеграции и создай API-ключ. Скопируй его — он понадобится в следующем шаге.

→ Пошаговая инструкция по подключению: app60427.carrotquest.help/article/28613

3. Подключи MoneySellers к Claude Code

Открой терминал и выполни команду (вставь свой ключ вместо ТВОЙ_API_КЛЮЧ):

 # подключение работает во всех проектах (scope user) claude mcp add --transport http --scope user finansist https://mcp.api.report.finance/mcp --header "Authorization: Bearer ТВОЙ_API_КЛЮЧ" 

4. Проверь, что подключилось

Выполни в терминале:

 claude mcp list

Рядом с finansist должно быть ✓ Connected и число инструментов. Или открой Claude Code и набери /mcp — там виден статус. 

⚠️ ЕСЛИ ПИШЕТ «IPISNOTINWHITELIST»

На ключе включён список разрешённых IP. Узнай свой текущий IP командой
  curl https://api.ipify.org  и добавь его в настройках интеграции MoneySellers. После этого подключение заработает.


Вставь этот промт в Claude Code

Открой Claude Code (в любой папке) и вставь текст ниже одним сообщением. Claude сам определит твои каналы, выгрузит данные и соберёт дашборд. Менять в промте ничего не нужно.

Собери мне интерактивный HTML-дашборд «на сколько дней продаж хватит товара» (покрытие остатков, days of inventory) по моим маркетплейс-каналам через подключённый MCP-сервер MoneySellers (finansist).

1) Определи мои каналы и их ID сам, не хардкодь. У остатков (moneysellersWarehouse.list) и заказов (moneysellersOrder.list) канал в поле integrationId, у продаж (moneysellersSale.list) — в contragentId, причём у остатков и заказов ID одного канала могут отличаться. Вызови tag.list (тег «Канал продаж») и contragent.list, сделай пробные выборки за 1 день из orders и warehouse и сопоставь, какие integrationId и склады относятся к Wildberries, а какие к Ozon (склады Ozon обычно содержат «РФЦ»/«МПСЦ» либо это твой собственный склад при FBS; склады WB — города/«СЦ»/«ТПК»). Если у канала есть служебная интеграция или собственный склад без привязки к продажам по артикулам — учти её отдельно, не мешай с маркетплейс-стоком.

2) Данные. Сначала сам определи СЕГОДНЯШНЮЮ дату (текущий день) — отчёт всегда строй на сегодня. Текущие остатки — moneysellersWarehouse.list (это срез на сейчас, период не нужен; поля remainderInWarehouse, reserved, enRouteToClient). Скорость продаж — moneysellersOrder.list за последние 30 ПОЛНЫХ дней, заканчивая вчерашним днём; сегодняшний день не включай (он неполный). Проверь крайние сутки выборки: если в последнем дне заказов аномально мало — это незакрытый день, сдвинь окно на день назад. Дату среза и границы окна вычисляй от текущего дня при каждом запуске, не хардкодь. quantity по дням → штук в день. Имена SKU — item.list по id (фильтр id, до 100 за вызов). Большие ответы MCP сохраняются в файлы — обрабатывай их кодом (Python), не загружай целиком; не доверяй полю totalLineCount; если месячная выборка обрывается по таймауту — тяни чанками по ~6 дней.

3) Расчёт по каждому SKU в разрезе каналов: остаток, резерв, в пути, продаж/день, продано за 30 дней, ПОКРЫТИЕ в днях = (остаток на складе + товары в пути) ÷ продаж в день, тренд (вторые 15 дней против первых), статус: вне стока / меньше 14 дн / меньше 30 дн / норма 30–90 / затоварка больше 90 / мёртвый сток (есть остаток, 0 продаж). Посчитай оборачиваемость канала: дни = общий остаток ÷ продажи в день, и разы в год = 365 / дни.

4) Собери самодостаточный HTML-дашборд, светлая тема, шрифт Montserrat, числа моноширинно. Палитра — синий/фиолетовый/розовый, без зелёного/красного/оранжевого: риск = розовый (вне стока — тёмно-розовый, меньше 14 дн — розовый, меньше 30 — светло-розовый), норма = синий, затоварка = фиолетовый; тренд дублируй стрелками ▲▼. В дашборде: KPI-сводка (оборачиваемость канала в днях и разах/год, число SKU в риске, затоварка, мёртвый сток), график статусов по каналам, топ-12 «на грани» (меньше всего дней), и интерактивная таблица по каждому SKU с фильтрами (канал, статус), поиском и сортировкой по столбцам; шапка таблицы — sticky в собственной прокрутке таблицы, чтобы не налезала на строки. В шапке дашборда укажи дату среза (сегодня) и период окна продаж. Сохрани файл, открой его и покажи скриншот.

5) Дополнительно сделай анонимную копию дашборда для внешнего показа: замени названия SKU на «Товар 1, 2, 3…» (сквозная нумерация — один товар = один номер на всех каналах, по убыванию продаж), без названий товаров, складов и бренда.


Что ты получишь

  1. KPI-сводку — оборачиваемость WB и Ozon, сколько SKU в риске, объём затоварки и мёртвого стока.
  2. Карту статусов по каналам и топ-12 «на грани» — что горит прямо сейчас.
  3. Таблицу по каждому SKU с покрытием в днях, трендом и статусом — с фильтрами и сортировкой.
  4. Два файла — рабочий (с названиями) и анонимный (для партнёров и презентаций).


СОВЕТ

Хочешь обновить отчёт завтра — просто снова открой Claude Code и напиши «обнови отчёт по стокам». Период и каналы он уже знает из прошлого раза.


Пример дашборда

Работает на