# ТЗ · SellerFlow — трекер задач и аналитика для селлера маркетплейсов

**Источник заказа:** FL.ru, проект №5005764 «Разработать веб-сервис для управления задачами»
https://www.fl.ru/projects/5005764/razrabotat-veb-servis-dlya-upravleniya-zadachami.html

**Бюджет заказа:** по договорённости (в заказе не указан)
**Тип трекера:** задачи + товарная аналитика (e-commerce / маркетплейсы)

## 1. Цель
Один экран, на котором селлер видит и свои задачи (что сделать по товару), и деньги (что происходит с оборачиваемостью и рентабельностью). Задачи привязываются к SKU, а не живут в отрыве от цифр.

## 2. Пользователи
| Роль | Права |
|---|---|
| Владелец | всё: задачи, товары, настройки, экспорт |
| Менеджер | задачи и товары, без изменения себестоимости |
| Наблюдатель | только чтение |

## 3. Экраны
1. **Обзор** — KPI-плитки (выручка, маржа, оборачиваемость, задачи в работе), график выручки за 14 дней, топ проблемных SKU.
2. **Канбан задач** — «Бэклог», «В работе», «На проверке», «Готово»; фильтр по товару и приоритету.
3. **Товары** — таблица SKU: цена, себестоимость, остаток, продажи/день, оборачиваемость (дней), маржа %, ABC-категория.
4. **Аналитика** — ABC/XYZ-сводка, рентабельность по категориям, динамика.
5. **Настройки** — комиссия МП, налог, порог низкой маржи, импорт демо-данных.

## 4. Функции MVP
- CRUD задач: название, SKU, тип (контент/цена/поставка/реклама/отзывы), приоритет, дедлайн, исполнитель, статус.
- Расчёт метрик по каждому SKU: маржа ₽ и %, оборачиваемость в днях, выручка, ABC-класс.
- Сортировка и фильтры таблицы, поиск по SKU/названию.
- График выручки и маржи по дням (SVG, без библиотек).
- Светофор проблем: «маржа ниже порога», «остаток меньше 7 дней», «задача просрочена».
- Роли: владелец/менеджер/наблюдатель — ограничение на редактирование.
- Экспорт CSV, сохранение в localStorage.
- Заглушка «Подключить API маркетплейса» с объяснением, какие поля нужны.

## 5. Критерии готовности
1. При изменении себестоимости или цены метрики пересчитываются сразу.
2. Товар с маржой ниже порога попадает в блок «Требует внимания».
3. Оборачиваемость = остаток / средние продажи в день; при нулевых продажах — «—».
4. Задача, привязанная к SKU, открывается из карточки товара.
5. Просроченная задача выделяется, счётчик в шапке совпадает с фильтром.
6. Наблюдатель не может создавать и менять задачи.

## 6. Вопросы клиенту
1. Какие маркетплейсы и какие именно отчёты (Ozon, WB, Яндекс Маркет) нужно подключить первыми?
2. Комиссия и логистика считаются по фактическим отчётам или по средней ставке?
3. Что считать «оборачиваемостью»: дни до нуля остатка или дни оборота склада?
4. Нужен ли учёт поставок в пути и резервов?
5. Задачи создаются вручную или автоматически по правилам («маржа < 15%»)?
6. Кто пользователи и нужен ли журнал действий?

## 7. Ограничения MVP
Данные демонстрационные, API не подключён — вместо него экран с описанием контракта. Расчёты выполняются на клиенте.
