1С УНФ интеграция с сайтом обычно всплывает не на старте проекта, а через полгода работы магазина, когда менеджер руками переносит заказы из письма в базу, а остатки на сайте расходятся с реальными на складе уже на следующий день после продажи. Я настраивал такой обмен для магазинов на Tilda и WordPress с WooCommerce, и ниже разберу три рабочих способа подключить УНФ к сайту, как синхронизировать номенклатуру и заказы без потерь и какие ошибки чаще всего ломают обмен через месяц после запуска.
По теме статьи
Готовое решение
Скрипт расчёта налога (НДС) в корзине Tilda
Автоматический расчёт НДС отдельной строкой в корзине Tilda — для США, ЕС и B2B.
от5 000 ₽
Интернет-магазин
Интернет-магазин под ключ
Интернет-магазин под ключ — на Tilda, WordPress + WooCommerce, Next.js Commerce или кастомный бэкенд. Подберу платформу под бюджет, ассортимент и
от80 000 ₽
Как 1С УНФ обменивается данными с сайтом: три рабочих схемы
УНФ, Управление нашей фирмой, изначально не заточена под обмен с сайтом так плотно, как например 1С:Управление торговлей с готовым модулем для Битрикса. На практике работают три варианта, и выбор зависит от платформы сайта и бюджета на разработку.
| Способ | Для какого сайта подходит | Что синхронизирует |
|---|---|---|
| CommerceML 2.x | Сайты на 1С-Битрикс и CMS с готовым модулем импорта | Каталог и заказы по стандартному протоколу выгрузки |
| REST API УНФ (HTTP-сервисы) | Любой сайт с серверной частью: WordPress, Next.js, кастомный SPA | Всё, под конкретную задачу и структуру данных |
| Скрипт-посредник на n8n или Python | Tilda, лендинги, сайты без собственного бэкенда | Гибко, собирается под нужные поля и события |
CommerceML был придуман под связку 1С и Битрикс, УНФ поддерживает его частично, через обработку обмена, но для произвольной CMS готового модуля нет, приходится дорабатывать. REST API универсальнее: в облачной версии УНФ на 1cfresh.com HTTP-сервисы включаются в настройках интеграции и доступны по логину и паролю, для коробочной версии на своём сервере нужно поднять веб-сервис и открыть порт наружу. Третий вариант, скрипт-посредник, я использую чаще всего для Tilda и лендингов, потому что там нет серверной части, которая могла бы напрямую говорить с 1С.
Настройка обмена номенклатурой: остатки, цены, характеристики
Порядок действий примерно одинаковый вне зависимости от платформы сайта.
- В УНФ включаю HTTP-сервисы через Настройки, Интеграции, веб-сервисы, для облачной версии это делается через личный кабинет 1С:Фреш.
- Связываю товар на сайте и в 1С не по названию, а по артикулу или GUID справочника Номенклатура, иначе после переименования товара на сайте связь рвётся и появляются дубли.
- Характеристики вроде цвета и размера синхронизирую отдельным справочником, в УНФ это Характеристики номенклатуры, на сайте обычно варианты товара в WooCommerce или отдельные SKU в Tilda.
- Настраиваю регламентное задание в УНФ или внешний cron, который дёргает REST раз в 15-30 минут для остатков и цен, для топовых позиций можно завести отдельный вебхук на изменение остатка, тогда обновление на сайте почти мгновенное.
- Фото товаров синхронизирую отдельно от карточки, УНФ плохо отдаёт картинки через REST, проще держать изображения на стороне сайта и подтягивать их по артикулу при первой загрузке.
Пример запроса к веб-сервису УНФ за обновлениями номенклатуры с определённой даты:
curl -u api_user:api_pass \
-H "Content-Type: application/json" \
https://myfirm.1cfresh.com/a/12345/hs/webexchange/nomenclature?since=2026-08-01
Отдельно закладываю приоритет источника данных: если менеджер вручную поставил скидочную цену на сайте под акцию, а следующий импорт из УНФ её затирает обратно на базовую, это будет каждый раз всплывать как баг. Решается полем вроде “цена зафиксирована вручную”, которое импорт проверяет перед перезаписью.
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Обмен заказами: от сайта в УНФ и статусы обратно
Схема движения заказа такая: покупатель оформляет заказ на сайте, скрипт-посредник отправляет POST-запрос в УНФ и создаёт документ Заказ покупателя, менеджер видит его в базе, при смене статуса, например в сборке или отгружен, изменение уходит обратно на сайт через тот же REST, и покупатель видит актуальный статус без звонка менеджеру.
Заказ в УНФ имеет смысл создавать только после подтверждения оплаты, а не в момент нажатия кнопки Оформить заказ. Если приём платежей идёт через T‑Bank на WooCommerce, слушаю вебхук об успешной оплате и только по нему создаю документ в 1С, иначе база забивается неоплаченными и брошенными заказами. Для доставки через СДЭК трек-номер и статус подтягиваю прямо в заказ УНФ, чтобы у менеджера вся информация была в одном месте, а на сайте показывался только актуальный статус для клиента.
Уведомление менеджеру о новом заказе с сайта я обычно завожу не через почту, а Telegram-ботом на aiogron, точнее на aiogram: бот присылает сообщение сразу как заказ попадает в УНФ, и менеджер реагирует за минуты вместо часов ожидания следующей проверки почты.
1С УНФ и Tilda, WordPress с WooCommerce: в чём разница
Tilda
Штатный обмен с 1С у Tilda есть: в разделе «Товары» включается «Синхронизация через CommerceML», но в справке Тильды он описан для 1С:Управление торговлей, про УНФ там ни слова. Если УНФ отдаёт выгрузку по тому же протоколу обмена с сайтом, связку сначала проверяю на тесте, и когда она проходит, разработка не нужна. Если нет, вся выгрузка и приём строятся через скрипт-посредник: вебхук о новом заказе из модуля Магазин ловит скрипт, дёргает REST УНФ и создаёт документ, а для остатков тот же скрипт собирает offers.xml и отдаёт его в приёмник CommerceML Тильды по расписанию, потому что Tilda API работает только на чтение и товары через него не обновляются. Такие скрипты я собираю под конкретную структуру каталога и заказов.
WordPress с WooCommerce
Здесь чуть проще за счёт плагинов, но большинство коннекторов 1С на рынке писались под старый обмен CommerceML и Управление торговлей, с УНФ они работают через раз или требуют доработки напильником. На практике я делаю отдельный REST-эндпоинт на стороне WordPress, который принимает данные от УНФ и обновляет товары через встроенный WooCommerce REST API, это надёжнее готового плагина с неясной поддержкой и историей обновлений.
Частые проблемы синхронизации номенклатуры и заказов
- Дубли товаров из-за несовпадения артикулов между сайтом и УНФ, лечится жёсткой привязкой по GUID номенклатуры, а не по названию товара.
- Гонка обновлений, когда цена меняется вручную на сайте и затирается следующим автоматическим импортом, решается приоритетом источника данных.
- Таймауты при большом каталоге: тысяча и больше позиций за один запрос кладёт веб-сервис, обмен нужно бить постранично, по 100-200 товаров за вызов.
- Потеря заказов при недоступности сайта или УНФ, без очереди с повторными попытками заказ просто пропадает, нужен буфер, например через n8n или отдельную таблицу очереди в базе посредника.
- Персональные данные покупателей, ФИО, телефон, адрес доставки, которые проходят через скрипт-посредник, должны храниться на сервере в России, а не в зарубежном сервисе вроде Google Таблиц, это прямое требование 152-ФЗ о локализации персональных данных.
Сколько стоит настройка обмена 1С УНФ с сайтом
На рынке у студий и фрилансеров цена такой интеграции сильно зависит от сложности каталога и глубины доработки: от простой выгрузки остатков раз в сутки до полного двустороннего обмена со статусами и вебхуками разброс может быть в разы.
По моим расценкам кастомный скрипт для Tilda с точечной синхронизацией, например только остатки и цены, стоит от 3 000 ₽. Комплексная интеграция с CRM, эквайрингом и СДЭК, включая полноценный обмен заказами с УНФ, от 40 000 ₽. Если обмен собирается через n8n как оркестратор между сайтом, УНФ и мессенджерами, такая автоматизация от 25 000 ₽. Полный список форматов работы, включая разработку интеграций с 1С УНФ, смотрите в разделе услуг на сайте.
Частые вопросы
Можно ли подключить 1С УНФ к Tilda без программиста?
Готовая кнопка у Tilda есть, «Синхронизация через CommerceML» в разделе «Товары», но в справке Тильды она описана для 1С:Управление торговлей, а не для УНФ, поэтому связку с УНФ сначала проверяю на тесте. Встроенные интеграции Tilda умеют выгружать заказы в Google Таблицы или CRM, но для обмена со статусами обратно на сайт, несколькими складами или нетиповой структурой каталога нужен скрипт-посредник, который слушает вебхук Tilda и REST УНФ одновременно, без разработки такая связка не собирается.
Как часто обновляются остатки при обмене с сайтом?
Обычно раз в 15-30 минут через регламентное задание. Для топовых позиций можно настроить отдельный вебхук из УНФ на изменение остатка, тогда обновление на сайте происходит почти мгновенно, без ожидания следующего цикла синхронизации.
Что будет, если заказ на сайте создался, а УНФ была недоступна?
Без буфера заказ потеряется. В скрипте-посреднике должна быть очередь с повторными попытками отправки: я обычно храню такие заказы во временной таблице и повторяю запрос к УНФ каждые несколько минут, пока документ не создастся успешно.
Нужен ли статический IP или выделенный сервер для обмена с УНФ?
Для облачной версии УНФ на 1cfresh.com отдельный сервер не нужен, обмен идёт через REST API 1С:Фреш по логину и паролю. Для коробочной версии на своём сервере нужен открытый порт и постоянный внешний адрес, иначе скрипт-посредник просто не достучится до базы.