Как синхронизировать интернет-магазин с Wildberries, Ozon и 1С

Когда продавец работает одновременно на собственном сайте, Wildberries и Ozon, ручное управление быстро перестаёт справляться. Цена меняется в одной системе, остаток — в другой, заказ с сайта не попадает в учёт, а товар может быть продан сразу в нескольких каналах.
Решение — не связывать каждую площадку с каждой, а выбрать центральную систему, которая хранит номенклатуру, остатки, цены и заказы. Обычно эту роль выполняет 1С, ERP, WMS, OMS или специализированный сервис учёта. Интернет-магазин и маркетплейсы становятся каналами продаж, которые обмениваются данными с центром.
Базовая архитектура
1С или другая учётная система — источник истины. Сайт, Wildberries и Ozon получают из неё товары, цены и доступные остатки. Новые заказы возвращаются в центр, резервируют товар и проходят единый процесс сборки, отгрузки и возврата.
Главная задача синхронизации — не обновлять всё как можно чаще, а обеспечить однозначные правила: откуда берутся данные, кто может их менять и что происходит при конфликте.
Какие данные нужно синхронизировать
| Объект | Направление обмена | Что важно учесть |
|---|---|---|
| Товары и варианты | Из центральной системы в каналы | Артикулы, штрихкоды, атрибуты, варианты, категории |
| Цены | Из центра или системы ценообразования | Разные цены по каналам, скидки, минимальная цена |
| Остатки | Из складской системы в каналы | Резерв, доступный остаток, несколько складов |
| Заказы | Из каналов в центр | Состав, покупатель, оплата, доставка, комиссия |
| Статусы | В обе стороны | Подтверждение, сборка, отгрузка, отмена, возврат |
| Возвраты | Из каналов и центра | Возвращаемый товар, состояние, восстановление остатка |
| Контент | Обычно из PIM или вручную | Описание для каждого канала может отличаться |
| Аналитика | В хранилище или BI | Выручка, маржа, реклама, логистика по каналам |
Каталог
В каталоге должны совпадать идентификаторы. У одного товара могут быть внутренний код 1С, SKU сайта, nmID Wildberries и offer_id Ozon. Интеграция хранит таблицу соответствий, чтобы обновление цены или остатка попадало в правильную карточку.
Остатки
В канал передаётся не физический остаток, а доступное к продаже количество. Из него вычитают резерв, брак, товары в обработке и страховой буфер. Если один склад обслуживает несколько каналов, резерв должен создаваться сразу при получении заказа.
Заказы
Заказ сайта обычно содержит больше клиентских данных и собственную схему доставки. Заказы маркетплейса имеют свои статусы, комиссии и правила отгрузки. В центральной системе их приводят к единой модели, но сохраняют источник и особенности канала.
Почему схема «все со всем» не работает
Попытка напрямую соединить WooCommerce с Wildberries, затем отдельно с Ozon, а потом каждую площадку с 1С создаёт несколько конфликтующих обменов. Непонятно, какая система главная, одно и то же изменение может ходить по кругу, а диагностика ошибки занимает часы.
Нестабильная схема
- сайт отправляет остатки в маркетплейс;
- маркетплейс обновляет сервис;
- сервис возвращает данные в 1С;
- 1С повторно выгружает их на сайт;
- изменения конфликтуют.
Управляемая схема
- центральная система хранит фактический остаток;
- каждый канал получает доступное количество;
- заказы всех каналов создают резерв;
- статусы возвращаются по установленным правилам;
- ошибки фиксируются в журнале обмена.
Возможные центральные системы
| Система | Когда подходит | Ограничение |
|---|---|---|
| 1С | Компания уже ведёт закупки, склад и документы в 1С | Требуется доработка конфигурации и регламент обмена |
| ERP/WMS | Несколько складов, сложная логистика, высокая нагрузка | Высокая стоимость внедрения |
| «МойСклад» или облачный учёт | Малый и средний продавец, быстрый запуск | Не все нестандартные процессы доступны |
| WooCommerce | Небольшой магазин и сайт — основной канал | Сложнее масштабировать на много складов и площадок |
| Интеграционная платформа | Нужно быстро связать готовые системы | Зависимость от возможностей и тарифа сервиса |
Как работает обмен с 1С
Официальный протокол обмена с сайтом на базе CommerceML предусматривает выгрузку номенклатуры, торговых предложений, цен и остатков, а также загрузку заказов с сайта в 1С и синхронизацию их параметров. Для типового магазина этого может быть достаточно.
Но маркетплейсная торговля часто требует дополнительных сущностей: отдельные склады FBS, поставки, комиссии, маркировка, статусы сборочных заданий и возвраты. Поэтому поверх стандартного обмена создают отдельные модули или REST-интеграцию.
- 1С формирует изменения каталога, цен и доступных остатков.
- Интеграционный слой преобразует данные в формат каждого канала.
- Сайт и маркетплейсы принимают обновления.
- Новые заказы поступают в интеграционный слой.
- В 1С создаётся заказ и резервируется товар.
- Изменения статуса отправляются обратно в соответствующий канал.
- Ошибки записываются в журнал и повторяются по регламенту.
Как избежать двойной продажи
Главный риск омниканальности — продать последнюю единицу одновременно на сайте и маркетплейсе. Даже обновление раз в минуту не гарантирует защиту: два заказа могут возникнуть между циклами обмена.
Рабочая формула доступного остатка
Доступный остаток = физический остаток − активные резервы − страховой буфер − недоступные товары. Буфер особенно важен при медленном обмене, большом количестве каналов и товарах с единичным остатком.
- создавать резерв сразу после получения заказа;
- не передавать в каналы весь физический остаток без буфера;
- разделять остатки по складам и схемам FBS/DBS;
- обрабатывать отмены и возвраты только после подтверждения;
- контролировать зависшие заказы и просроченные резервы;
- иметь сценарий на случай недоступности API.
Частота синхронизации снижает риск, но не заменяет резервирование и правила разрешения конфликтов.
Цены в разных каналах
Единая розничная цена не всегда означает одинаковую конечную цену. На маркетплейсе действуют комиссии, акции, скидки площадки и логистика. На сайте — эквайринг, собственная доставка, промокоды и программа лояльности.
| Подход | Преимущество | Риск |
|---|---|---|
| Одинаковая базовая цена | Простое позиционирование бренда | Разная маржа по каналам |
| Цена рассчитывается по каналу | Можно учитывать комиссии | Нужно контролировать ценовой образ бренда |
| Сайт дешевле | Мотивация покупать напрямую | Возможны ограничения площадок и конфликт с партнёрами |
| Одинаковая цена, бонусы на сайте | Не разрушает публичную цену | Нужна программа лояльности |
Лучше хранить базовую цену и правила расчёта отдельно: наценка канала, минимальная маржа, допустимая скидка и ручные исключения. Каждое автоматическое изменение должно иметь журнал: какая система, когда и почему изменила цену.
Пошаговый план интеграции
- Аудит. Зафиксировать системы, склады, модели FBO/FBS, объём SKU, частоту заказов и ручные операции.
- Выбор центра. Определить систему, которая хранит номенклатуру, остатки и заказы.
- Карта идентификаторов. Сопоставить SKU, штрихкоды и ID карточек во всех каналах.
- Регламент данных. Указать направление и частоту обмена для каждого объекта.
- Тестовый контур. Запустить 10–20 товаров и все основные сценарии заказа.
- Обработка ошибок. Настроить журнал, повторные попытки и уведомления ответственным.
- Пакетный запуск. Подключать категории или склады поэтапно.
- Мониторинг. Контролировать расхождения остатков, непринятые заказы и задержки API.
Что проверять перед запуском
| Сценарий | Ожидаемый результат |
|---|---|
| Заказ последней единицы на сайте | Остаток уменьшается во всех каналах или срабатывает буфер |
| Отмена неоплаченного заказа | Резерв снимается после установленного срока |
| Возврат товара | Остаток восстанавливается только после приёмки |
| Изменение цены в 1С | Новая цена приходит в нужные карточки и варианты |
| Недоступность API | Изменение ставится в очередь и повторяется |
| Новый вариант товара | Создаётся правильная связь SKU и характеристик |
| Несколько складов | Канал получает остаток только разрешённых складов |
| Ручное изменение на сайте | Система либо запрещает его, либо не перезаписывает без журнала |
В JustBusiness можно заказать интеграцию сайта с 1С, CRM и ERP или полный цикл разработки интернет-магазина. Пример каталога с кастомным обменом с 1С и сложным расчётом представлен в кейсе производственной компании. После запуска обмены рекомендуется передать на техническую поддержку.
Когда нужна кастомная интеграция
- несколько юридических лиц или типов цен;
- остатки распределены по многим складам;
- товар продаётся комплектами или наборами;
- цена зависит от характеристик или длины;
- есть маркировка и серийный учёт;
- заказы требуют согласования менеджером;
- часть ассортимента производится под заказ;
- нужно объединить розницу, опт и маркетплейсы;
- типовой CommerceML не передаёт нужные поля.
Кастомная интеграция не означает отказ от стандартов. Обычно стандартный обмен используют для базовых данных, а дополнительные процессы реализуют через REST API, очереди, вебхуки и отдельные таблицы соответствий.
Журнал обмена и наблюдаемость
Интеграция должна не только передавать данные, но и объяснять, что произошло. В журнале полезно хранить время операции, источник, объект, результат, текст ошибки и количество повторных попыток. Для критичных ситуаций нужны уведомления: заказ не принят, остаток не обновлён, цена отклонена, карточка не найдена.
Очереди и повторные попытки
Внешний API может временно отвечать медленно или быть недоступным. Если интеграция считает такую операцию успешной, данные расходятся. Правильный сценарий — поставить изменение в очередь, повторить его по регламенту и поднять уведомление, если ошибка не исчезла.
Разделение прав
Нужно заранее определить, кто имеет право менять цену, остаток и карточку. Если контент-менеджер редактирует описание на сайте, 1С не должна стирать его при следующей выгрузке. Если цена управляется в учётной системе, ручное изменение в WooCommerce лучше запретить или явно помечать как временное исключение.
Частые ошибки при синхронизации
- Нет единого владельца данных. Цена меняется сразу в трёх местах, и последнее обновление случайно перезаписывает остальные.
- SKU не уникальны. Интеграция обновляет не тот вариант товара или не может сопоставить карточку.
- Передаётся физический остаток. Система не учитывает резерв и продаёт последнюю единицу одновременно в нескольких каналах.
- Нет теста возвратов. Возвращённый товар автоматически попадает в продажу до фактической приёмки.
- Ошибки видны только разработчику. Бизнес узнаёт о проблеме после жалобы покупателя.
- Нет плана обновления API. Критичное изменение метода маркетплейса ломает обмен без предупреждения.
Частые вопросы
Можно ли синхронизировать сайт напрямую с Wildberries и Ozon без 1С?
Да, если ассортимент и процессы относительно простые. Центральной системой может быть WooCommerce, облачный складской сервис или интеграционная платформа. Но нужно заранее определить, где хранятся фактические остатки и как резервируются заказы.
Как часто нужно обновлять остатки?
Частота зависит от скорости продаж, лимитов API и объёма каталога. Для ходовых товаров обновление требуется чаще, но даже частый обмен нужно дополнять резервом и страховым буфером. Для медленных позиций допустим более редкий цикл.
Можно ли использовать один остаток для сайта и всех маркетплейсов?
Да, если центральная система рассчитывает доступный остаток и мгновенно резервирует заказы. Передавать во все каналы полный физический остаток опасно, особенно при единичных товарах и задержках обмена.
Что произойдёт, если API маркетплейса временно недоступен?
Изменения должны попадать в очередь и повторяться позже. Интеграция обязана фиксировать ошибку, не считать операцию успешной и уведомлять ответственного при длительном сбое.
Нужно ли переносить заказы маркетплейсов в 1С?
Это полезно для единого учёта товара, выручки, закупок и аналитики. Глубина зависит от задач: иногда достаточно состава и статуса заказа, иногда нужны комиссии, логистика, документы и возвраты.
Можно ли задавать разные цены для сайта, Wildberries и Ozon?
Да. Обычно хранится базовая цена и правила по каналам. Важно учитывать минимальную маржу, акции и ограничения площадок, а также не создавать непонятную покупателю разницу без объяснимой причины.
Сколько занимает интеграция?
Типовой обмен сайта с 1С может занимать несколько недель. Омниканальная интеграция с несколькими складами, маркетплейсами, ценами и возвратами требует аудита и часто занимает от одного до нескольких месяцев.
Итог
Синхронизация интернет-магазина с Wildberries, Ozon и 1С — это не один плагин, а набор согласованных правил. Нужно определить источник товаров, цен и остатков, сопоставить идентификаторы, настроить резервирование, собрать заказы и предусмотреть ошибки.
Чем больше каналов и складов, тем важнее центральная архитектура. Она позволяет масштабировать продажи без постоянной ручной сверки и снижает риск двойных продаж, неверных цен и потерянных заказов.


