Настройка обмена 1С с сайтом и Ozon/WB: рабочая схема без дублей и «пляшущих» остатков

Чтобы настроить интеграцию 1С с сайтом и маркетплейсами через обмен, сначала определите «источник истины» по остаткам и ценам, затем приведите в порядок номенклатуру (SKU/штрихкоды/варианты), после чего подключайте: сайт — через CommerceML, Ozon/WB — через API (обычно модулем) и ставьте регламенты.

Оглавление

Что подготовить в 1С до подключения

  1. Номенклатура и варианты
    Выберите один подход и не смешивайте:
  • товар = карточка номенклатуры, варианты = характеристики (размер/цвет);
  • либо каждый вариант = отдельная номенклатурная позиция.
  1. Ключ сопоставления (обязателен)
    Зафиксируйте, по чему будете «склеивать» одинаковые товары во всех каналах: SKU/артикул/штрихкод. Для маркетплейсов это критично.

  2. Склады под сценарии
    Минимум: отдельный склад/группа складов для своего хранения (FBS) и отдельный — для хранения на стороне маркетплейса (FBO), если используете оба.

  3. Цены по каналам
    Создайте отдельные виды цен: «Сайт», «Ozon», «WB» (и при необходимости «Акция MP»), чтобы один канал не перетирал другой.

  4. Карта статусов заказов
    Заранее решите, во что превращаются статусы: «новый → в работе → собран → отгружен/передан → закрыт», и какие документы 1С создаются на каждом шаге (заказ/реализация/отчет комиссионера — зависит от вашей конфигурации и схемы продаж).

Если один и тот же товар заведён отдельно в 1С, на сайте и на маркетплейсе (как разные сущности), обмен почти неизбежно создаст дубли и неверные остатки. Сначала ключ сопоставления — потом массовая выгрузка.

Обмен 1С ↔ сайт (CommerceML): пошагово

Шаг 1. Включите обмен на стороне сайта
Обычно нужно: включить модуль «Обмен с 1С», создать пользователя обмена, разрешить приём каталога и передачу заказов.

Шаг 2. Создайте настройку обмена в 1С
Укажите адрес обмена, логин/пароль, выберите режим (выгружать каталог/загружать заказы/двусторонний), состав данных (номенклатура, цены, остатки, изображения).

Шаг 3. Проверьте “тонкие места” сопоставления

  • характеристики и варианты (как сайт их ожидает);
  • единицы измерения;
  • НДС/без НДС и округления сумм;
  • доставка и оплата (как попадут в заказ 1С: услуга отдельной строкой, комментарий, отдельный реквизит).

Шаг 4. Сделайте тест на малом объёме
Выгрузите 10–50 позиций, оформите тестовый заказ, проверьте: покупателя, адрес, сумму, резерв, корректность статусов.

Обмен 1С ↔ Ozon/WB через API: логика настройки

Чаще всего это делается через модуль/коннектор в 1С (так быстрее и меньше ручной поддержки).

  1. Доступы API
    Сгенерируйте ключи в кабинете продавца и внесите их в модуль.

  2. Выберите модель

  • FBS: вы храните и отгружаете со своего склада (самое чувствительное к остаткам).
  • FBO: хранит/отгружает площадка (в 1С важно корректно отражать списания и отчёты).
  1. Сопоставьте склады
    Явно укажите, какой склад 1С отдаёт остатки в канал и какие склады не участвуют в расчёте доступного количества.

  2. Сопоставьте товары
    Привязка по SKU/артикулу/штрихкоду — выберите один приоритет. Убедитесь, что варианты (размер/цвет) однозначно соответствуют позициям на площадке.

  3. Включите нужные контуры обмена
    Минимально полезные: заказы, остатки, статусы. Цены и карточки — после стабилизации.

Не включайте двустороннюю синхронизацию цен без правила приоритета. Иначе получите «пинг‑понг»: 1С перезаписывает цену на площадке, а площадка — обратно в 1С.

Регламенты обмена: рекомендуемые интервалы

  • Заказы: каждые 1–5 минут (чтобы быстро резервировать и не ловить отмены из‑за задержек).
  • Остатки: каждые 5–15 минут (для активных продаж — ближе к 5).
  • Цены: 15–60 минут или по расписанию изменений.
  • Карточки/описания/картинки: 1–4 раза в день (тяжёлые выгрузки — реже).

Если есть офлайн‑продажи, делайте частый обмен остатками и резервирование в 1С сразу при загрузке заказа — это самый простой способ снизить oversell.

Частые ошибки

  • Дубли номенклатуры: сначала ручное создание на площадке, потом массовая выгрузка из 1С. Решение: единый ключ сопоставления и тест на малой группе.
  • Остатки “прыгают”: один физический остаток доступен сразу в нескольких каналах без правил. Решение: отдельные склады/резервы/лимиты доступного остатка для онлайн-каналов.
  • Неверные суммы заказа: НДС, доставка, округления. Решение: согласовать правила расчёта и как доставка/скидки попадают в документы 1С.
  • Ошибки авторизации API (401/403): неправильный ключ, отозванный доступ, неверный кабинет. Решение: пересоздать ключи, проверить права, обновить в модуле.
  • Лимиты API и ошибки 429: слишком частые регламенты и параллельные потоки. Решение: увеличить интервал, включить очередь запросов, пакетную обработку.

FAQ

Можно ли сделать “один обмен” и для сайта, и для Ozon/WB?
Правильнее думать как о двух контурах: сайт обычно через CommerceML, маркетплейсы — через API. В 1С они должны опираться на одну номенклатуру, но регламенты и правила могут быть разными.

Что сначала запускать: цены или остатки?
Почти всегда сначала: заказы → остатки → цены, и только потом — карточки/описания. Так меньше шансов продать лишнее и проще отладка.

Нужно ли заводить отдельные виды цен под каждый канал?
Да, если вы не хотите случайно перезаписывать цены между сайтом и маркетплейсами и планируете разные наценки/акции.