---
title: "Получить отчёт о прибылях и убытках Wildberries"
method: GET
path: "/api/v1/marketplace/wb/pnl"
tags: ["Marketplace Wildberries"]
---

# Получить отчёт о прибылях и убытках Wildberries

`GET /api/v1/marketplace/wb/pnl`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/marketplace/wb/pnl`
- 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

Строки отчёта по неделям или месяцам выбранного года. Год ограничен
глубиной финансового отчёта WB, значение вне диапазона заменяется
последним доступным годом.

## Query parameters

- `store` string
- `group` string
- `period` 'week' | 'month'
- `year` integer

## Headers

- `X-Tenant` string, required

## Response `200`

Отчёт о прибылях и убытках

- MarketplaceWbPnl
  - `period_kind` 'week' | 'month', required
  - `scheme` string, required: У Wildberries не заполняется и приходит пустой строкой
  - `updated` string, nullable, required
  - `year` integer, required
  - `years` integer[], required
  - `range` object, required: Границы года ключами from и to
  - `periods` MarketplaceWbPnlPeriod[], required
    - `key` string, date, required
    - `label` string, required
    - `sub` string, required
    - `start` string, date, required
    - `end` string, date, required
  - `rows` MarketplaceWbPnlRow[], required
    - `key` string, required
    - `label` string, required
    - `kind` 'total' | 'subtotal' | 'normal' | 'percent', required
    - `values` number[], required: Значения по периодам в порядке periods
  - `note` string
  - `demo` boolean: Аналитическая база не подключена и цифры синтетические
  - `breakdown` object: Разбор строки «Прочее» по периодам
  - `cost_missing` object: Сколько штук продано в периоде без действующей ставки себестоимости: они посчитаны с нулевой закупкой, маржа периода завышена. Ключ — начало периода; поля нет, когда у всех продаж года ставка есть
  - `units_missing` object: Выручка периода, по которой площадка не прислала количество проданных штук (ERP-1217): себестоимость посчитана нулём, маржа завышена. Ключ — начало периода. Заполняется только для Ozon
  - `cost_origin` object: Откуда себестоимость периода (ERP-2139). Ключ — начало периода, значение — суммы в знаке строки cogs (расход — минус), их сумма равна строке: manual — по ставкам; stock_posted — документы проведённых недель склада магазина «себестоимость со склада», неделя целиком в периоде своего воскресенья; stock_estimate — оценка непроведённой недели: (продано − возвращено) × цена единицы текущего самого старого FIFO-слоя склада площадки (нет слоя — следующей партии своих складов юрлица); stock_opening — продажи до запуска склада площадки без ставки: (продано − возвращено) × цена начального остатка товара на складе площадки (ERP-2615). Продажи склада без связи артикула с товаром или без цены считаются в cost_missing. Поля нет, когда себестоимости за год нет
  - `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`: Внешний банк, справочник или контур подключений временно недоступен

---

[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)
