При оформлении заказа на сайте на 1С-Битрикс бухгалтеру приходится вручную создавать УПД в 1С и отправлять через 1С-ЭДО. Это занимает часы и чревато ошибками в реквизитах. Мы решаем эту задачу за 2–4 недели: настраиваем автоматическую передачу заказов из Битрикс в 1С, а оттуда — через 1С-ЭДО контрагенту. Никто из сотрудников не вводит данные дважды.
1С-ЭДО — встроенный сервис электронного документооборота в конфигурациях 1С (Бухгалтерия, УТ, ERP). Когда компания уже работает через 1С-ЭДО для внутреннего документооборота, задача интеграции с сайтом на 1С-Битрикс формулируется так: заказы из Битрикс автоматически попадают в 1С, а УПД, накладные и акты формируются и отправляются через 1С-ЭДО без дублирования ввода данных.
По данным нашего проекта, автоматизация сократила время обработки одного заказа с 2 дней до 35 минут.
Схема взаимодействия
Битрикс (заказ создан/оплачен) → Стандартный обмен bitrix→1С (CommerceML/REST) → 1С: создана реализация/акт → 1С-ЭДО: документ отправлен контрагенту через оператора → 1С: статус подписания получен от оператора → 1С→Битрикс: статус документа обновлён в заказе Битрикс в этой схеме — источник заказов. 1С — система, где формируются учётные документы. 1С-ЭДО — транспорт.
Настройка обмена Битрикс ↔ 1С
Стандартный обмен работает через bitrix:catalog и bitrix:sale.export по протоколу CommerceML 2.10. В 1С подключается через «Обмен с сайтом» в конфигураторе.
Для автоматической передачи заказов в 1С — настройка расписания выгрузки: каждые 15–30 минут или по событию через \Bitrix\Main\EventManager. При наличии быстрого API-обмена через REST 1С — можно настроить практически real-time: событие OnSaleOrderPaid в Битрикс триггерит POST-запрос к 1С REST-сервису.
\Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleOrderPaid', function (\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); if ($order->isPaid()) { // Отправляем заказ в 1С немедленно (не ждём cron) \Local\OneCIntegration\OrderSync::pushOrderToOnec($order->getId()); } } ); В 1С REST-сервис (PublishedHTTPServices) принимает заказ и создаёт документ реализации. После этого 1С-ЭДО автоматически (по настройкам в 1С) или по нажатию кнопки отправляет УПД контрагенту.
Обратный поток: статусы из 1С в Битрикс
Когда контрагент подписывает документ в своей системе ЭДО, 1С получает подтверждение через оператора?
1С в ответ может вызвать webhook Битрикс или передать статус при следующем плановом обмене.
// Endpoint в Битрикс для приёма статусов от 1С // /local/ajax/onec_edo_status.php $data = json_decode(file_get_contents('php://input'), true); if ($data['action'] === 'update_edo_status') { $orderId = (int)$data['order_id']; $edoStatus = $data['edo_status']; // 'signed', 'rejected', 'annulled' // Записываем в пользовательское поле заказа $order = \Bitrix\Sale\Order::load($orderId); if ($order) { $props = $order->getPropertyCollection(); $prop = $props->getItemByOrderPropertyCode('EDO_STATUS'); if ($prop) { $prop->setValue($edoStatus); } $order->save(); // Уведомление менеджеру if ($edoStatus === 'rejected') { \CEvent::Send('EDO_DOCUMENT_REJECTED', SITE_ID, [ 'ORDER_ID' => $orderId, 'REASON' => $data['reason'], ]); } } } Как интеграция 1С-Битрикс с 1С-ЭДО сокращает время документооборота?
Автоматический обмен через 1С-ЭДО в 80 раз быстрее ручного ввода данных бухгалтером. Сравнение до/после из нашей практики:
| Показатель | До | После |
|---|---|---|
| Время от заказа до отправки УПД | 1–2 дня (вручную) | 35 мин (автомат) |
| Ошибки в реквизитах (несоответствие 1С ↔ Битрикс) | ~12%/мес | < 1% |
| Бухгалтер занят ЭДО (часов/день) | ~2 часа | ~15 минут |
Почему стандартный обмен CommerceML требует доработки?
Кейс: производственное предприятие
Клиент — производитель промышленного оборудования. 1С УТ 11.5 с 1С-ЭДО. Сайт на 1С-Битрикс Управление Сайтом — для приёма B2B-заказов от дилеров. Задача: дилер оформляет заказ на сайте, УПД автоматически создаётся и уходит через ЭДО, ни бухгалтер, ни менеджер не создают документы вручную.Проблемы:
- Стандартный CommerceML-обмен работал с задержкой 30 минут и не передавал данные юрлица (ИНН, КПП).
- 1С-ЭДО не настраивался на автоматическую отправку — требовал ручного подтверждения.
- Статус подписания в Битрикс не отображался.
Решения:
- Расширили CommerceML-выгрузку через
OnBeforeSaleOrderExport— добавили поля юрлица в XML. - В 1С настроили автоматическое правило ЭДО: при создании реализации с определённым видом договора — автоматическая отправка.
- Разработали скрипт обратной синхронизации: 1С каждые 15 минут вызывает webhook Битрикс со статусами.
Маппинг статусов ЭДО в статусы заказов Битрикс
| Статус 1С-ЭДО | Статус заказа Битрикс | Действие |
|---|---|---|
| Отправлен | EDO_SENT | Уведомление менеджеру |
| Доставлен | EDO_DELIVERED | — |
| Подписан контрагентом | EDO_SIGNED | Закрытие сделки в CRM |
| Отказ в подписании | EDO_REJECTED | Уведомление + задача менеджеру |
| Аннулирован | EDO_ANNULLED | Пометка в заказе |
Особенности при работе с несколькими операторами ЭДО
1С-ЭДО поддерживает роуминг между операторами: документ, отправленный через оператора, который обслуживает отправителя, доставляется контрагенту через его оператора. В коде Битрикс это прозрачно — логика маршрутизации полностью на стороне 1С.
Что входит в работу
- Аудит текущей схемы обмена Битрикс ↔ 1С: CommerceML или REST
- Расширение схемы выгрузки под данные ЭДО (ИНН, КПП, тип документа)
- Настройка правил автоотправки через 1С-ЭДО в 1С
- Обратная синхронизация статусов: webhook или polling
- Отображение статуса ЭДО в заказе Битрикс (пользовательское поле)
- Настройка уведомлений при отказе или аннулировании
- Обучение бухгалтера работе с механизмом
Сроки: при наличии рабочего обмена Битрикс-1С — 2–4 недели на ЭДО-часть. Если обмен нужно настраивать с нуля — добавить 2–3 недели. Оценим ваш проект за 1 рабочий день. Свяжитесь с нами для аудита вашей схемы обмена. Закажите интеграцию и получите бесплатную консультацию.
Мы внедрили уже более 50 подобных интеграций за 7 лет работы. Гарантия на результат — тестирование на реальных заказах перед запуском.







