Surrika

Как проверить даты продаж и найти записи вне отчетного периода

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

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

Как считать

  1. За отчетный месяц возьмите последний месяц, который есть в продажах.
  2. Определите его первый день и первый день следующего месяца.
  3. Отметьте каждую продажу как попавшую до периода, внутрь или после.
  4. Для продаж вне периода сложите строки, штуки и выручку по месяцам.
  5. Сравните суммы по месяцам с детальными строками и найдите источник лишних дат.

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

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

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

Продажи вне отчетного периода по месяцам

Штук Выручка, руб. Строк продаж Период
1 939 28 048 483 ₽ 1 096 До периода, 2024-01
1 874 27 048 634 ₽ 1 072 До периода, 2024-02
2 111 31 467 616 ₽ 1 159 До периода, 2024-03
2 063 29 968 620 ₽ 1 139 До периода, 2024-04
2 094 31 213 151 ₽ 1 190 До периода, 2024-05
1 863 26 318 473 ₽ 1 051 До периода, 2024-06
1 868 26 432 084 ₽ 1 063 До периода, 2024-07
1 981 29 855 587 ₽ 1 147 До периода, 2024-08
2 184 32 723 788 ₽ 1 203 До периода, 2024-09
2 364 33 847 805 ₽ 1 192 До периода, 2024-10
2 437 34 029 996 ₽ 1 242 До периода, 2024-11
2 518 36 262 085 ₽ 1 228 До периода, 2024-12
2 023 27 282 179 ₽ 1 063 До периода, 2025-01
1 738 23 407 545 ₽ 942 До периода, 2025-02
2 180 30 721 616 ₽ 1 144 До периода, 2025-03
2 093 29 202 900 ₽ 1 097 До периода, 2025-04
2 081 29 068 895 ₽ 1 113 До периода, 2025-05
1 909 26 383 193 ₽ 1 005 До периода, 2025-06
1 907 25 588 417 ₽ 1 040 До периода, 2025-07
1 959 28 614 866 ₽ 1 016 До периода, 2025-08
2 133 31 640 668 ₽ 1 063 До периода, 2025-09
2 425 36 479 458 ₽ 1 148 До периода, 2025-10
2 309 33 805 796 ₽ 1 059 До периода, 2025-11

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

WITH bounds AS (
    SELECT
        date_trunc('month', max(date)) AS period_start,
        date_trunc('month', max(date)) + INTERVAL '1 month' AS period_end
    FROM sales
),
outside_sales AS (
    SELECT
        date_trunc('month', s.date) AS month,
        CASE
            WHEN s.date < b.period_start THEN 'До периода'
            ELSE 'После периода'
        END AS period_side,
        count(*) AS sales_rows,
        sum(s.units) AS units,
        round(sum(s.revenue), 2) AS revenue
    FROM sales s
    CROSS JOIN bounds b
    WHERE s.date < b.period_start OR s.date >= b.period_end
    GROUP BY 1, 2
)
SELECT
    period_side || ', ' || strftime(month, '%Y-%m') AS period_label,
    sales_rows,
    units,
    revenue
FROM outside_sales
ORDER BY month, period_side
LIMIT 30

Где в выгрузке продаж появляются даты вне отчетного периода

В кабинетах маркетплейсов берите отчет о продажах за месяц, на сайте выгрузку заказов из учетной системы. В одном файле дата может означать день оформления, в другом день отгрузки или закрытия заказа. Если свести каналы по этим датам, часть продаж сместится в соседний месяц. Сверяйте дату продажи, по которой строите отчет. Дату оплаты или возврата для этой проверки не используйте.

Что означают продажи вне отчетного периода по датам

Пара строк за границами месяца обычно появляется из ручной правки или неверного года. Целый месяц до начала периода говорит о том, что в файл попал соседний период или неверно выбрана выгрузка. Даты после конца месяца проверяйте отдельно. Они бывают будущими или результатом сбоя в формате. Сравните число строк вне периода с числом дней, чтобы понять масштаб. Если строк много, сначала найдите файл или канал с ошибкой.

Что делать с продажами за пределами отчетного месяца

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

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

Итоговая строка в файле продаж

Строка с итогом попадает в проверку как обычная продажа и дает дату, которой нет в детальных записях. Уберите итоги до сверки дат, иначе число строк вне периода будет завышено.

Дата в текстовом формате

Текстовая дата может сравниться с границами месяца не так, как настоящая. Приводите все даты к одному формату до проверки, иначе часть строк попадет не в тот период.

Границы по рекламной выгрузке

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

Вопросы

Можно ли проверять даты сразу по всем каналам?

Да, если в выгрузке есть единая дата продажи и канал. Считайте строки вне периода по каждому каналу отдельно, чтобы найти источник расхождения.

Что делать, если дата продажи содержит время?

Сравнивайте календарный день. Время отбрасывайте до проверки, иначе продажа в конце дня может попасть в соседние сутки.

Почему после исправления даты изменилась сумма отчета?

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

Как часто проверять даты продаж?

Перед каждой сборкой месячного отчета и после объединения файлов из разных кабинетов. Разовая проверка не поможет, если выгрузки приходят с разными датами.

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

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

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

По теме

Все задачи