При оформленні замовлення на сайті на 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 років роботи. Гарантія на результат — тестування на реальних замовленнях перед запуском.







