Себестоимость: партии, копейки, импорт Excel
Себестоимость — это то, во сколько вам реально обходится единица товара (закупка у поставщика, не цена продажи). Раздел «Себестоимость» — единственное место в платформе, где вы вводите эту цифру. Пока её нет — расчёты прибыли, маржи и «сколько денег заморожено на складе» показывают ноль или заведомо неверное число, даже если продажи идут отлично.
Зачем этот раздел
Выручка видна из данных маркетплейса сама по себе. Прибыль — нет: маркетплейс не знает, за
сколько вы закупили товар у поставщика. Пока себестоимость не введена, платформа физически не
может посчитать маржу и капитализацию склада (остатки × себестоимость) — это не примерная
оценка, а буквально ноль в формуле. Поэтому «Укажите закупочные цены» — второй шаг чек-листа
настройки на дашборде «Товарного учёта» (сразу после загрузки товаров). Пока шаг не
закрыт полностью, дашборд честно показывает хинт «Цены есть у N из M. Прибыль пока показана не
полностью» — вместо того чтобы молча выдать заниженную цифру.
Откуда данные
Себестоимость всегда вводит сам продавец — платформа не получает её ни от WB, ни от Ozon (это закупочная цена у вашего поставщика, маркетплейсу она неизвестна). Три способа ввода:
- Простой режим — одна цена «на сейчас» по товару, с датой начала действия. Каждая новая запись начинает действовать с указанной даты и до следующей записи — это «ступенчатая» история цены: если 1 июня ввели 100 ₽, а 15 июля — 120 ₽, то с 1 по 14 июля действовала цена 100 ₽, с 15-го — 120 ₽. История видна по каждому товару через колонку «версий» — сколько раз менялась себестоимость.
- Партионный режим — себестоимость привязывается к конкретной партии поставки (номер прихода, количество, цена, дата приёмки) — точнее для товаров, где закупочная цена скачет от партии к партии.
- Импорт Excel/CSV — загрузка списком: колонки «артикул» (и штрихкод опционально) и
«себестоимость». Загрузчик сам понимает, есть заголовок в файле или нет, распознаёт разделитель
(запятая, точка с запятой, таб) и настоящий
.xlsx, а не только.csv. По итогу импорта показывается, сколько строк сматчилось с товарами, сколько записано и сколько артикулов не нашлось в каталоге (их сначала нужно разметить в «Онбординге»).
Все денежные суммы в системе хранятся в копейках (целые числа) — на экране вы вводите рубли, округление и сама единица хранения вас не касаются.
Кнопка «Обновить отчёты»
После правки себестоимости витрины (маржа, капитализация) обновляются не мгновенно — фоновый синк подтягивает их в течение нескольких минут. Кнопка «Обновить отчёты» в правом верхнем углу раздела запускает пересчёт сразу, если нужно увидеть эффект правки без ожидания планового обновления.
Как читать экран
- Себестоимость, ₽ — текущая действующая цена по товару (последняя версия истории).
- Поставщик — к какому поставщику привязан товар (можно назначать и массово, выделив несколько строк чекбоксами).
- Версий — сколько записей истории цены у товара; по клику открывается вся история с периодами действия («с … по …» либо «с … — по сейчас» для самой свежей записи).
- Партий — сколько отдельных партионных записей у товара (если используете партионный режим).
- Фильтр «Только без себестоимости» — быстро найти товары, где себестоимость ещё не заведена: это и есть тот список, который занижает маржу и капитализацию на дашборде.
- Фильтр по поставщику — сузить список до товаров конкретного поставщика.
Спросите ИИ-ассистента
- «У каких товаров ещё не заведена себестоимость?»
- «Покажи историю цены по товару [название]».
- «Насколько выросла себестоимость по [товар] за последние три месяца?»
Ассистент также умеет принимать файл с прайсом прямо в чате: прикрепляете Excel или CSV, он показывает превью — сколько товаров нашёл и у скольких изменится цена, — и применяет изменения только после явного подтверждения.
Кому что важно в этом разделе
- Владельцу бизнеса — без себестоимости маржа буквально ноль в системе (см. персональную статью «для владельца»).
- Менеджеру маркетплейсов — рутина ввода и еженедельная сверка счётчика «без цены».
- Бухгалтеру — точность в копейках и история цены «с даты» без переписывания прошлых периодов.
- Аналитику — как неполный охват себестоимости искажает среднюю маржу и как отследить рост цены закупки за период.
Для агентств, ведущих несколько кабинетов клиентов, ввод себестоимости в этом разделе намеренно не описан отдельной ролью: закупочная цена — конфиденциальные данные конкретного клиента, агентство обычно работает с готовыми витринами (см. «Финансы»), а не вводит закупку за клиента.
Боль: средняя маржа на дашборде может быть занижена, и на глаз это не видно
Карточка «Маржа за месяц» и капитализация склада на дашборде «Товарного учёта»
считаются по формуле остаток × себестоимость. Если у части каталога себестоимость не введена,
эта часть входит в расчёт с нулевой ценой закупки — то есть средневзвешенная маржа по всему
ассортименту оказывается ниже реальной, и чем больше товаров без цены, тем сильнее искажение. Хуже
всего то, что на глаз это неотличимо от «маржа действительно низкая» — оба случая выглядят как
одна и та же просевшая цифра на карточке.
Для аналитика это означает: прежде чем делать вывод о снижении маржинальности («упала на 8% за месяц»), нужно сначала исключить более простое и частое объяснение — новые товары без себестоимости, которые тянут среднее вниз, а не реальное падение прибыльности бизнеса.
Пошаговое решение в продукте
Подробно: пошаговый разбор для аналитика
1. Проверьте индикатор охвата, прежде чем анализировать динамику маржи
На дашборде «Товарного учёта» шаг чек-листа настройки «Укажите закупочные цены» показывает хинт «Цены есть у N из M. Прибыль пока показана не полностью», пока охват неполный. Это не косметическая деталь — это прямое указание, что цифра маржи на карточке дашборда занижена и не сопоставима один в один с периодами, когда охват был выше (или наоборот). Прежде чем строить вывод о динамике маржинальности, сверьте, не изменился ли сам охват себестоимости между сравниваемыми периодами — рост маржи может быть не улучшением юнит-экономики, а просто более полным вводом цен закупки.
2. Найдите товары без себестоимости через фильтр или ассистента
В разделе «Себестоимость» фильтр «Только без себестоимости» даёт точный список позиций, которые сейчас искажают среднюю маржу. Тот же вопрос можно задать ассистенту напрямую в чате: «У каких товаров ещё не заведена себестоимость?» — быстрее, чем открывать таблицу и прокликивать фильтр вручную, особенно если вопрос возникает в середине другого анализа.
3. Проверьте, сколько именно товаров и какой доли оборота не хватает
Помимо количества товаров без цены важно понимать их долю в обороте — товар без себестоимости с минимальными продажами искажает среднюю маржу гораздо меньше, чем ходовая позиция без цены. Список из фильтра «Только без себестоимости» стоит сопоставить с данными по продажам (раздел «Продажи»), чтобы приоритизировать, какие пробелы закрывать в первую очередь для точности расчётов, а не закрывать хвост каталога с нулевым оборотом.
4. Проследите историю роста себестоимости за период
Каждая версия себестоимости в простом режиме имеет дату начала действия — это готовый временной ряд для анализа. Спросите ассистента: «Насколько выросла себестоимость по [товар] за последние три месяца?» — он поднимет историю версий и покажет изменение цены закупки во времени, без ручного пролистывания истории по каждому товару отдельно. Это полезно для анализа, какая доля роста себестоимости продавца объясняет изменение маржи за тот же период, в отличие от изменений в цене продажи или удержаниях маркетплейса.
5. Учитывайте партионный режим отдельно, если он используется
Если по части товаров ведётся партионный учёт (себестоимость привязана к конкретным приходам, а не к единой текущей цене), для анализа средней маржи используется именно «текущая» цена товара (последняя версия простой истории или актуальная партия), а не сумма всех исторических партий — не путайте фактическую закупочную стоимость конкретной поставки с ценой, участвующей в расчёте маржи по отчётам.
Ценность для аналитика
- Неполнота названа явно, а не спрятана. Хинт «Цены есть у N из M» снимает риск ложного вывода о падении маржинальности там, где на самом деле не хватает данных по себестоимости.
- Пробелы находятся за секунды, а не перебором каталога. Фильтр и вопрос ассистенту дают точный список без ручного просмотра сотен строк.
- История цены закупки — готовый временной ряд. Дата действия каждой версии позволяет анализировать динамику роста себестоимости без дополнительной подготовки данных.
- Разделение «текущая цена» и «партия в поставке» не даёт случайно смешать два разных числа при построении отчёта о марже.
Частые вопросы
- Почему маржа на дашборде вдруг просела при неизменных продажах? Наиболее вероятная причина — появились новые товары без себестоимости (например, после массового добавления карточек), и они тянут средневзвешенную маржу вниз. Проверьте хинт «Цены есть у N из M» рядом с шагом настройки «Укажите закупочные цены», прежде чем делать вывод о реальном снижении прибыльности.
- Как быстро оценить, насколько сильно искажена текущая цифра маржи? Сравните число товаров без себестоимости из фильтра «Только без себестоимости» с общим количеством SKU и с их долей в обороте продаж — чем выше доля оборота у товаров без цены, тем сильнее занижена средняя маржа.
- Можно ли получить историю изменения себестоимости без ручного открытия карточки каждого товара? Да, спросите ассистента: «Насколько выросла себестоимость по [товар] за последние три месяца?» — он читает историю версий и отвечает динамикой, не требуя открывать раздел «Себестоимость» и пролистывать записи вручную.
- Партионный учёт как-то отдельно учитывается в средней марже дашборда? Нет отдельного агрегирования по партиям для этого показателя — маржа считается по актуальной («текущей») цене товара. Партии дают точность на уровне конкретного прихода, но не заменяют текущую цену в общем расчёте маржи по отчётам.
- Есть ли риск задвоения при импорте себестоимости из Excel — например, если файл загружали дважды? Нет: импорт матчит строки файла к товарам по артикулу или штрихкоду и обновляет запись на ту же дату, а не создаёт дубль версии истории — повторная загрузка того же файла с той же датой действия перезапишет значение, а не добавит вторую строку в историю.