Surrika

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

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

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

Как считать

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

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

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

Как найти отрицательные остатки на складе, если в выгрузке остатков минусов не видно? С чего начать проверку по артикулам?

Артикулы с отрицательным остатком по категориям

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

WITH monthly AS (
    SELECT
        date_trunc('month', s.date) AS month,
        s.category,
        s.sku,
        s.units AS closing_units,
        COALESCE(sa.sold_units, 0) AS sold_units,
        COALESCE(sa.returned_units, 0) AS returned_units
    FROM stock AS s
    LEFT JOIN (
        SELECT
            date_trunc('month', x.date) AS month,
            x.sku,
            sum(x.units) AS sold_units,
            sum(x.returned_units) AS returned_units
        FROM sales AS x
        GROUP BY 1, 2
    ) AS sa
        ON sa.month = date_trunc('month', s.date)
        AND sa.sku = s.sku
    WHERE s.date >= (SELECT max(date) - INTERVAL 11 MONTH FROM stock)
)
SELECT
    category,
    count(DISTINCT CASE WHEN closing_units + sold_units - returned_units < 0 THEN sku END) AS skus_negative_opening,
    count(DISTINCT CASE WHEN closing_units < 0 THEN sku END) AS skus_negative_closing
FROM monthly
GROUP BY category
ORDER BY skus_negative_opening DESC, category

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

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

Как считается расчетный остаток на начало месяца

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

Что делать с артикулами, у которых остаток ушел в минус

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

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

Обнулить минус в учете вручную

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

Сверять продажи маркетплейса с остатком своего склада

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

Вопросы

Почему в кабинете маркетплейса остаток положительный, а в учете минус?

Кабинет показывает только товар на складе площадки. Если продажи и приходы по всем каналам сведены в учетной системе, расхождение по артикулу указывает на непроведенный документ.

Может ли отрицательный остаток быть допустимым?

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

Что делать, если товар еще в пути?

Товар в пути не закрывает минус на дату снимка. Оприходуйте его после приемки, а до этого держите артикул в списке на проверку.

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

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

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

По теме

Все задачи