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







