Как настроить обмен WordPress (WooCommerce) с 1С

Коротко

Обмен интернет-магазина на WooCommerce с 1С настраивают через специальный модуль интеграции, работающий по протоколу CommerceML — тому же, что и в 1С-Битрикс. Из 1С на сайт выгружаются товары, цены и остатки, а заказы возвращаются в 1С. Главное отличие от 1С-Битрикс: в WooCommerce обмен не встроен «из коробки», его добавляют модулем и настраивают сопоставление товаров вручную.

WooCommerce умеет обмениваться с 1С по CommerceML, но это делает модуль, а не ядро. От выбора и настройки модуля зависит стабильность обмена: небольшой каталог заработает за день, а большой каталог с вариациями потребует пошагового обмена, настройки сервера и аккуратного сопоставления свойств.

Что передаётсяНаправлениеГде настраивается
Категории и товары1С → сайтУзел обмена в 1С и модуль на сайте
Цены и остатки1С → сайтВиды цен и склады в узле обмена
Изображения1С → сайтНастройки выгрузки и модуля
ЗаказыСайт → 1СМодуль и узел обмена
Статусы заказов1С → сайтМодуль с поддержкой двустороннего обмена

Основная мысль

Обмен с 1С — не галочка в настройках, а отдельная подсистема магазина, от которой зависят цены, остатки и заказы. Если он работает нестабильно, покупатель видит неправильную цену или заказывает товар, которого нет на складе.

В 1С-Битрикс обмен с 1С встроен в ядро, и разработчики платформы поддерживают его вместе с обновлениями. В WooCommerce ту же задачу решает сторонний модуль. Поэтому к его выбору, настройке и проверке стоит подходить так же серьёзно, как к выбору самой платформы.

Разберём, как устроен обмен, как его настроить по шагам, какие проблемы встречаются чаще всего и как понять, что обмен работает правильно.

Как работает обмен

Схема обмена одинакова для любого сайта, который поддерживает протокол CommerceML.

  • В 1С настраивается узел обмена с сайтом (как для любого сайта на CommerceML).
  • На WordPress устанавливается модуль интеграции с 1С для WooCommerce.
  • 1С выгружает каталог и цены, модуль создаёт и обновляет товары WooCommerce.
  • Заказы из WooCommerce передаются обратно в 1С.

Протокол CommerceML

CommerceML — стандарт обмена данными между 1С и сайтами. 1С формирует файлы с каталогом и предложениями (цены, остатки) и по очереди отправляет их на адрес обмена сайта. Сайт принимает файлы, разбирает их и обновляет товары. Заказы сайт отдаёт в том же формате, и 1С загружает их как документы.

Важно, что инициатором обмена выступает 1С: она сама обращается к сайту по расписанию или по команде. Сайт только принимает и отдаёт данные. Поэтому адрес обмена должен быть доступен из сети, где работает 1С.

Полная и частичная выгрузка

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

Тип выгрузкиКогда нужнаНагрузка
ПолнаяПервый запуск, серьёзные изменения структурыВысокая
Только измененияЕжедневная работаНизкая
Только цены и остаткиЧастое обновление в течение дняМинимальная

Какие конфигурации 1С поддерживают обмен

Узел «Обмен с сайтом» есть в типовых торговых конфигурациях 1С: «Управление торговлей», «Управление нашей фирмой», «Комплексная автоматизация» и других. Названия настроек в разных версиях отличаются, но логика одна: указать адрес сайта, логин и пароль, выбрать, что выгружать, и задать расписание.

Пошаговая настройка

Порядок действий для типового магазина на WooCommerce.

  1. Установите и активируйте модуль обмена 1С для WooCommerce.
  2. Задайте адрес обмена, логин и пароль в настройках модуля.
  3. В 1С создайте узел «Обмен с сайтом» с теми же данными.
  4. Настройте сопоставление свойств и категорий товаров.
  5. Запустите пробную выгрузку на небольшой группе товаров.
  6. Проверьте карточки, цены, остатки и передачу заказов.

Подготовка перед настройкой

До первой выгрузки полезно сделать несколько вещей:

  • резервную копию сайта и базы данных — первая выгрузка может создать сотни товаров, и откатить их вручную сложно;
  • навести порядок в номенклатуре 1С — убрать дубли, заполнить артикулы, проверить группы;
  • решить, какие товары выгружать — часто на сайт идёт не вся номенклатура, а только отобранные группы;
  • определить виды цен и склады — какая цена показывается на сайте и остатки каких складов учитываются;
  • проверить сервер — лимиты PHP, место на диске, доступность адреса обмена.

Сопоставление структуры

Самая трудоёмкая часть — сопоставить структуру 1С со структурой WooCommerce. Группы номенклатуры становятся категориями, свойства — атрибутами, характеристики — вариациями.

В 1СВ WooCommerce
Группа номенклатурыКатегория товара
НоменклатураТовар
ХарактеристикаВариация вариативного товара
Дополнительное свойствоАтрибут товара
Вид ценыОбычная или акционная цена
Остаток на складеЗапас товара

Если в 1С свойства ведутся хаотично — например, «Цвет» записан пятью разными способами, — на сайте появятся пять разных атрибутов, а фильтр каталога перестанет работать. Поэтому структуру стоит привести в порядок до обмена, а не после.

Пробная выгрузка

Начинать лучше с одной небольшой группы товаров. На ней проверяют, как создаются карточки, правильно ли подтягиваются цены, остатки, изображения и вариации. Только после этого выгружают весь каталог. Так ошибки настройки обнаруживаются на десятке товаров, а не на тысячах.

Настройка расписания

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

Выбор модуля обмена

От модуля зависит, насколько стабильно и полно будет работать обмен. Модули различаются возможностями, качеством кода и поддержкой.

На что смотреть

  • поддержка вариаций — нужна, если товары имеют характеристики: размер, цвет, объём;
  • пошаговый обмен — модуль должен обрабатывать большие файлы частями, не упираясь в лимиты сервера;
  • двусторонний обмен — выгрузка заказов и получение статусов из 1С;
  • работа с изображениями — загрузка, обновление, удаление без накопления дублей;
  • логи — подробный журнал обмена, по которому можно найти ошибку;
  • обновления — совместимость с актуальными версиями WordPress и WooCommerce;
  • поддержка автора — возможность получить помощь при проблемах.

Бесплатный или платный

КритерийБесплатный модульПлатный модуль или доработка
Простой каталог без вариацийОбычно справляетсяИзбыточен
Большой каталогЧасто упирается в лимитыПошаговый обмен
Вариации товаровОграниченноПолноценно
Двусторонний обмен статусамиРедкоКак правило, есть
Поддержка и обновленияНе гарантированыЕсть

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

Частые проблемы

Большинство сбоев обмена сводится к нескольким типовым причинам.

  • Тайм-ауты на большом каталоге — нужен пошаговый обмен и лимиты PHP.
  • Несовпадение свойств и категорий 1С со структурой WooCommerce.
  • Дубли товаров из-за смены идентификаторов при выгрузке.
  • Проблемы с изображениями и вариациями товаров.
  • Ограничения бесплатных модулей по функционалу обмена.

Тайм-ауты и нехватка памяти

Когда в каталоге тысячи товаров с изображениями, обработка одного файла может занять больше времени, чем разрешает сервер. Обмен обрывается, а часть товаров остаётся необновлённой. Решение — пошаговый обмен частями, увеличение memory_limit и времени выполнения PHP, а также хостинг, рассчитанный на нагрузку. Если сайт в целом работает медленно, стоит заняться и ускорением сайта: тяжёлые плагины и неоптимизированная база замедляют и обмен.

Дубли товаров

Каждый товар в 1С имеет внешний идентификатор, по которому модуль находит его на сайте. Если идентификатор меняется — например, после пересоздания номенклатуры или переноса базы, — модуль считает товар новым и создаёт дубль. Нужно зафиксировать стабильные внешние коды в 1С и проверить настройки сопоставления в модуле обмена.

Изображения и вариации

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

Цены и остатки не совпадают

Чаще всего причина в том, что на сайт выгружается не тот вид цены или остатки не всех складов. Иногда цену меняют вручную на сайте, а следующая выгрузка её перезаписывает. Правило простое: цены и остатки правят только в 1С.

Что проверить после настройки обмена

Даже если выгрузка прошла без ошибок, результат стоит проверить вручную.

  • Товары создались с правильными названиями, ценами и остатками.
  • Категории и свойства сопоставлены корректно, без «каши».
  • Изображения и вариации товаров подтянулись.
  • Тестовый заказ ушёл в 1С и корректно там отобразился.
  • Обмен проходит по расписанию без ошибок в логах.

Регулярный контроль

После запуска обмен нужно периодически контролировать. Удобно настроить уведомление об ошибках обмена и раз в неделю сверять количество товаров и заказов на сайте и в 1С. Любое изменение структуры номенклатуры в 1С — новые свойства, группы, виды цен — стоит сначала проверить на тестовом сайте.

Когда модуля недостаточно

Готовый модуль закрывает типовой сценарий: каталог, цены, остатки, заказы. Но у части магазинов требования шире, и тогда модуль дорабатывают или пишут обмен под задачу.

Признаки нестандартной задачи

  • индивидуальные цены для оптовых покупателей из 1С;
  • несколько складов с отдельным показом остатков по городам;
  • комплекты и наборы, которые собираются из нескольких позиций;
  • передача в 1С данных, которых нет в CommerceML, например особых реквизитов доставки;
  • обмен с несколькими базами 1С или с другими учётными системами.

Варианты решения

Первый вариант — доработать существующий модуль: добавить обработку нужных полей и событий. Второй — построить обмен через REST API WooCommerce и собственную обработку на стороне 1С. Второй путь гибче, но требует участия специалиста по 1С. Выбор делают после аудита текущей схемы и объёма данных.

Если магазин ещё не запущен и обмен с 1С — одно из ключевых требований, его стоит закладывать в проект с самого начала. Как это делается, описано на странице интернет-магазина на WordPress.

WooCommerce или 1С-Битрикс для магазина с 1С

Если магазин только планируется, а обмен с 1С — ключевое требование, стоит сравнить платформы заранее.

Когда хватит WooCommerce

WooCommerce подходит для небольших и средних магазинов, где каталог умеренного размера, вариаций немного, а обмен сводится к выгрузке товаров, цен, остатков и возврату заказов. Небольшой магазин на WooCommerce стоит от 80 000 ₽, обмен с 1С — от 16 000 ₽, а срок разработки магазина с обменом — 4–6 недель. Подробнее о цене — в статье о стоимости магазина на WooCommerce.

Когда лучше 1С-Битрикс

1С-Битрикс стоит выбрать, если каталог большой, много вариаций и складов, нужен сложный двусторонний обмен, личные кабинеты оптовиков с индивидуальными ценами. Обмен там встроен в ядро и развивается вместе с платформой. Интернет-магазин на 1С-Битрикс стоит от 120 000 ₽, лицензия для магазина — от редакции «Малый бизнес» за 47 000 ₽.

КритерийWooCommerce1С-Битрикс
Обмен с 1СЧерез модульВстроен в ядро
КаталогНебольшой и среднийЛюбой, включая крупный
Стоимость разработкиНебольшой магазин от 80 000 ₽Магазин от 120 000 ₽
ЛицензияНе нужнаОт 47 000 ₽ («Малый бизнес»)
Гибкость доработокВысокаяВысокая

Обмен заказами

Выгрузка каталога — половина обмена. Вторая половина — передача заказов в 1С, где по ним резервируют товар, выставляют счёт и оформляют отгрузку.

Что передаётся в заказе

Данные заказаЧто с ними происходит в 1С
Покупатель: имя, телефон, почтаПоиск или создание контрагента
Товары, количество, ценыСтроки документа «Заказ клиента»
Способ доставки и её стоимостьОтдельная строка или реквизит заказа
Способ оплаты и факт оплатыРеквизиты и статус заказа
Комментарий покупателяКомментарий документа

Контрагенты

Главный вопрос при передаче заказов — как 1С сопоставляет покупателя с контрагентом. Если каждый заказ создаёт нового контрагента, справочник быстро засоряется. Обычно поиск ведут по почте или телефону, а для юридических лиц — по ИНН, если он собирается при оформлении заказа.

Статусы

При двустороннем обмене 1С возвращает на сайт статус заказа: подтверждён, оплачен, отгружен, выполнен. Покупатель видит его в личном кабинете или получает уведомление. Для этого нужно сопоставить статусы 1С со статусами WooCommerce и договориться, какая система меняет какой статус, чтобы они не перезаписывали друг друга.

Сервер и хостинг для обмена

Обмен с 1С — одна из самых тяжёлых операций интернет-магазина. От сервера зависит, пройдёт ли выгрузка за минуты или оборвётся на середине.

Что настроить

  • лимиты PHP — memory_limit, max_execution_time, размер загружаемых файлов;
  • размер порции обмена — в 1С и в модуле, чтобы один шаг укладывался в лимиты;
  • место на диске — временные файлы обмена и изображения занимают много места;
  • фоновые задачи — обработку тяжёлых операций лучше выносить в фон, а не выполнять в запросе от 1С;
  • доступ к адресу обмена — защита от посторонних запросов, но без блокировки 1С.

Виртуальный хостинг или сервер

Для каталога в несколько сотен товаров обычно хватает хорошего виртуального хостинга. Когда товаров тысячи, а обмен идёт несколько раз в день, стоит перейти на виртуальный или выделенный сервер, где лимиты можно настроить под задачу.

Сценарий: магазин с вариациями

Разберём типичную ситуацию. Магазин одежды ведёт учёт в 1С: у каждой модели есть характеристики «Размер» и «Цвет», остатки хранятся на двух складах, на сайте нужно показывать общий остаток и розничную цену.

Что потребуется:

  1. Модуль с поддержкой вариаций, который превращает характеристики 1С в вариации WooCommerce.
  2. Единообразные значения размеров и цветов в 1С, чтобы на сайте работал фильтр.
  3. Настройка узла обмена: выгружать розничную цену и суммировать остатки двух складов.
  4. Пробная выгрузка на одной категории, проверка фильтров и карточек.
  5. Настройка передачи заказов с учётом выбранной вариации.

Если хотя бы один пункт пропустить, покупатель увидит товар без размеров, неправильный остаток или заказ попадёт в 1С без характеристики.

Типичные ошибки при запуске обмена

Кроме технических сбоев, есть ошибки организации, которые приводят к тем же последствиям.

  • Выгрузка всего каталога сразу без пробы на небольшой группе — ошибки размножаются на тысячи карточек.
  • Работа без резервной копии — откатить неудачную выгрузку становится трудно.
  • Правка цен и остатков на сайте вручную — следующая выгрузка их перезапишет.
  • Хаос в свойствах 1С — на сайте появляются дубли атрибутов и ломаются фильтры.
  • Изменение структуры 1С без проверки — новые группы или свойства внезапно меняют каталог на сайте.
  • Отсутствие контроля — о сбое узнают от покупателей, заказавших отсутствующий товар.

Чек-лист перед запуском обмена

  • Сделана резервная копия сайта и базы данных.
  • Номенклатура 1С очищена от дублей, артикулы заполнены.
  • Выбраны группы товаров, виды цен и склады для выгрузки.
  • Лимиты PHP и место на диске проверены.
  • Модуль поддерживает нужные сценарии: вариации, пошаговый обмен, заказы.
  • Пробная выгрузка на одной группе прошла успешно.
  • Тестовый заказ появился в 1С с правильным контрагентом и товарами.
  • Настроено расписание и уведомление об ошибках.

Частые вопросы

Можно ли настроить двусторонний обмен в WooCommerce?

Да. Каталог и цены идут из 1С, а заказы возвращаются обратно. Для этого нужен модуль, поддерживающий двусторонний обмен, и корректная настройка узла в 1С.

Чем обмен в WooCommerce отличается от 1С-Битрикс?

Протокол тот же — CommerceML. Но в 1С-Битрикс обмен встроен штатно, а в WooCommerce его добавляет отдельный модуль, который нужно выбрать, установить и настроить.

Подойдёт ли бесплатный модуль обмена?

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

Почему обмен тормозит на большом каталоге?

Из-за лимитов сервера. Решение — пошаговый обмен частями и увеличение memory_limit и времени выполнения PHP, а также хороший хостинг под нагрузку.

Нужен ли программист для настройки обмена?

Базовый обмен на готовом модуле можно настроить самостоятельно. Но сопоставление сложного каталога, вариации товаров и стабильный двусторонний обмен обычно требуют PHP-разработчика.

Что делать, если товары задваиваются?

Дубли возникают из-за смены идентификаторов при выгрузке. Нужно зафиксировать стабильные внешние коды в 1С и проверить настройки сопоставления в модуле обмена.

Как часто запускать обмен?

Зависит от того, как быстро меняются цены и остатки. Обычно цены и остатки обновляют несколько раз в день, каталог целиком — реже, а заказы забирают в 1С как можно чаще.

Можно ли выгружать на сайт не все товары из 1С?

Да. В узле обмена выбирают группы номенклатуры для выгрузки. Это удобно, если в 1С ведутся материалы, услуги или товары, которые не продаются в интернете.

Можно ли вести описания товаров на сайте, а не в 1С?

Можно, если модуль позволяет не перезаписывать описание при выгрузке. Тогда цены и остатки приходят из 1С, а тексты и SEO-поля контент-менеджер правит на сайте.

Что делать, если обмен перестал работать после обновления?

Проверить журнал обмена и совместимость модуля с новой версией WordPress и WooCommerce. Перед обновлениями стоит делать резервную копию и проверять обмен на тестовой копии сайта.

Итог

WooCommerce умеет обмениваться с 1С по тому же протоколу CommerceML, что и 1С-Битрикс, но делает это через сторонний модуль. Поэтому качество обмена определяется выбором модуля, порядком в номенклатуре 1С и настройкой сервера.

Надёжный обмен строится по простым правилам: резервная копия перед первой выгрузкой, проба на небольшой группе товаров, аккуратное сопоставление свойств, стабильные внешние коды, пошаговый обмен на большом каталоге и регулярный контроль журнала. Для крупных каталогов со сложной логикой стоит рассмотреть 1С-Битрикс, где обмен встроен в ядро.

Если нужно настроить или починить обмен WooCommerce с 1С, я как частный разработчик могу подобрать модуль, сопоставить структуру каталога, настроить сервер и довести обмен до стабильной работы. Работаю напрямую, без посредников. Подробнее — на странице доработки сайта на WordPress.

Что будем искать? Например,Продвижение