Интеграция Тильды с 1С нужна в двух случаях: когда каталог товаров ведут в 1С и его нужно выгружать на сайт, и когда заказы с сайта должны попадать в учётную систему без ручного переноса каждой позиции. Я настраивал такую связку на нескольких магазинах на Тильде, и для базового сценария штатных инструментов платформы хватает: обмен по протоколу CommerceML встроен в интерфейс с обеих сторон. Но как только каталог обрастает модификациями, несколькими складами или нестандартной логикой заказов, штатного обмена становится мало, и начинается кастомная часть, про которую тоже расскажу.
По теме статьи
Готовое решение
Ограничение применения промокода в корзине Tilda
Промокод в Tilda не действует на выбранную категорию (например, «Распродажа»). Готовый скрипт + инструкция по подключению.
от6 000 ₽
Кастомный скрипт
Когда стандартных блоков не хватает
Доработка сайтов на Тильде: скрипты для корзины, промокоды, зоны доставки, интеграции с CRM и Telegram. Простой скрипт от 3 000
от3 000 ₽
Как устроен обмен между Тильдой и 1С через CommerceML
CommerceML - это формат обмена данными между интернет-магазином и учётной системой, разработанный фирмой «1С». По сути это набор XML-файлов со строгой структурой: один описывает структуру каталога и карточки товаров, второй - цены и остатки, третий - заказы. 1С умеет как формировать эти файлы, так и читать их обратно, а Тильда на своей стороне понимает этот же формат в разделе настроек интернет-магазина.
Обмен инициирует именно 1С: программа обращается к сайту по HTTP, авторизуется логином и паролем, которые вы указываете в настройках магазина Тильды, забирает файл каталога и отдаёт файл с заказами. Тильда в этой схеме выступает как склад данных, который отдаёт и принимает файлы по запросу - никакой отдельной программы-посредника ставить не нужно.
Что синхронизируется: товары, цены, остатки и заказы
По CommerceML между Тильдой и 1С обычно передаются:
- карточки товаров - название, описание, артикул, изображения;
- категории каталога и их структура;
- цены, в том числе по разным прайс-листам, если в 1С они настроены;
- остатки на складе;
- характеристики товара - размер, цвет, объём, если они заведены как отдельные значения в 1С;
- заказы, оформленные на сайте, - в обратную сторону, из Тильды в 1С.
На практике проблемы обычно возникают не с самим фактом передачи, а с сопоставлением полей: единицы измерения, округление цен, названия характеристик в 1С и в Тильде не всегда совпадают один в один, и при первой настройке это приходится выравнивать вручную.
Настройка выгрузки каталога из 1С в Тильду
Как сформировать файл обмена в 1С
В учётных конфигурациях 1С есть обработка обмена с сайтом, где указывается адрес интернет-магазина и учётные данные для авторизации. По расписанию или вручную она формирует файл import.xml со структурой каталога и файл offers.xml с ценами и остатками, а затем передаёт их сайту при следующем обращении.
Загрузка каталога и сопоставление разделов в Тильде
Со стороны Тильды в настройках интернет-магазина есть раздел для обмена с 1С, где включается сама возможность и задаются логин с паролем для доступа. При первой синхронизации категории из 1С нужно вручную сопоставить с разделами каталога на сайте - это делается один раз, дальше обмен идёт по уже настроенным связям.
По моей практике первая синхронизация каталога на 800‑1000 товаров занимает 15-20 минут вместе с сопоставлением разделов и проверкой цен. Все следующие обмены идут быстрее, потому что передаются только изменения - обновлённые цены, остатки и новые позиции.
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Как заказы уходят из Тильды обратно в 1С
Обратный поток работает по тому же принципу: 1С запрашивает у Тильды файл с новыми заказами, разбирает его и создаёт документы заказа в учётной системе. Дальше 1С может списать товар со склада, поменять статус или подтянуть данные для отгрузки - способ доставки и адрес приходят как обычные поля заказа, а если используется встроенный калькулятор СДЭК, стоимость и сроки доставки Тильда уже посчитала сама на момент оформления.
У Тильды есть возможность отправлять уведомление о новом заказе на внешний адрес сразу при оформлении, не дожидаясь очередного планового обмена. Это удобно, когда важна скорость реакции, например для склада с ручной комплектацией или для оповещения менеджера в Telegram. Между таким уведомлением и HTTP-сервисом 1С обычно ставят промежуточное звено, которое приводит поля к нужному виду и разруливает повторные отправки - настройку такой связки я обычно делаю через автоматизацию в n8n.
Ограничения штатного обмена и где нужна доработка
Штатный обмен CommerceML решает базовый сценарий, но у него есть особенности, которые стоит знать заранее.
Обмен инициирует 1С по расписанию, которое настроено внутри самой учётной системы, а не в реальном времени. Если расписание стоит раз в час, а товар закончился через пять минут после последнего обмена, покупатель ещё какое-то время сможет его заказать - это особенность периодического обмена файлами, а не поломка.
Если на предприятии несколько складов, в базовой связке Тильда обычно получает суммарный остаток по товару, а не разбивку по каждому складу отдельно. Показ наличия в конкретной точке продажи - это уже доработка сопоставления данных сверх стандартного обмена.
Сложные комбинации характеристик и разные цены для разных категорий клиентов (опт и розница, например) 1С передаёт, но при первой настройке сопоставление полей почти всегда приходится донастраивать руками, иначе часть значений на сайте будет пустой или задвоенной.
Под такие задачи я обычно беру доработку сопоставления полей и отдельные скрипты от 3 000 ₽, а комплексную интеграцию с оплатой, доставкой и нестандартной обработкой заказов - от 40 000 ₽.
Способы синхронизации Тильды с 1С: сравнение
| Способ | Что передаёт | Периодичность |
|---|---|---|
| Штатный обмен CommerceML | каталог, остатки, цены, заказы | по расписанию, которое задано в 1С |
| Уведомление о заказе + промежуточный сервис (n8n) | только новый заказ | сразу при оформлении |
| Ручная выгрузка CSV или Excel | каталог без заказов | вручную, когда вспомнили |
| Кастомный скрипт под конкретный сценарий | то, что нужно бизнесу - склады, опт/розница, спецполя | настраивается индивидуально |
Если магазин небольшой и каталог простой, штатного обмена по расписанию обычно достаточно. Уведомление о заказе с промежуточным звеном добавляют, когда важна скорость реакции на новый заказ, а не только на изменение остатков. Ручная выгрузка годится разве что для разового переноса каталога при запуске сайта - на постоянной основе она отнимает время и почти всегда приводит к рассинхрону цен.
Условия и возможности Тильды меняются, поэтому перед запуском я уточняю их у самого сервиса.
Частые вопросы
Нужен ли программист для обмена Тильды с 1С?
Для базового сценария - выгрузка каталога, цен и остатков - настройки в 1С и в интерфейсе Тильды можно включить самостоятельно, следуя документации обеих систем. Разработчик обычно нужен на этапе сопоставления нестандартных полей, нескольких складов или когда заказы должны уходить в 1С с дополнительной логикой.
Сколько занимает первая синхронизация каталога?
По моей практике на каталоге в 800‑1000 товаров первая полная синхронизация с сопоставлением разделов и проверкой цен занимает 15-20 минут. Дальнейшие обмены идут быстрее, потому что передаются только изменения.
Можно ли передавать заказы из Тильды в 1С в реальном времени?
Штатный обмен CommerceML работает по расписанию, которое задаёт 1С, поэтому мгновенным его назвать нельзя. Для быстрой реакции на новый заказ используют отправку уведомления на внешний адрес сразу при оформлении и промежуточный сервис вроде n8n, который передаёт данные дальше в 1С.
Что делать, если остатки на сайте не совпадают с 1С?
Сначала проверяю расписание обмена в 1С и логику расчёта остатка при нескольких складах - чаще всего дело в этом. Если причина не находится за пару проверок, разбираю настройки сопоставления полей отдельно - для этого у меня есть консультация от 3 000 ₽.