Surrika

Проверка отрицательных значений в продажах по выгрузке

Минус в продажах появляется по разным причинам, и не каждая такая строка говорит об ошибке. Проверка показывает, где минус объясняется возвратом или сторно, а где в выгрузку попали битые данные. Считаем число таких строк по категориям за 12 месяцев и смотрим, какая категория требует сверки.

Отчеты и данные

Как считать

  1. Берем продажи за 12 месяцев по всем каналам.
  2. По каждой категории считаем число строк, где выручка, штуки, себестоимость или возвраты ушли в минус.
  3. Отдельно запоминаем минимальную выручку в строке категории.
  4. Категории сортируем по числу минусов в выручке и смотрим, где их больше всего.

Расчет на выгрузках магазина

Пример посчитан на выгрузках вымышленного мебельного магазина: продажи сайта и трех маркетплейсов, реклама, сделки CRM и остатки за 2024-2025 годы.

В выгрузке по продажам попадаются строки с минусом в выручке и в количестве. Как проверить такие строки и понять, какие из них нормальны?

Строки с минусом по категориям товаров

SQL, по которому посчитано

WITH base AS (
  SELECT category, revenue, units, cost_of_goods, returned_units, returned_revenue
  FROM sales
  WHERE date >= (SELECT date_trunc('month', max(date)) FROM sales) - INTERVAL 11 MONTH
)
SELECT
  category,
  count(*) AS rows_checked,
  count(*) FILTER (WHERE revenue < 0) AS neg_revenue_rows,
  count(*) FILTER (WHERE units < 0) AS neg_units_rows,
  count(*) FILTER (WHERE cost_of_goods < 0) AS neg_cost_rows,
  count(*) FILTER (WHERE returned_units < 0 OR returned_revenue < 0) AS neg_return_rows,
  round(min(revenue), 2) AS min_revenue
FROM base
GROUP BY category
ORDER BY neg_revenue_rows DESC, neg_units_rows DESC, category
LIMIT 30

Откуда в продажах берутся отрицательные значения

Отрицательная выручка приходит из сторно, когда возврат оформляют обратной проводкой по той же строке, что и продажу. Второй источник это корректировка закрытого периода, где сумму уменьшают задним числом. На маркетплейсах минус появляется в строках компенсаций и удержаний, если их грузят в тот же регистр продаж. Отрицательные штуки обычно означают, что возврат записали как продажу со знаком минус. Пока операция не размечена по типу, сумма по категории занижена и сравнение с планом дает неверную картину.

Как проверить отрицательные значения в продажах по колонкам

Проверяйте выручку, штуки, себестоимость, комиссию и логистику по отдельности, потому что минус в одной колонке при плюсе в другой ломает маржу. Смотрите на пары: если штуки ушли в минус, рядом должна стоять отрицательная выручка, иначе строка заполнена частично. Возвраты считайте отдельно, для них минус это нормальное состояние регистра. Категория с большим числом минусовых строк в выручке требует сверки с первичными документами, править числа вручную нельзя.

Отрицательные продажи в отчете маркетплейса и в учетной системе

Кабинет площадки и учетная система проводят возврат по-разному: площадка убирает выкуп и добавляет отдельную строку возврата, учетная система делает сторно исходной продажи. Из-за этого одна и та же операция дает минус в одном отчете и ноль в другом. Сверяйте по артикулу, дате и каналу, тогда расхождение объяснится типом операции. Если минус есть в продажах, но его нет в отчете о возвратах, ищите ручную корректировку или повторную загрузку файла.

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

Пометьте каждую минусовую строку типом операции: возврат, сторно, компенсация, техническая корректировка. Дальше считайте валовую выручку без возвратов и возвраты отдельно, чтобы не смешивать оборот и его уменьшение. Строки с минусом сохраняйте, удаление стирает след операции и расходится с кабинетом. Категории, где минус не объяснен документом, выгружайте менеджеру канала и запрашивайте расшифровку до закрытия месяца.

Частые ошибки

ABC-анализ на строках с минусом

Минусовые строки сдвигают выручку артикула вниз, и товар с возвратами уходит из группы A в B. Сверните сторно с исходной продажей до расчета рангов.

Фильтр только по положительной выручке

Отчет фильтруют по выручке больше нуля, минусовые строки исчезают, и сумма перестает сходиться с кабинетом площадки. Оставляйте такие строки в выборке и размечайте их тип.

Вопросы

Отрицательная себестоимость в продажах это ошибка?

Чаще это сторно партии или повторная загрузка документа поступления. Сверьте строку с накладной, и если минус остался, проверьте загрузку и период закрытия.

Почему минус есть в дневном отчете, а в месячном его нет?

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

Сколько минусовых строк считается нормой?

Фиксированной нормы нет. Смотрите на расшифровку каждой строки и на совпадение с отчетом о возвратах.

Посчитайте это на своих выгрузках

Бросьте выгрузки на доску Surrika и задайте вопрос обычными словами. Ответ придет графиком, а под ним будет SQL, по которому он посчитан.

14 дней бесплатно, карта не нужна.

По теме

Все задачи