За последние пару лет у меня было больше десятка проектов, где заказчик спрашивал, как настроить интеграцию 1С с сайтом так, чтобы остатки на витрине не расходились с торговым залом, а заказы из корзины не терялись между кассой и складом. Работает это не через одну кнопку в настройках, а через связку из трёх вещей: формата обмена (чаще всего CommerceML), стороны, которая инициирует запрос, и регламента, по которому данные ходят туда и обратно. Разберу варианты по шагам: от штатного модуля 1С-Битрикс до кастомного моста для Tilda и обмена заказами с доставкой и оплатой.
По теме статьи
Готовое решение
Автоматическая конвертация валюты на Tilda
Цены товаров в нужной валюте по актуальному курсу ЦБ — автоматически и в реальном времени.
от6 000 ₽
Интернет-магазин
Интернет-магазин под ключ
Интернет-магазин под ключ — на Tilda, WordPress + WooCommerce, Next.js Commerce или кастомный бэкенд. Подберу платформу под бюджет, ассортимент и
от80 000 ₽
Какие способы обмена данными между 1С и сайтом существуют
На практике встречаю четыре рабочие схемы, и выбор между ними зависит не от желания клиента, а от того, на какой платформе стоит сайт и что реально нужно передавать.
- CommerceML 2.x - отраслевой формат для товарных каталогов, остатков, цен и заказов. Штатно поддерживается 1С-Битрикс: Управление сайтом, для WordPress и WooCommerce есть отдельные плагины-обработчики.
- HTTP-сервисы 1С - начиная с платформы 8.3 публикую в конфигураторе собственный веб-сервис, который отдаёт JSON по запросу. Использую, когда нужен точечный обмен: только остатки конкретного склада или только статус заказа, без выгрузки всего каталога целиком.
- Файловая выгрузка по расписанию - 1С раз в час кладёт XML или CSV на FTP, сайт его забирает и разбирает. Самый простой вариант для каталога до 2-3 тысяч товаров без частой смены цен.
- Обмен через n8n или похожий оркестратор - ставлю между 1С и сайтом, когда данные нужно параллельно раскидывать в CRM, Telegram-уведомления менеджеру или таблицу закупок, а не только на витрину.
Выбор формата определяет и сроки настройки, и то, кто дальше будет чинить обмен при сбоях: CommerceML к 2026 году поддерживается почти всеми крупными платформами из коробки, а под HTTP-сервисы и n8n-связки почти всегда нужен разработчик, который понимает структуру данных конкретной базы 1С.
Настройка обмена по CommerceML для сайтов на 1С-Битрикс и WordPress
Это самый частый сценарий: сайт уже работает, каталог набит руками или через разовый импорт, и его нужно перевести на автоматический обмен с учётной системой. Порядок такой:
- В 1С (Управление торговлей, УНФ или Комплексная автоматизация) в разделе обмена с сайтом создаю профиль CommerceML, указываю адрес обработчика на сайте (обычно /bitrix/admin/1c_exchange.php для Битрикс или собственный import1c.php для WordPress), логин и пароль для авторизации.
- На стороне сайта проверяю, что обработчик отвечает на запросы checkauth и init без ошибок 500 - в большинстве случаев проблема на этом шаге в правах на папку выгрузки или в лимите памяти PHP.
- Настраиваю первую полную выгрузку каталога: категории, товары, цены, остатки. Для каталога в 5-7 тысяч позиций это занимает от 10 до 40 минут в зависимости от сервера.
- Перевожу обмен в режим «для сайта» с периодом раз в 30-60 минут - выгружаются только изменения, а не весь каталог заново.
- Отдельно настраиваю обратный обмен заказами: сайт отдаёт в 1С новые заказы, 1С возвращает статусы (в обработке, собран, отгружен).
Для WordPress без ядра Битрикс беру готовый плагин обработки CommerceML либо пишу свой обработчик, если у клиента нестандартная структура каталога - типовые плагины не всегда справляются с вложенными характеристиками товаров вроде размера и цвета, и тогда часть номенклатуры при выгрузке просто теряется.
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Как подключить 1С к сайту на Tilda и что делать в конструкторах без встроенного обмена
У Tilda, в отличие от большинства конструкторов, обмен с 1С штатный: в разделе «Товары» магазина включается «Синхронизация через CommerceML», Тильда выдаёт ссылку на коннектор, логин и пароль, а в 1С:Управление торговлей (версии 10.3.4 и выше, после 11.2 не тестировалось) создаётся узел обмена с сайтом. По нему в каталог приходят товары, цены и остатки, обратно уходят заказы. Ограничения тоже штатные: один склад, один сервис по CommerceML одновременно, либо 1С, либо МойСклад. Мост из двух частей строю, когда этого не хватает: складов несколько, учётка нетиповая или самописная, 1С в облаке без доступа к узлу обмена, данные нужно обогащать перед выгрузкой.
Со стороны 1С публикую HTTP-сервис или простую выгрузку XML по расписанию - он отдаёт товары, остатки и цены в понятном виде. Со стороны сайта пишу скрипт на PHP или Python, который собирает из этих данных import.xml и offers.xml и отдаёт их в штатный приёмник CommerceML Тильды по тому же протоколу обмена, что и 1С (checkauth, init, file, import), а оформленные заказы забирает с сайта и пишет обратно в 1С. Запускаю такой скрипт по cron раз в 15-30 минут, для магазинов с частой сменой цен ставлю чаще.
Для типовых задач вроде расчёта зон доставки под Tilda у меня уже есть готовые скрипты, которые можно доработать под конкретную выгрузку из 1С вместо разработки с нуля. Полноценный мост сверх штатной синхронизации, с двусторонним обменом заказами и остатками по своей логике, - это уже отдельная разработка под структуру каталога конкретного клиента, и здесь я оцениваю проект от 40 000 ₽, потому что логика синхронизации у каждого получается своя: разные справочники характеристик в 1С, разные правила скидок, разная частота обновления остатков.
Обмен заказами: доставка через СДЭК и оплата через T‑Bank
Каталог и остатки - это только половина интеграции, вторая половина - заказы, доставка и оплата, и тут схема обмена усложняется, потому что подключаются внешние сервисы.
На одном из проектов на WooCommerce у меня была такая цепочка: покупатель оформляет заказ, доставку считает СДЭК через API прямо на этапе оформления по индексу или пункту выдачи, оплата проходит через T‑Bank эквайринг. Заказ со статусом «оплачен» уходит в 1С по тому же каналу CommerceML, что и остатки, но статус оплаты подтягивается отдельным вебхуком от T‑Bank, потому что CommerceML сам по себе про оплату ничего не знает - это товарно-складской протокол, а не платёжный. После сборки заказа кладовщик в 1С проставляет трек-номер СДЭК, и он через тот же обмен возвращается на сайт и уходит клиенту письмом или в личный кабинет.
Если заказов немного и городить полноценный CommerceML-обмен с обеих сторон дорого, беру связку попроще: заказ с сайта летит вебхуком в n8n, там раскладывается на задачу в 1С через HTTP-сервис и на уведомление в Telegram менеджеру. Настраивается быстрее и дешевле, но без автоматической сверки остатков - для магазина с активным ассортиментом такая схема быстро расходится с реальными складскими цифрами.
Типичные ошибки при настройке обмена 1С и сайта
За несколько лет таких проектов набрался список проблем, которые встречаются почти в каждом втором обмене.
- Кодировка XML. 1С по умолчанию отдаёт Windows-1251, а сайт на WordPress ждёт UTF‑8 - без явного указания кодировки в заголовке файла часть товаров превращается в нечитаемые символы.
- Таймауты на большом каталоге. При выгрузке 10-15 тысяч товаров одним запросом обработчик на сайте упирается в max_execution_time PHP и обрывается на середине - решаю пакетной выгрузкой небольшими порциями по несколько сотен позиций.
- Дублирование заказов. Если сайт при сбое обмена повторно отправляет тот же заказ в 1С, без проверки по внешнему идентификатору вместо одного заказа получаю два одинаковых документа.
- Хранение персональных данных клиентов не на серверах в РФ. Для заказов с телефонами и адресами держу базу и файлы обмена на сервере в России, а не во внешних облачных таблицах - этого требует 152-ФЗ.
Сколько стоит настройка интеграции 1С с сайтом
Разброс цен на рынке большой: у студий встречал и 25 000 ₽ за простое подключение обмена, и 200 000 ₽ за проект с эквайрингом и складским учётом - разница в том, что реально входит в работу. У меня цены такие:
| Задача | Стоимость |
|---|---|
| Доработка готового скрипта для Tilda | от 3 000 ₽ |
| Комплексная интеграция (обмен с 1С, эквайринг, СДЭК) | от 40 000 ₽ |
| Сайт на WordPress с обменом CommerceML | от 60 000 ₽ |
| Интернет-магазин под ключ с обменом 1С | от 80 000 ₽ |
| Автоматизация обмена и уведомлений в n8n | от 25 000 ₽ |
| Техническая поддержка обмена | от 15 000 ₽/мес |
В комплексную интеграцию закладываю настройку CommerceML или моста с обеих сторон, обработку ошибок обмена и один цикл тестирования на реальных заказах. Доработку под нестандартные случаи вроде маркетплейсных остатков или мультискладской логистики считаю отдельно после разбора структуры базы 1С.
Частые вопросы
Можно ли настроить обмен 1С с сайтом без разработчика?
Если сайт на 1С-Битрикс и каталог простой, штатный модуль обмена можно включить силами администратора 1С, но обычно нужна точечная настройка обработчика на стороне сайта и разбор ошибок в логе обмена - без опыта на это уходит несколько дней проб вместо пары часов.
Как часто нужно обновлять остатки на сайте?
Для магазина с активными продажами ставлю период 15-30 минут, для каталога с редкими изменениями хватает раза в 2-3 часа. Слишком частый обмен на большом каталоге создаёт лишнюю нагрузку и на 1С, и на хостинг сайта без реальной пользы.
Подходит ли CommerceML для сайта на Tilda?
Да, это штатный способ: в разделе «Товары» магазина на Tilda включается «Синхронизация через CommerceML», 1С:Управление торговлей выгружает туда товары, цены и остатки и забирает заказы. Отдельный скрипт-мост пишу, только когда штатного обмена не хватает: несколько складов, нетиповая учётка, облачная 1С без доступа к узлу обмена или своя логика обработки заказов.
Что делать, если после обмена заказы задваиваются в 1С?
Проверяю, есть ли на стороне 1С сверка по внешнему номеру заказа с сайта - если обработчик просто создаёт новый документ на каждый входящий XML без такой проверки, дубли будут появляться при любом сетевом сбое или повторной отправке.