Обложка статьи: WB с 1 июля не принимает немаркированную косметику и бытовую химию

WB с 1 июля не принимает немаркированную косметику и бытовую химию: что пересчитать продавцу

Обновлено:

Регина Минигалеева
Специалист по внутренней аналитике онлайн-бизнеса компании SoykaSoft

С 1 июля 2026 Wildberries прекратил приёмку немаркированной косметики, бытовой химии и товаров личной гигиены. Теперь на приёмке проверяют коды Data Matrix в системе “Честный знак”, и поставка без маркировки просто не встаёт на склад. Для продавца это выглядит как ещё одна процедура на складе, но по сути в себестоимость каждой единицы добавился новый постоянный расход, которого раньше не было. И считать его надо не средним по кабинету, а по каждому SKU.

Что меняется в расчёте

Сам код маркировки стоит 0,5 рубля без НДС, с НДС по ставке 22% это около 0,61 рубля за штуку. Цифра выглядит незаметной, но код это только вершина. Реальная стоимость маркировки на единицу складывается из нанесения и агрегации кодов, электронного документооборота при приёмке и отгрузке, оборудования (двумерный сканер, принтер этикеток), брака и перепечатки нечитаемых кодов, а также времени сотрудников. Если маркировку делает фулфилмент, он берёт за это отдельную плату за единицу. С 1 июля 2026 и до 30 июня 2028 действует объёмно-сортовой учёт, а с 1 июля 2028 добавится поэкземплярный, где каждый экземпляр отслеживается отдельно, что операционно ещё дороже.

Простой ориентир: для крема или бытовой химии за 200-400 рублей несколько рублей маркировки на единице это уже заметная доля наценки. Себестоимость это основа валовой маржи по каждому SKU, и любой новый расход в ней, даже маленький, на дешёвом товаре с тонкой наценкой съедает прибыль сильнее, чем кажется по одной цифре кода.

На каких SKU эффект значимый

Маркировка легла на всю парфюмерно-косметическую группу и бытовую химию, но по экономике удар неравномерный:

  • Дешёвая косметика и гигиена до 400-500 рублей: мыло, кремы, гели, средства для уборки. Наценка тонкая, а стоимость маркировки на единицу почти не зависит от цены товара, поэтому в процентах от цены она бьёт по дешёвому сильнее всего.
  • Товары с высоким оборотом и мелкой упаковкой: чем больше штук проходит через склад, тем сильнее операционная стоимость маркировки множится на объём.
  • Позиции, которые маркирует внешний фулфилмент: к коду добавляется плата за услугу нанесения за единицу, и суммарный расход на маркировку может в разы превысить стоимость самого кода.

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

Что важно проверить

Немаркированные остатки, которые уже лежат на складах Wildberries, разрешено допродать до конца срока годности, а для бритв и лезвий переходный период продлён до 30 ноября 2026. Но по новым поставкам решение принимать нужно уже сейчас, и цена ошибки высокая: штраф за оборот немаркированного товара для юрлиц составляет от 50 до 300 тысяч рублей, при повторном нарушении до 600 тысяч, плюс конфискация партии и блокировка продаж. Отдельная скрытая стоимость это непринятая поставка: товар не встал на склад, деньги в нём заморожены, а замороженный оборотный капитал под ключевую ставку 15% тоже стоит денег. Минимум, что стоит проверить сейчас:

  • Занести фактическую стоимость маркировки на единицу в себестоимость каждого SKU косметики, химии и гигиены: код плюс нанесение, ЭДО и услуги фулфилмента, а не только 0,5 рубля за код.
  • Пересчитать валовую маржу дешёвых позиций до 400-500 рублей с учётом нового расхода и найти те, что ушли в минус.
  • Проверить, что закупочная цена или условия поставщика учитывают, кто и за чей счёт наносит коды.
  • Свести немаркированные остатки на складах WB и спланировать их допродажу до конца срока годности, чтобы не заморозить их в неликвиде.
  • В динамике маржи по SKU отследить, на каких позициях прибыль просела именно после 1 июля, когда маркировка вошла в себестоимость.

В SoykaSoft фактическая маржа по каждому SKU считается из данных API по состоявшимся продажам, и если стоимость маркировки заложена в себестоимость единицы, в аналитике продаж по Wildberries видно, где новый расход съел прибыль. Это фактическая картина по уже прошедшим продажам, а не прогноз: дальше решение по цене и ассортименту принимает собственник.

Какие SKU косметики и химии ушли в минус после маркировки?

Если хотите понять, как обязательная маркировка повлияла на прибыль по товарам, проводим бесплатную диагностику: помогаем увидеть фактическую маржу по каждому SKU в динамике и на каких дешёвых позициях прибыль просела после того, как код вошёл в себестоимость.

Проверить маржу по SKU

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

Возможности soykasoft
Индивидуальное
обучение и ведение
Предоставим специалиста который будет вести управленческий учет за вас.
БЕСПЛАТНАЯ КОНСУЛЬТАЦИЯ

Наш финансовый аналитик проконсультирует вас по любым вопросам.


    [hidden utm_source default:get param:utm_source “utm_source”] [hidden utm_medium default:get param:utm_medium “utm_medium”] [hidden utm_campaign default:get param:utm_campaign “utm_campaign”] [hidden utm_content default:get param:utm_content “utm_content”] [hidden utm_term default:get param:utm_term “utm_term”]

    Читайте также
    Куда отправить Excel-шаблон?

    Оставьте email, и мы пришлем шаблон для расчета маржи по SKU на Ozon и Wildberries.

      Сколько SKU у вас в активной продаже?


      [hidden utm_source default:get param:utm_source “utm_source”] [hidden utm_medium default:get param:utm_medium “utm_medium”] [hidden utm_campaign default:get param:utm_campaign “utm_campaign”] [hidden utm_content default:get param:utm_content “utm_content”] [hidden utm_term default:get param:utm_term “utm_term”]