WBUnit нужен селлеру Wildberries для управленческого анализа продаж и расчета юнит-экономики по артикулам на основе детализированных отчетов WB.

Зачем нужен сервис

В исходном детализированном отчете WB данные представлены построчно и ориентированы на операционный учет маркетплейса. Для принятия управленческих решений селлеру обычно нужно другое представление:

  • агрегирование по артикулу поставщика
  • отделение продаж от возвратов
  • понимание фактической выручки и удержаний
  • расчет налогов и вклада логистики
  • расчет прибыли и маржи

WBUnit преобразует отчет WB в такую форму.

Бизнес-сущности

Селлер

Селлер в контексте WBUnit это отдельный кабинет или учетная единица продавца, для которой загружаются отчеты и ведутся товары.

Селлер нужен, чтобы:

  • разделять отчетность по разным кабинетам
  • фильтровать список отчетов
  • назначать товары конкретному продавцу

Товар

Товар это карточка управленческого учета по артикулу поставщика.

Для товара в системе важны:

  • артикул поставщика
  • наименование
  • себестоимость
  • связь с селлером

Себестоимость не приходит из отчета WB и ведется пользователем отдельно. Именно она критична для расчета прибыли.

Отчет WB

Отчет это загруженный пользователем файл детализированного отчета Wildberries за период или набор периодов.

В системе отчет хранит:

  • номер отчета
  • исходное имя файла
  • привязку к пользователю
  • привязку к селлеру
  • дату загрузки
  • признак объединенного отчета
  • ссылку на исходный файл для повторной сборки

Строка отчета по юнит-экономике

Это итоговая агрегированная строка по одному артикулу поставщика.

Она является основной единицей анализа и содержит:

  • количество продаж
  • сумму продаж
  • количество возвратов
  • сумму возвратов
  • комиссию
  • эквайринг
  • услуги поверенного
  • логистику
  • обратную логистику
  • себестоимость
  • НДС
  • УСН
  • прибыль
  • маржу

Лимиты

Лимиты это внутренняя учетная сущность тарификации использования сервиса.

В текущей реализации лимиты расходуются по количеству строк детализации, которые были обработаны системой при загрузке отчета.

Основные бизнес-правила

Один исходный файл превращается в один отчет

Если пользователь загружает weekly-отчет, система строит один объект отчета и набор агрегированных строк по артикулам.

Группировка идет по артикулу поставщика

Система не считает каждую строку WB самостоятельной аналитической единицей. Детализация агрегируется по Артикул поставщика, потому что именно в этом разрезе селлер обычно оценивает товарную экономику.

Продажи и возвраты учитываются раздельно

Система отдельно накапливает:

  • количество и сумму продаж
  • количество и сумму возвратов

Это важно для корректного понимания чистой экономики товара.

Себестоимость не берется из WB

WB не дает закупочную стоимость товара в детализированном отчете, поэтому:

  • себестоимость хранится в справочнике товаров
  • при расчете она подтягивается по артикулу
  • если товара еще нет в справочнике, он создается автоматически с нулевой себестоимостью

С точки зрения бизнеса это означает: без заполненной себестоимости прибыль и маржа будут неполными или искаженными.

Прибыль считается после ключевых удержаний

В текущей реализации прибыль строится как результат после вычета:

  • комиссии по категории
  • эквайринга
  • услуг поверенного
  • логистики
  • обратной логистики
  • себестоимости
  • НДС
  • УСН

Это не бухгалтерская прибыль, а управленческий показатель для анализа товарной экономики.

Маржа считается от чистой выручки продавца

Маржа рассчитывается относительно чистой суммы продаж по цене продавца с учетом возвратов.

Система допускает ручные корректировки

Если селлер знает, что по конкретному артикулу нужно зафиксировать правильное значение вручную, он может сохранить ручную корректировку поля.

Бизнес-смысл этой функции:

  • зафиксировать уточненные цифры
  • сохранить комментарий к правке
  • не потерять исходно рассчитанное значение

Объединенный отчет это отдельная управленческая сущность

Когда пользователь объединяет несколько отчетов, система создает новый отчет с признаком is_combined = true.

Это нужно для сценария, когда селлер хочет:

  • увидеть итоги по нескольким периодам
  • собрать совокупную аналитику
  • получить отдельный экспорт по объединенному набору данных

Бизнес-ограничения текущей версии

  • summary-экспорт заполняет только часть колонок итогового шаблона
  • лимиты расходуются по строкам исходного файла, а не по количеству построенных товарных строк
  • прогресс объединения отчетов не сохраняется после рестарта backend
  • корректность прибыли сильно зависит от качества справочника товаров и заполненной себестоимости