Какие данные нужны селлеру: от API площадки до проверяемой прибыли
Подключённый API ещё не означает достоверный отчёт. Заказы могут приехать раньше финансовых начислений, возвраты — позже продаж, а одна операция — попасть в две выгрузки. Для оцифровки важна не только загрузка, но и проверяемая модель.
Разделяйте оперативные данные и окончательные документы. Не выдавайте неполную загрузку за нулевые продажи и не складывайте разные виды операций без проверки.
Пять слоёв управленческой модели
| Слой | Что даёт | Главная проверка |
|---|---|---|
| Заказы, выкупы, возвраты | Спрос и состоявшиеся продажи | Статус, дата и единица измерения |
| Финансовые операции | Комиссии, услуги, компенсации | Идентификатор операции и знак суммы |
| Остатки и поставки | Доступность и будущий запас | Склад, резерв и товар в пути |
| Реклама | Стоимость привлечения продаж | Период, атрибуция и отсутствие дублей |
| Себестоимость и внешние расходы | Полный результат бизнеса | Дата действия и правило распределения |
Эти слои приходят с разной скоростью. Не подменяйте окончательную реализацию оперативной статистикой. В интерфейсе показывайте дату обновления и статус периода: «предварительный» или «сверен с документами».
Одинаковые заголовки, разные операции: оригинальный Excel Ozon
В отчёте Ozon «Отчет о реализации» название «Выплаты по механикам лояльности партнёров, руб.» встречается в двух блоках. В «Реализовано» это выплаты по продажам, в «Возвращено клиентом» — возврат соответствующих выплат. Сопоставление только по нижнему заголовку потеряет это различие: сохраняйте и название поля, и группу.
| Поле модели | Оригинал | Обработка |
|---|---|---|
| Выплата партнёра по продаже | «Выплаты по механикам лояльности партнёров, руб.» в блоке «Реализовано» | Добавить доходную сумму |
| Возврат выплаты партнёра | «Выплаты по механикам лояльности партнёров, руб.» в блоке «Возвращено клиентом» | В проверенной форме вычесть положительную сумму возврата |
| Артикул | «Артикул» | Сохранить как текст и связать со справочником |
| SKU площадки | «SKU» | Не путать с собственным артикулом |
Разность партнёрских выплат по продажам и их возвратов сверяйте с итогом «Всего выплат от партнёров (руб.):». Реализацию за вычетом возвратов сверяйте с «Итого реализовано (за вычетом возвратов) (руб.):». Оба равенства проверены на товарных строках исходного Excel. Итоги внизу файла исключаются из повторного суммирования. Справка Ozon описывает эти группы; названия полей проверены по оригинальной выгрузке.
Связи важнее количества выгрузок
Связь товара и уникальность операции — разные задачи. На Маркете лист «Отчёт о платежах» содержит «ID транзакции» и «Ваш SKU». В проверенном файле заполненные ID транзакций уникальны. Один SKU при этом участвует во многих платежах, услугах и возвратах: удаление дублей по артикулу уничтожит реальные операции.
- Для ключа финансовой операции сохраняйте площадку, источник, кабинет и идентификатор операции. Не публикуйте частные идентификаторы в отчётах для внешнего доступа.
- Повторная загрузка того же файла не должна менять количество операций и их суммы. Изменившаяся версия известной операции должна обновляться с сохранением истории корректировки.
- Для строки без устойчивого ID определите отдельное правило по спецификации источника. Номер строки сам по себе не гарантирует идентичность в следующей выгрузке.
- Даты заказа, доставки, начисления, возврата и банковского перечисления храните раздельно. Не сверяйте разные даты как один период.
Месячный отчёт реализации Ozon агрегирован по товарам и не является реестром с отдельным ID каждой продажи. Его лучше использовать как контроль суммы, а не притворяться, что каждая строка — одна транзакция. Наборы и варианты товара связывайте с собственной номенклатурой явно.
Пять проверок перед показом отчёта
- Полнота: загружены все страницы ответа и весь заявленный период.
- Уникальность: повторный запрос не создаёт дубликаты.
- Сверка: суммы совпадают с источником при одинаковой методике и периоде.
- Объяснимость: каждое существенное расхождение разложено по операциям.
- Свежесть: пользователь видит время последнего успешного обновления.
Пустой ответ API не всегда означает отсутствие операций. Причиной может быть ограничение доступа или временная недоступность источника. Сохраняйте последние проверенные данные и показывайте статус обновления, вместо того чтобы рисовать ложный ноль.
Как использовать это в оцифровке UniTab
Показывайте вместе с цифрой её определение, период и состояние загрузки. Например, «Выручка» в ключевых показателях Маркета не вычитает возвраты. Сравнение этого значения с платежами после возвратов создаёт ожидаемое расхождение, а не доказывает сбой загрузчика.
Для контрольного отчёта Маркета сохраните «Дата транзакции», «Сумма транзакции, ₽», «Тип транзакции» и «Источник транзакции». Фильтр определяет, какие операции вошли в показатель. Услуги, баллы и покупательские деньги нельзя сложить в одно «доходное» число без классификации.
В UniTab разделяйте оперативную сводку и закрытый P&L. Если загрузка неполная, показывайте последнее успешное обновление и недостающий период. Себестоимость и расходы вне площадки проверяются командой; API площадки не знает закупочную стоимость вашего товара.
Частые вопросы
Можно ли посчитать прибыль только по заказам?
Заказы показывают спрос, но могут быть отменены или возвращены. Для прибыли нужны состоявшиеся продажи, финансовые расходы и себестоимость.
Почему API и закрывающий отчёт расходятся?
Причинами могут быть разные даты, предварительные данные, корректировки и неодинаковый состав показателя. Сначала сравните одинаковые периоды и определения.
Что делать с расходом без артикула?
Сохранить его как общую операцию и отдельно определить правило управленческого распределения. Не придумывать связь с товаром.
Стоит ли удалять историю при неудачном обновлении?
Нет. Сохраните последние проверенные данные и явный статус ошибки. Заменять их можно после подтверждения полноты нового набора.
Проверьте экономику своего товара
Начните с цены, себестоимости и расходов площадки. Сравните сценарии до закупки, а затем проверяйте прогноз по фактическим данным.
Открыть бесплатную юнитку