Торговое предложение — это конкретная продаваемая единица, а характеристики отличают одно предложение от другого внутри товара. Именно на уровне предложений RetailCRM ведёт остатки, цены и резервы, поэтому от их корректной настройки зависит весь складской учёт.
Что такое торговое предложение
Торговое предложение (offer) — это вариация товара, которую реально можно продать: «Футболка Basic, размер M, белая». У товара «Футболка Basic» может быть десяток таких предложений, различающихся размером и цветом. В заказ добавляется всегда конкретное предложение, а не товар в целом.
Каждое предложение имеет собственные:
- артикул (SKU) — уникальный идентификатор единицы;
- цену и закупочную цену;
- складской остаток и резерв;
- набор значений характеристик (размер, цвет и т. д.).
Даже если у товара нет вариаций, у него всё равно ровно одно торговое предложение, совпадающее с самим товаром.
Характеристики и параметры
Характеристики — это свойства, по которым различаются предложения одного товара. В выгрузке они передаются параметрами, у каждого есть имя, код и значение. Например, для одежды это «Размер» и «Цвет», для техники — «Объём памяти», для косметики — «Объём».
| Параметр | Код | Значение |
|---|---|---|
| Размер | size | M |
| Цвет | color | белый |
| Материал | material | хлопок |
Различают два типа свойств: различающие характеристики (по ним создаются разные предложения) и общие (одинаковые для всех вариаций товара, например бренд или страна). Правильно определить, что именно создаёт вариацию, важно ещё на этапе проектирования выгрузки.
Как предложения передаются через ICML
В выгрузке ICML каждое торговое предложение — это отдельный элемент <offer>. Предложения одного товара связываются общим атрибутом productId, а различаются набором параметров.
<offer id="1042" productId="57" quantity="8">
<price>1990</price>
<name>Футболка Basic, M, белая</name>
<productName>Футболка Basic</productName>
<param name="Размер" code="size">M</param>
<param name="Цвет" code="color">белый</param>
</offer>Ключевой момент: у предложений одного товара должен совпадать productId и различаться id. Если это перепутано, RetailCRM либо объединит разные товары, либо разнесёт вариации одного товара по разным карточкам.
Артикулы и стабильность SKU
Артикул (SKU) — главный ключ, по которому RetailCRM сопоставляет предложение из выгрузки с уже существующим в каталоге. Он должен быть уникальным и, что важнее, неизменным во времени.
Хорошая практика — строить артикул на неизменной части: базовый код товара плюс код вариации, например TSH-BASIC-M-WHT. Такой артикул человекочитаем и стабилен независимо от того, как перегенерирована выгрузка.
Влияние на остатки и цены
Поскольку остатки и цены хранятся на уровне предложения, любая ошибка в вариациях сразу отражается на учёте. Несколько практических следствий:
- Остаток «Футболка Basic» как товара не существует — есть остатки по каждому размеру и цвету отдельно.
- Цена может отличаться у вариаций одного товара (например, больший объём дороже).
- Резерв под заказ уменьшает доступное количество конкретного предложения, а не всего товара.
Поэтому чем точнее выделены вариации, тем достовернее склад: оператор видит, что размер M закончился, а размер L ещё есть, и не обещает клиенту недоступную позицию.
Практика настройки вариаций
Чтобы предложения и характеристики работали предсказуемо, придерживайтесь нескольких правил.
- Определите список различающих характеристик до выгрузки и не меняйте его на ходу.
- Используйте единые коды параметров (
size,color) — тогда фильтры и отчёты будут группировать значения корректно. - Не создавайте отдельные товары там, где нужны вариации: десять размеров одной модели — это один товар с десятью предложениями, а не десять товаров.
- Проверяйте выгрузку на тестовой партии: убедитесь, что вариации собрались под одним товаром.
Итог
Торговые предложения — это продаваемые единицы товара, а характеристики отличают их друг от друга. На уровне предложений RetailCRM ведёт артикулы, цены, остатки и резервы, поэтому корректная разбивка на вариации напрямую определяет точность склада и аналитики. Главные условия порядка — стабильные SKU и заранее продуманный набор различающих характеристик.
Мы настраиваем выгрузку так, чтобы вариации собирались под нужными товарами, артикулы оставались стабильными, а склад показывал реальную доступность по каждому размеру и цвету. Это часть работ по интеграции и внедрению RetailCRM.
Частые вопросы
Сколько торговых предложений может быть у товара?
Ограничение практическое, а не жёсткое: у товара может быть от одного до многих десятков предложений по размерам, цветам и другим вариациям. Если вариаций нет, предложение всё равно одно.
Чем различающие характеристики отличаются от общих?
Различающие характеристики создают отдельные предложения (например, размер), а общие одинаковы для всех вариаций товара (например, бренд). Различающие определяют структуру каталога.
Как связать вариации одного товара в ICML?
Все предложения одного товара должны иметь одинаковый атрибут productId и разные id. По совпадающему productId RetailCRM собирает их под одной карточкой товара.
Почему нельзя менять артикул предложения?
Артикул — ключ сопоставления с каталогом. При его изменении система не находит старую запись и создаёт дубль без истории продаж и остатков.
Можно ли задавать разные цены для вариаций?
Да, цена хранится на уровне предложения, поэтому размеры или объёмы одного товара могут стоить по-разному.
Что делать, если на сайте вариации — это разные карточки?
Структуру согласовывают на стороне выгрузки: настраивают формирование ICML так, чтобы связанные вариации получали общий productId и собирались в одно товарное предложение.
Ведётся ли остаток на уровне товара?
Нет, остаток и резерв хранятся у конкретного предложения. Общей цифры остатка «по товару» не существует — есть суммы по каждой вариации.
Поможем с настройкой и поддержкой RetailCRM
Поможем с настройкой, доработкой и поддержкой RetailCRM.