Skip to content

Отчёт о реализации

Руководство по получению отчёта о реализации (детализированный отчёт продавца) через Wildberries SDK.

Обзор

Отчёт о реализации — основной источник данных о продажах, возвратах, комиссиях и удержаниях. Содержит детализацию по каждой операции.


Быстрый старт

typescript
import { WildberriesSDK } from 'daytona-wildberries-typescript-sdk';

const sdk = new WildberriesSDK({ apiKey: process.env.WB_API_KEY! });

// Получить отчёт за неделю
const report = await sdk.finances.getSupplierReportdetailbyperiod({
  dateFrom: '2024-12-01',
  dateTo: '2024-12-07'
});

console.log(`Всего записей: ${report.length}`);

Метод API

getSupplierReportdetailbyperiod(params)

Модуль: sdk.finances

ПараметрТипОбязательныйОписание
dateFromstringДаНачало периода (YYYY-MM-DD)
dateTostringДаКонец периода (YYYY-MM-DD)
limitnumberНетЛимит записей (default: 100000)
rrdidnumberНетID для пагинации

Rate Limit: 1 запрос в минуту


Типы операций (supplier_oper_name)

ЗначениеОписание
ПродажаПродажа товара покупателю
ВозвратВозврат товара покупателем
ЛогистикаСтоимость доставки
Логистика сторноВозврат стоимости доставки
ХранениеПлатное хранение
ШтрафШтрафные санкции
КомпенсацияКомпенсации от WB

Ключевые поля для финансов

ПолеОписаниеЗнак
ppvz_for_payК перечислению продавцу±
ppvz_sales_commissionКомиссия WB-
delivery_rubСтоимость логистики-
storage_feeХранение-
penaltyШтрафы-
additional_paymentДоплаты+

Анализ продаж по типам операций

typescript
interface SalesAnalysis {
  sales: number;           // Продажи
  returns: number;         // Возвраты
  logistics: number;       // Логистика
  storage: number;         // Хранение
  commission: number;      // Комиссия
  penalties: number;       // Штрафы
  netAmount: number;       // Итого к выплате
}

async function analyzeSales(
  sdk: WildberriesSDK,
  dateFrom: string,
  dateTo: string
): Promise<SalesAnalysis> {
  const report = await sdk.finances.getSupplierReportdetailbyperiod({
    dateFrom,
    dateTo
  });

  const analysis: SalesAnalysis = {
    sales: 0, returns: 0, logistics: 0, storage: 0,
    commission: 0, penalties: 0, netAmount: 0
  };

  for (const item of report) {
    const operName = item.supplier_oper_name?.toLowerCase() || '';

    if (operName.includes('продажа')) {
      analysis.sales += item.ppvz_for_pay || 0;
    } else if (operName.includes('возврат')) {
      analysis.returns += Math.abs(item.ppvz_for_pay || 0);
    } else if (operName.includes('логистик')) {
      analysis.logistics += Math.abs(item.delivery_rub || 0);
    } else if (operName.includes('хранени')) {
      analysis.storage += item.storage_fee || 0;
    }

    analysis.commission += item.ppvz_sales_commission || 0;
    analysis.penalties += item.penalty || 0;
    analysis.netAmount += item.ppvz_for_pay || 0;
  }

  return analysis;
}

Rate Limits и рекомендации

АспектРекомендация
Rate limit1 запрос в минуту
ПагинацияИспользуйте rrdid из последней записи
Размер периодаДо 365 дней за запрос
Лимит записейmax 100000 за запрос
Задержка61 сек между запросами при пагинации

Связанные материалы


← Назад к руководствам

Made with ❤️ for the Wildberries developer community