Інтеграція Бітрікс24 з 1С-ЕДО

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Інтеграція Бітрікс24 з 1С-ЕДО
Середня
~1-2 тижні
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Інтеграція Бітрікс24 з 1С-ЕДО

У Бітрікс24 немає вбудованого модуля ЕДО. CRM вміє виставляти рахунки, формувати комерційні пропозиції, але юридично значущий документообіг — УПД, акти, накладні з КЕП — залишається поза системою. Менеджер працює у Бітрікс24, закриває угоду, а бухгалтер паралельно створює документи у 1С-ЕДО. Це розрив: менеджер не бачить статус документів, а бухгалтер не бачить контекст угоди.

Інтеграція Бітрікс24 з 1С-ЕДО закриває цей розрив: статус ЕДО-документів відображається у картці угоди, створення документів автоматизовано за стадіями воронки.

Архітектура інтеграції

Прямого API у 1С-ЕДО немає — він вбудований у 1С-конфігурацію. Тому інтеграція будується через ланцюжок:

Бітрікс24 (угода закрита)
  → Webhook → Middleware-сервіс
    → REST 1С (створити реалізацію)
      → 1С-ЕДО (автовідправка)
        → Оператор ЕДО → Контрагент
          → 1С: статус отримано
            → Middleware: polling 1С статусів
              → Bitrix24 REST API: оновити поле в угоді

Middleware — окремий сервіс (PHP/Node.js/Python), що є клеєм між Bitrix24 REST і 1С REST. Його завдання: трансляція подій і синхронізація даних.

Webhook від Бітрікс24 при зміні стадії

// Middleware: обробник webhook від Бітрікс24
// POST /webhooks/bitrix24/deal-stage

class DealStageWebhookHandler
{
    public function handle(array $payload): void
    {
        $dealId     = $payload['data']['FIELDS']['ID'];
        $stageId    = $payload['data']['FIELDS']['STAGE_ID'];
        $prevStage  = $payload['data']['FIELDS']['PREVIOUS_STAGE_ID'] ?? '';

        // Реагуємо тільки на конкретну стадію (закриття угоди)
        if ($stageId !== 'WON' && $stageId !== 'C1:WON') {
            return;
        }

        // Отримуємо дані угоди з Бітрікс24
        $deal = $this->b24->call('crm.deal.get', ['ID' => $dealId]);

        // Передаємо у 1С
        $onecResult = $this->onec->createRealization([
            'dealId'    => $dealId,
            'inn'       => $deal['UF_CRM_INN'],
            'amount'    => $deal['OPPORTUNITY'],
            'items'     => $this->getDealProducts($dealId),
        ]);

        // Записуємо ID документа у користувацьке поле угоди
        $this->b24->call('crm.deal.update', [
            'ID'     => $dealId,
            'FIELDS' => [
                'UF_CRM_1S_DOC_ID'     => $onecResult['docId'],
                'UF_CRM_EDO_STATUS'    => 'Очікує відправки',
                'UF_CRM_EDO_SENT_DATE' => date('d.m.Y H:i'),
            ],
        ]);
    }
}

REST-сервіс у 1С для прийому документів

На стороні 1С створюється опублікований HTTP-сервіс:

// У конфігурації 1С:
// Публікація HTTP-сервісу → CreateRealization
// URL: /1c/hs/bitrix/create-realization

Сервіс приймає JSON з параметрами угоди, створює документ «Реалізація товарів та послуг» у 1С, проводить його і ставить у чергу 1С-ЕДО на відправку.

Синхронізація статусів ЕДО назад у Бітрікс24

// Cron: кожні 15 хвилин
class EdoStatusSync
{
    public function run(): void
    {
        // Запитуємо у 1С список документів зі зміненими статусами за останню годину
        $changed = $this->onec->getChangedEdoStatuses(
            (new DateTime())->modify('-1 hour')
        );

        foreach ($changed as $doc) {
            $dealId = $this->getDealIdByDocId($doc['docId']);
            if (!$dealId) continue;

            $this->b24->call('crm.deal.update', [
                'ID'     => $dealId,
                'FIELDS' => [
                    'UF_CRM_EDO_STATUS' => $doc['edoStatus'],
                    'UF_CRM_EDO_SIGNED' => $doc['signedDate'],
                ],
            ]);

            // Додаємо запис у лог активності угоди
            $this->b24->call('crm.timeline.comment.add', [
                'ENTITY_TYPE' => 'deal',
                'ENTITY_ID'   => $dealId,
                'COMMENT'     => "ЕДО: статус змінено на «{$doc['edoStatus']}»",
            ]);
        }
    }
}

Кейс: інтеграція для IT-аутсорсингової компанії

50 менеджерів, 200–300 закритих угод/місяць, всі — на послуги (акти приймання робіт, рахунки-фактури). Бухгалтер створювала документи вручну у 1С після закриття угод — із затримкою 1–3 дні, з помилками у реквізитах (менеджери не завжди передавали вірні дані контрагента).

Реалізація:

  1. У Бітрікс24 додано поля угоди: ІНН, КПП, BoxId ЕДО, тип документа (акт/УПД). Поля заповнюються при роботі з угодою.

  2. При переході у стадію «Послуги надано» — webhook → Middleware → REST 1С. У 1С створюється акт, відправляється через 1С-ЕДО.

  3. У картці угоди — віджет застосунку Бітрікс24 (React, вбудований через CRM_DEAL_DETAIL_TAB), що показує статус ЕДО-документів по угоді з кнопкою «Відкрити у 1С».

  4. При підписанні акта контрагентом — 1С оновлює поле в угоді, угода автоматично переходить у стадію «Закрита. Документи підписано».

Показник До Після
Затримка створення документа 1–3 дні < 30 хвилин
Помилки у реквізитах ~15% угод < 2%
Видимість статусу ЕДО для менеджера Немає У картці угоди
Час бухгалтера на ЕДО ~3 год/день ~30 хвилин (контроль виключень)

Анулювання та коригування

При скасуванні угоди у Бітрікс24 — webhook на анулювання документа у 1С-ЕДО. Процедура: 1С відправляє пропозицію про анулювання контрагенту, при згоді — документ анулюється на стороні оператора.

if ($stageId === 'LOSE' && !empty($deal['UF_CRM_1S_DOC_ID'])) {
    $this->onec->annulDocument($deal['UF_CRM_1S_DOC_ID'], [
        'reason' => $deal['COMMENTS'] ?? 'Угоду скасовано',
    ]);
}

Склад робіт

  • Розробка Middleware-сервісу: webhook-обробники, REST-клієнти Б24 і 1С
  • Налаштування HTTP-сервісу у 1С
  • Налаштування 1С-ЕДО: правила автовідправки, типи документів
  • Користувацькі поля угоди у Бітрікс24
  • Синхронізація статусів: cron + timeline коментарі
  • Віджет у картці угоди (опціонально)
  • Тестування на реальних документах

Терміни: базова інтеграція (webhook → 1С → статуси назад) — 4–6 тижнів. З віджетом і обробкою анулювань — 7–10 тижнів.