Интеграция Битрикс24 с 1С-ЭДО

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Интеграция Битрикс24 с 1С-ЭДО
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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 Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Интеграция Битрикс24 с 1С-ЭДО

В Битрикс24 нет встроенного модуля ЭДО. CRM умеет выставлять счета, формировать коммерческие предложения, но юридически значимый документооборот — УПД, акты, накладные с КЭП — остаётся вне системы. Менеджер работает в Битрикс24, закрывает сделку, а бухгалтер параллельно создаёт документы в 1С-ЭДО. Это разрыв: менеджер не видит статус документов, а бухгалтер не видит контекст сделки.

Интеграция Битрикс24 с 1С-ЭДО закрывает этот разрыв: статус ЭДО-документов отображается в карточке сделки, создание документов автоматизировано по стадиям воронки.

Архитектура интеграции

Прямой API у 1С-ЭДО нет — он встроен в 1С-конфигурацию. Поэтому интеграция строится через цепочку:

Битрикс24 (сделка закрыта)
  → Webhook → Middleware-сервис
    → REST 1С (создать реализацию)
      → 1С-ЭДО (автоотправка)
        → Оператор ЭДО → Контрагент
          → 1С: статус получен
            → Middleware: polling 1С статусов
              → Битрикс24 REST API: обновить поле в сделке

Middleware — отдельный сервис (PHP/Node.js/Python), который является клеем между Битрикс24 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 недель.