Каталог товаров — фундамент заказов, аналитики по товарам и контроля остатков. RetailCRM умеет принимать каталог как выгрузку по расписанию (ICML) и как разовый импорт. Разберём оба пути, торговые предложения и синхронизацию цен и остатков.
ICML — основной формат каталога
Штатный способ загрузки каталога в RetailCRM — фид ICML (XML-формат RetailCRM на базе стандарта YML). Вы размещаете файл по ссылке, а система забирает его по расписанию и обновляет номенклатуру автоматически.
Каталог подключается в разделе Администрирование → Каталоги товаров: указывается URL фида и частота обновления. В ICML описываются категории (<categories>) и товарные предложения (<offers>).
Готовый ICML умеют отдавать большинство CMS интернет-магазинов и модули выгрузки 1С. Если своего фида нет, его генерируют скриптом на стороне сайта либо формируют вручную по документации формата. Важно, чтобы ссылка была доступна RetailCRM без авторизации (или с ключом в URL) и отдавала актуальный файл в момент планового обращения.
Товары и торговые предложения
RetailCRM различает товар и торговое предложение (offer). Товар — это карточка «Футболка», а предложения — её вариации «Футболка / M / синяя», «Футболка / L / чёрная». У каждого предложения свой артикул, цена и остаток.
- Артикул предложения (
article) — ключ связи с заказами и складом. - Свойства (размер, цвет) описывают вариации внутри товара.
- externalId предложения — якорь для обновлений без дублей.
Если продаёте товары без вариаций, у товара всё равно будет одно торговое предложение — это нормально и не требует отдельной настройки.
Продумайте уникальность артикулов заранее: именно по ним заказы, остатки и маркетплейсы «узнают» товар. Одинаковый артикул у разных предложений склеит позиции и исказит остатки, а его отсутствие оставит товар без связи с заказами. Один артикул — одно торговое предложение, это железное правило каталога.
Категории, цены и характеристики
Структуру каталога проектируйте заранее: категории в RetailCRM используются в фильтрах, отчётах и правах доступа. Плоская свалка товаров затруднит аналитику по группам.
| Элемент | Поле | Зачем |
|---|---|---|
| Категория | categoryId / parentId | Дерево каталога, отчёты по группам |
| Цена | price | Расчёт сумм заказа |
| Тип цен | priceType | Розница, опт, спеццена |
| Закупочная цена | purchasePrice | Маржинальность в BI |
| Остаток | quantity | Контроль наличия |
Закупочную цену стоит перенести сразу — без неё аналитика посчитает выручку, но не прибыль и маржу.
Остатки и склады
Остатки — самая «живая» часть каталога. Их редко импортируют вручную: обычно настраивают синхронизацию с сайтом, 1С или маркетплейсами, чтобы количество обновлялось автоматически.
- Заводим склады в разделе
Администрирование → Склады. - Привязываем остатки предложений к складам.
- Настраиваем регулярную выгрузку остатков из учётной системы.
Импорт через API
Каталог можно грузить и программно. Метод POST /api/v5/store/products/batch/edit (в связке с методами работы с товарными группами) создаёт и обновляет товары и предложения, а остатки правятся отдельным методом складского учёта.
POST /api/v5/store/products/batch/edit
X-API-KEY: ваш_ключ
products=[{"name":"Футболка","offers":[{"article":"ART-15","price":1990}]}]Для большинства магазинов API избыточен: если каталог уже есть на сайте, проще отдать RetailCRM ссылку на ICML и не поддерживать собственную интеграцию.
Проверка каталога после загрузки
После первой выгрузки убедитесь, что номенклатура выглядит целостно, прежде чем строить на ней заказы и отчёты.
- Совпадает ли число товаров и предложений с исходным каталогом.
- Собрались ли вариации внутри товаров, а не рассыпались отдельными карточками.
- Проставились ли категории и цены.
- Обновляются ли остатки после изменения на складе.
Проверьте пару товаров «от заказа»: оформите тестовый заказ и убедитесь, что позиция подтягивается из каталога с правильными артикулом и ценой.
Итог
Каталог в RetailCRM держится на связке товар → торговое предложение → артикул. Для живого ассортимента используйте ICML по расписанию, для остатков — синхронизацию с учётной системой, а закупочные цены переносите сразу ради корректной маржи.
Настройку каталога, ICML-выгрузки и синхронизации остатков с сайтом, 1С и маркетплейсами мы берём на себя в рамках внедрения и интеграций RetailCRM.
Частые вопросы
В каком формате загружать каталог в RetailCRM?
Основной формат — фид ICML (XML на базе YML), который система забирает по ссылке по расписанию. Для разового старта подойдёт и CSV-импорт.
Чем товар отличается от торгового предложения?
Товар — это общая карточка (например, «Футболка»), а торговые предложения — её вариации по размеру и цвету, у каждой свой артикул, цена и остаток.
Как часто обновляется каталог из ICML?
Частота задаётся при подключении каталога в разделе «Каталоги товаров». RetailCRM забирает фид по расписанию и обновляет номенклатуру автоматически.
Нужно ли переносить закупочные цены?
Да, если планируете анализ прибыли и маржинальности. Без закупочной цены BI посчитает выручку, но не маржу.
Как загрузить остатки?
Остатки лучше не импортировать разово, а синхронизировать с сайтом, 1С или маркетплейсами, чтобы наличие обновлялось автоматически по складам.
Что будет с заказами, если каталог ещё не загружен?
Позиции в заказах создадутся как свободные и не привяжутся к номенклатуре. Поэтому каталог грузят до массового импорта заказов.
Обязательно ли использовать API для каталога?
Нет. Для большинства магазинов достаточно ICML-фида по ссылке. API нужен, когда требуется нестандартная логика или каталога нет на сайте.
Поможем с настройкой и поддержкой RetailCRM
Поможем с настройкой, доработкой и поддержкой RetailCRM.