---
title: "Получить декомпозицию прибыли Wildberries"
method: GET
path: "/api/v1/marketplace/wb/decomposition"
tags: ["Marketplace Wildberries"]
---

# Получить декомпозицию прибыли Wildberries

`GET /api/v1/marketplace/wb/decomposition`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/marketplace/wb/decomposition`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)
  - HTTP bearer

Месяц разбивается на недельные спринты плюс накопительный блок.
По каждому артикулу и по строке «Прочее» считаются выручка, возвраты,
комиссия, логистика, хранение, приёмка, штрафы, удержания, эквайринг,
реклама, себестоимость, налог, прибыль и прогноз run-rate.

## Query parameters

- `store` string
- `month` string
- `from` string, date
- `to` string, date
- `group` string
- `subject` string
- `brand` string

## Headers

- `X-Tenant` string, required

## Response `200`

Декомпозиция за выбранный месяц

- MarketplaceWbDecomposition
  - `updated` string, nullable, required: Время последней синхронизации финансового отчёта
  - `anchor` string, date, required: Последний день данных
  - `months` MarketplaceWbDecompositionMonth[], required
    - `key` string, date, required
    - `label` string, required: Название месяца по-русски
    - `sub` string, required: Год
    - `start` string, date, required
    - `end` string, date, required
  - `month` MarketplaceWbDecompositionMonth, required
    - `key` string, date, required
    - `label` string, required: Название месяца по-русски
    - `sub` string, required: Год
    - `start` string, date, required
    - `end` string, date, required
  - `periods` MarketplaceWbDecompositionPeriod[], required: Первый блок — накопительно за месяц, далее спринты
    - `id` string, required: Идентификатор блока: month либо s с номером спринта
    - `kind` 'month' | 'sprint' | 'range', required
    - `n` integer, nullable, required: Номер спринта внутри месяца
    - `label` string, required
    - `sub` string, required: Границы блока в формате дня и месяца
    - `start` string, date, required
    - `end` string, date, required
    - `run_rate_factor` number, required: Множитель прогноза на полный период
    - `totals` MarketplaceWbMetricCell, required: Ячейка декомпозиции. Расходы приходят отрицательными числами.
      - `id` string: Идентификатор блока; присутствует только в итогах периода
      - `revenue` integer, required
      - `units` integer, required
      - `avg_check` integer, nullable, required: Средний чек: выручка на проданную штуку; null без продаж
      - `return_units` integer, required
      - `returns` integer, required
      - `returns_pct` number, nullable, required
      - `commission` integer, required: Вознаграждение WB как разница выплаты и дохода
      - `commission_pct` number, nullable, required
      - `logistics` integer, required
      - `logistics_per_unit` integer, nullable, required
      - `storage` integer, required
      - `acceptance` integer, required
      - `penalty` integer, required
      - `deduction` integer, required
      - `penalties_other` integer, required: Штрафы, удержания, компенсации и доплаты одной суммой
      - `acquiring` integer, required
      - `other` integer, required: Компенсации и прочие операции
      - `internal_ad` integer, required: Внутренняя реклама WB
      - `drr` number, nullable, required: Доля рекламных расходов в выручке
      - `cogs` integer, required
      - `tax` integer, required
      - `expenses` integer, required
      - `profit` integer, required
      - `margin_pct` number, nullable, required
      - `roi` number, nullable, required: Прибыль к себестоимости по модулю, %; null без себестоимости
      - `deliveries` integer, nullable, required: Доставки покупателю в штуках по строкам логистики отчёта; null — штук доставки за период нет в своде
      - `back_deliveries` integer, nullable, required: Обратные доставки в штуках по строкам логистики отчёта; null — штук доставки за период нет в своде
      - `buyout_pct` number, nullable, required: Выкуп: доставки минус обратные доставки к доставкам, %; null без доставок
      - `rr_revenue` integer, required: Выручка в прогнозе run-rate
      - `rr_profit` integer, required: Прибыль в прогнозе run-rate; штрафы, удержания и прочее не проецируются
    - `cost_origin` object: Себестоимость блока по источникам (ERP-2139), рубли в знаке cogs (расход — минус): manual — по ставкам; stock_posted — документы проведённых недель склада, чьё воскресенье (дата документов) в блоке; stock_estimate — оценка непроведённой недели: штуки × цена единицы текущего самого старого FIFO-слоя склада площадки (нет слоя — следующей партии своих складов юрлица); stock_opening — продажи до запуска склада площадки без ставки: штуки × цена начального остатка товара на складе площадки (ERP-2615). Поля нет, когда себестоимости в блоке нет
      - `manual` number
      - `stock_posted` number
      - `stock_estimate` number
      - `stock_opening` number
  - `articles` MarketplaceWbDecompositionArticle[], required
    - `store_id` integer, required: Внешний идентификатор магазина в аналитике
    - `store_name` string, required
    - `offer_id` string, required: Артикул поставщика
    - `sku` unknown, required
    - `nm_id` integer, nullable, required
    - `name` string, required
    - `category` string, required: Предмет WB
    - `image` string, required
    - `url` string, required: У Wildberries не заполняется и приходит пустой строкой
    - `by_period` object, required: Ключ — идентификатор блока периода
    - `cost_missing` boolean: Себестоимость артикула не заведена: прибыль завышена (ERP-1169). У магазина «себестоимость со склада» — артикул не связан с товаром или у товара нет слоя на складе площадки, а неделя ещё не проведена
    - `units_missing` boolean: Площадка прислала выручку, но не количество проданных штук: себестоимость посчитана нулём (ERP-1217)
    - `cost_missing_stock` boolean: Пометка cost_missing у магазина «себестоимость со склада» (ERP-2139): неделя не проведена, а артикул не связан с товаром или у товара нет слоя на складе площадки. Поля нет, когда так не случилось
    - `cost_origin` 'manual' | 'stock_posted' | 'stock_estimate' | 'stock_opening' | 'mixed': Откуда себестоимость артикула в итоговом блоке (ERP-2139): manual — ставки; stock_posted — документы проведённых недель склада; stock_estimate — оценка по текущему FIFO-слою склада площадки; stock_opening — до запуска склада площадки по цене начального остатка (ERP-2615); mixed — несколько источников. Поля нет, когда себестоимости у артикула нет
    - `product_id` string, uuid: Позиция номенклатуры кабинета, к которой привязана карточка; поля нет у непривязанной
    - `product_sku` string: Наш код товара — артикул позиции номенклатуры; поля нет у непривязанной карточки
    - `product_name` string: Название позиции номенклатуры; поля нет у непривязанной карточки или без названия
  - `other` MarketplaceWbDecompositionOther, required
    - `by_period` object, required: Суммы без привязки к артикулу по блокам периодов
    - `breakdown` object, required: Разбор строки «Прочее» по наименованиям операций
  - `demo` boolean: Аналитическая база не подключена и цифры синтетические
  - `freshness` MarketplaceComponentFreshness: Время последней успешной загрузки каждого компонента отчёта; отсутствующее или null-значение означает, что компонент ещё не загружался успешно.
    - `finance` string, nullable: Финансовые операции площадки
    - `ads` string, nullable: Реклама Wildberries
    - `ads_clicks` string, nullable: Клики рекламы Ozon
    - `ads_orders` string, nullable: Заказы из рекламы Ozon
    - `products` string, nullable: Карточки товаров
  - `data_through` MarketplaceComponentDataThrough: Последняя дата операций площадки, уже включённых в каждый компонент отчёта; отсутствующее или null-значение означает, что дата покрытия пока неизвестна.
    - `finance` string, date, nullable: Финансовые операции площадки
    - `ads` string, date, nullable: Реклама Wildberries
    - `ads_clicks` string, date, nullable: Клики рекламы Ozon
    - `ads_orders` string, date, nullable: Заказы из рекламы Ozon
    - `products` string, date, nullable: Карточки товаров по дате последней синхронизации
  - `incomplete` boolean: Хотя бы один обязательный компонент не загружался успешно, последняя загрузка завершилась ошибкой или давно не запускалась

## Other responses

- `400`: Некорректный запрос или нарушение бизнес-правила
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `503`: Внешний банк, справочник или контур подключений временно недоступен

## Changes

- **2026-10-20** `a99574d597cc`: 6 info
  - added the new optional `query` request parameter `brand`
  - added the new optional `query` request parameter `group`
  - added the new optional `query` request parameter `subject`
  - added the optional property `articles/items/product_id` to the response with the `200` status
  - …2 more

[Operation history](https://skmtc.dev/akeda/apis/akeda-erp-client-api/changes/api/v1/marketplace/wb/decomposition/get.md)

---

[API](https://skmtc.dev/akeda/apis/akeda-erp-client-api.md) · [All operations](https://skmtc.dev/akeda/apis/akeda-erp-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/akeda/apis/akeda-erp-client-api/revisions/a99574d597cc?raw)
