Артикул, SKU и Ozon Product ID: какой номер куда подставлять в отчётах и API

Чем артикул (offer_id) отличается от SKU, Ozon Product ID и штрихкода, какой номер нужен для поставки, какой — для отчёта о реализации, рекламной выгрузки и методов Seller API, и как собрать таблицу соответствий, чтобы отчёты наконец сошлись между собой.

У одного товара на Ozon живут минимум четыре разных номера, и почти каждый отчёт показывает не тот, который нужен прямо сейчас. В отчёте о реализации — SKU, в шаблоне поставки — артикул, в рекламной выгрузке опять SKU, а в ответе API приезжает product_id, который в кабинете вы, скорее всего, ни разу не встречали. Пока позиций десяток, всё склеивается глазами. На сотне ручная склейка начинает тихо врать: две цифры сошлись, третья поехала, и месячный P&L не бьётся с выгрузкой по рекламе. Разбираем, что означает каждый номер, где он встречается и какой подставлять в конкретное поле.

Четыре номера у одного товара

Артикул, он же offer_id. Ваш внутренний код. Придумываете сами при создании карточки, уникален в пределах вашего магазина. Это единственный из четырёх, который вы контролируете полностью, — и единственный, который совпадает с вашей учётной системой, если вы её ведёте.

Ozon Product ID, он же product_id. Номер карточки внутри вашего кабинета. Присваивает площадка в момент создания товара. Живёт в API и в выгрузках товаров, в интерфейсе попадается реже — поэтому его чаще всего и не узнают при первой встрече.

SKU. Номер товара на витрине — то, чем Ozon называет позицию наружу: в ссылке на карточку, в отчётах, в рекламных кабинетах, в аналитике. Один и тот же SKU видят все, кто продаёт этот товар через одну карточку. Раньше у товара было два таких номера — FBO SKU и FBS SKU, по схемам; площадка их объединила, но в старых выгрузках и чужих инструкциях пара колонок до сих пор встречается.

Штрихкод, он же barcode. То, что читает сканер на складе: либо EAN-13 с упаковки производителя, либо код, который Ozon сгенерирует по запросу. Он отвечает не за учёт и не за отчёты, а за физическую единицу — её надо опознать на приёмке и при сборке заказа. К одной карточке можно привязать несколько штрихкодов, а у двух продавцов одного и того же товара код запросто совпадёт, и это нормально.

Номер Кто присваивает Уникален где Можно ли поменять Главное применение
Артикул (offer_id) Вы В вашем магазине Да, отдельным действием Поставки, цены, остатки, ваш учёт
Ozon Product ID Ozon В вашем кабинете Нет Методы API по карточкам
SKU Ozon На всей площадке Нет Отчёты, реклама, аналитика, ссылка
Штрихкод Производитель или Ozon Глобально или в Ozon Добавить можно, заменить — с оговорками Приёмка, сборка, этикетка
FBO SKU / FBS SKU Ozon На площадке Нет Встречаются в файлах прошлых лет

Распределение из таблицы стоит держать в голове: артикул — про вас и ваши процессы, SKU — про площадку и деньги, product_id — про технику, штрихкод — про физическую единицу товара на складе. Половина вопросов «какой номер сюда вставлять» отпадает сама.

Опрос

Какой номер товара на Ozon вы путаете чаще всего?

Распределение для этой статьи · выберите свой ответ

Где какой номер видно глазами

Основная пара, с которой работают руками, — артикул и SKU: оба стоят рядом с названием в разделе «Товары и цены» → «Список товаров». Ozon Product ID приходится доставать выгрузкой товаров или запросом к API — в интерфейсе он попадается точечно, а состав и порядок колонок площадка время от времени двигает, так что актуальный вид проверьте в базе знаний Ozon Seller.

Самый быстрый способ узнать SKU, не заходя в кабинет вообще, — ссылка на карточку. В адресе вида ozon.ru/product/nazvanie-tovara-123456789/ последнее длинное число и есть SKU. Работает и для чужих карточек: когда вы разбираетесь с конкурентом или с прилипшим к вашей карточке товаром, номер берётся прямо из адресной строки.

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

Поставки и склад: тут правят артикул и штрихкод

В заявке на поставку FBO товар опознаётся вашим артикулом с количеством. Не SKU, не product_id — именно тем кодом, который вы придумали сами. Отсюда самая массовая ошибка новичков: в кабинете артикул KRS-450-BL, в файле из бухгалтерии KRS450BL, и при загрузке площадка честно отвечает, что товар не найден. Сравнение идёт посимвольно: пропавший дефис ломает строку так же надёжно, как чужой номер. Саму форму заявки Ozon за последние пару лет перекраивал не раз — перед первой поставкой скачайте свежий шаблон в кабинете, а не тот, что лежит с прошлого квартала.

Дальше в дело вступает штрихкод. Приёмка на складе идёт сканером: считали код — поняли, что за единица приехала. Наклеили на товар этикетку с чужим штрихкодом или забыли про неё вовсе — поставка встанет на приёмке, а вы получите расхождение по количеству и разбирательство на неделю. Правило простое: артикул отвечает за то, что площадка поняла вашу заявку, штрихкод — за то, что склад опознал физическую единицу товара.

Отдельная засада — смена артикула. Ozon позволяет переименовать offer_id уже созданной карточки, и это полезно при переезде на нормальную систему кодов. Но в момент смены у вас рвутся все внешние связки: интеграция с учётной системой, сохранённые шаблоны цен и остатков, собственные скрипты. Меняете артикул — сразу обновляйте маппинг везде, где он зашит, и лучше не в день отгрузки.

Отчёты и деньги: почему две выгрузки не сходятся

Финансовые документы Ozon оперируют SKU: в отчёте о реализации, в начислениях и в списке транзакций товар опознаётся номером площадки и названием. Ваша себестоимость, закупочные партии и план поставок лежат под артикулом. Моста между этими двумя мирами площадка не строит — это ваша работа.

Без моста соблазн понятный: склеить два файла по названию товара. Ломается это на первой же позиции, заведённой двумя карточками. Типичный случай — новую партию с другой закупочной ценой завели отдельной карточкой, а название скопировали из старой: в выгрузке две строки «Кресло офисное, чёрное», SKU разные, себестоимость отличается на пару сотен рублей. Склейка по названию складывает их в одну строку молча, без единой ошибки в логе, и маржа по обеим позициям превращается в среднюю температуру.

Где считаем Какой номер в источнике Что обычно нужно подставить Риск при ручной склейке
Отчёт о реализации SKU Артикул для себестоимости Разные партии сливаются в одну строку
Начисления за услуги SKU и название услуги Артикул и категория Услуги без привязки к товару теряются
Список транзакций SKU в составе отправления Артикул Расходы на заказ из двух товаров падают на один
Выгрузка остатков Артикул и SKU Ничего, оба уже есть Строки по разным складам принимают за разные товары
Рекламная статистика SKU Артикул для ДРР по товару Расход падает не на тот товар
Ваша учётная система Артикул SKU для сверки с площадкой Новые карточки выпадают из отчёта

Проверьте себя

Вы свели отчёт о реализации с себестоимостью по названию товара. У двух позиций названия совпадают посимвольно, SKU разные, закупочная цена отличается на 340 рублей. Что получится в отчёте?

Реклама и аналитика: только SKU

В рекламных кампаниях — как бы они ни назывались в очередной редакции кабинета — товары выбираются и отчитываются по SKU. Аналитика в кабинете устроена так же: показы, конверсия, заказы висят на SKU. Артикула там нет, площадке он не нужен.

Отсюда неприятная механика для ДРР по товару. Расход на рекламу приходит в разрезе SKU, прибыль считается в разрезе артикула — под ним лежит себестоимость. Пока номера не связаны, честный ДРР по отдельной позиции посчитать нечем: остаётся ДРР по магазину целиком, а по нему не решишь, какую кампанию выключать и какую цену поднять. Эту связку достаточно собрать один раз — Starbox AI тянет товары сразу с обоими номерами, поэтому прибыль и рекламный расход сходятся на одной строке без ручной сверки файлов.

API: какой ключ в каком методе

Seller API — единственное место, где встречаются все четыре номера сразу, и обычно именно там впервые узнают о существовании product_id. Общая логика такая: методы про карточки принимают offer_id и product_id, методы про продажи и аналитику отдают sku, а штрихкод фигурирует в методах логистики и в генерации кодов.

Задача Какой идентификатор в запросе Что приходит в ответе Частая ошибка
Список товаров магазина Фильтры, без номеров offer_id и product_id Ждать здесь SKU и не найти его
Информация о товаре offer_id, product_id или sku Все номера сразу Смешать списки разных типов в одном запросе
Обновление цен offer_id или product_id Статус по каждой позиции Передать sku и получить ошибку
Обновление остатков offer_id или product_id и склад Статус по каждому складу Забыть, что остаток привязан к складу
Список отправлений FBS Фильтр по датам и статусу В составе товаров sku и offer_id Брать номер заказа за номер товара
Финансовые транзакции Период и тип операции sku в позициях Считать, что там будет артикул
Генерация штрихкодов product_id Готовые коды Запрашивать повторно и плодить дубли

Точные названия и версии методов Ozon периодически обновляет, поэтому сверяйтесь с актуальной документацией Seller API перед тем, как жёстко зашивать эндпоинт в код. Логика распределения номеров по группам методов при этом держится стабильно уже несколько лет.

Ещё одна деталь, на которой спотыкаются при первой интеграции: в ответе метода информации о товаре чисел приезжает сразу несколько, и записать в свою базу не то — обычное дело. Различать их на глаз бесполезно: длина у product_id и sku похожая, обе колонки числовые. Опирайтесь на имя поля, а после первой загрузки проверьте результат вручную на одном товаре — подставьте записанный номер в адрес ozon.ru/product/<номер>/. Открылась ваша карточка — в базе SKU. Страница не нашлась — вы сохранили product_id и всю сверку построите на нём.

Разбор: как мы потеряли два дня на сверке из-за одного номера

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

Сошлось плохо: 214 позиций из отчёта не нашли пары в справочнике, это около 1,9 млн рублей выручки в подвешенном состоянии. Первая версия была «Ozon сломал отчёт», и полдня ушло впустую. Разложилось всё на три причины, и ни одна не на стороне площадки. Первая и самая массовая — 138 карточек, которые мы завели за последние месяцы и в справочник просто не внесли: ассортимент рос с четырёхсот позиций до 1 200, справочник дополняли руками и урывками, между делом. Вторая — 59 товаров, которым мы сами переименовали артикулы при переходе на новую систему кодов, оставив в справочнике старые offer_id. Третья, самая обидная — 17 строк, собранных копированием из адресной строки браузера, где вместо SKU оказался product_id. Числа похожие, обе колонки числовые, глаз не зацепился.

Чинили так: выгрузили через API все товары разом, чтобы offer_id, product_id и sku стояли в одной строке, переписали справочник с нуля и добавили проверку — если в отчёте встретился SKU, которого в справочнике нет, скрипт останавливается и пишет, сколько строк выпало и какие. Теперь сбой всплывает в день появления, а не двадцать восьмого числа. Два дня разбора и целый месяц решений по 214 позициям, маржа которых считалась мимо, — нормальная плата за вывод, что справочник номеров нельзя вести руками.

Чек-лист

Порядок в идентификаторах товара

Таблица соответствий: как собрать её один раз

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

Собрать её можно двумя путями: выгрузкой товаров из кабинета или парой запросов к API — сначала список товаров, потом информация по ним пачками. Второй надёжнее: в выгрузке из интерфейса нужные колонки есть не всегда, а в ответе API все номера лежат рядом. Обновлять таблицу стоит при каждом заведении товаров и обязательно после смены артикулов.

Правило, за которое мы заплатили теми двумя днями: ключом в вашей системе всегда остаётся артикул. Это единственный из четырёх номеров, который принадлежит вам, переживёт переезд на другую площадку и не изменится по решению чужого продакта.

FAQ

Чем отличается SKU от артикула на Ozon?

Артикул (offer_id) вы придумываете сами, он уникален в пределах вашего магазина и используется в поставках, шаблонах цен и остатков. SKU присваивает Ozon, он одинаков для всех продавцов одной карточки и встречается в отчётах, рекламе, аналитике и ссылке на товар.

Где посмотреть SKU товара на Ozon?

Быстрее всего — в адресе карточки: последнее длинное число в ссылке и есть SKU. Он же показывается в списке товаров кабинета рядом с артикулом и приходит в финансовых отчётах и рекламных выгрузках.

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

Да, offer_id меняется отдельным действием в кабинете или через API. Но в момент смены рвутся все внешние связки — интеграция с учётной системой, сохранённые шаблоны, справочники соответствий. Планируйте смену заранее и обновляйте маппинг сразу.

Что такое Ozon Product ID и чем он отличается от SKU?

Product ID — номер карточки внутри вашего кабинета, его присваивает площадка и использует в методах API по товарам. SKU — номер товара на витрине, общий для всех продавцов этой карточки. Это разные числа, и подставлять одно вместо другого нельзя.

Почему в отчётах Ozon для одного товара разные номера?

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

Статья была полезна?

Вы развиваете магазин. ИИ разбирается с рутиной.

Поручите Starbox AI поиск потерь в прибыли, проверку рекламы и планирование запасов. Задавайте вопросы в чате и получайте рекомендации по своему магазину. Попробуйте ИИ-менеджера для Ozon 14 дней бесплатно, без карты.

Попробовать ИИ-менеджера бесплатно