Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН

Корректная привязка компаний к контактам и сделкам, правильное заполнение реквизитов компаний в Битрикс24 — залог успешного ведения бизнеса для многих наших заказчиков. Те, кто давно ведет клиентскую базу в Битрикс24 и контролирует, чтобы все сущности в CRM заполнялись верно, знают, что такой подход сильно сокращает процент ошибок при ведении продаж. Но не у всех получается наладить процессы и регламенты так, чтобы сотрудники корректно заполняли сущности. Часто происходит дублирование, накопление неправильно заполненных компаний и сделок, не привязанных к клиентам. Расскажем, как с минимальными усилиями решить проблему на примере интеграции Битрикс24 и сервиса DaData.

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН

1. Привязываем сделки к компаниям с сопоставлением по ИНН

Разберем ситуацию на примере нашего заказчика, который уже давно работает в Битрикс24. За время работы на портале накопилось около 2000 компаний, и далеко не все данные в них (реквизиты, ИНН и КПП) корректно заполнены и привязаны к сделкам.

Если вас интересует перенос дел в Битрикс24 из сделок в таймлайн компании с удалением дубликатов, читайте наш кейс.

Из-за того, что в сделке нет компании или компания привязана не к той сделке по ошибке, возникают проблемы в документах, нарушаются сроки контрактов и растет количество ручного труда на поиск нужных компаний и исправление ошибок. Иногда созданные вручную компании дублируют уже имеющиеся, что ведет к еще большей путанице. Из-за большого объема данных правильно настроить связи между сделками и компаниями становится очень тяжело. В итоге все это негативно влияет на продажи и работу компании.

Парсинг тела письма Битрикс24 с автоматическим созданием контактов и компаний с контролем дубликатов: читайте в статье.

Решить эту проблему возможно. Даже если ваши сотрудники не привыкли сразу корректно заполнять поля компании и привязывать компанию к сделке, это можно сделать автоматически массово без ручного труда. Для этого можно подключаться к сервису DaData и настроить интеграцию с Битрикс24 на платформе Пинкит.

Перенос дел из таймлайна сущности Контакт в таймлайн сущности Компания: подробнее здесь.

Сервис DaData помогает исправить уже готовую базу юридических лиц благодаря тому, что в нем собрана подтвержденная официальная информация из государственных справочников. Даже если у вас есть только ИНН или КПП компании, остальные поля можно подтянуть в Битрикс24 автоматически из справочника dadata.ru

Распознавание тела письма в Битрикс24 для сортировки поступающей корреспонденции от клиентов в Битрикс24: читайте по ссылке.

Алгоритм действий для решения задачи следующий:

1.1. Создаем специальные пользовательские поля в сделке: "ИНН" и "КПП".

1.2. Аналогичные поля создаем в компаниях.

1.3. При создании новой компании заполняем ИНН и/или КПП.

1.4. Интеграция автоматически проверяет ИНН / КПП в сделке и компании и создает связь при совпадении данных. Привязывать компанию вручную к сделке не нужно.

1.5. Если совпадение сделки с компанией по ИНН не найдено, мы создаем новую компанию и заполняем ее данными из dadata.ru плюс привязываем к сделке.

1.6. Для старых компаний, у которых не заполнено ИНН и КПП, настраиваем интеграцию для автоматического заполнения этих полей, чтобы не создавались дубли компаний.

Пример настройки интеграций рассмотрим далее.

2. Интеграция dadata.ru и Битрикс24 для привязки сделок к компаниям по полям ИНН и КПП

Для реализации данного алгоритма нам понадобится настроить несколько интеграций в личном кабинете Пинкит.

2.1. Добавление в сделку компании из Битрикс24/DaData по ИНН при создании сделки

2.1.1. Шаг 1: Откуда

Забираем данные из Битрикс24 при срабатывании события "Создание сделки":

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН

2.1.2. Шаг 2: Инструменты

  • Прервать если ИНН не заполнено

Используем проверку по названию поля - source.UF_CRM_***** (это специальное пользовательское поле ИНН). Условие - не пустое значение, действие - Продолжить, если проверка пройдена.

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН
  • Прервать если КПП заполнено

Используем проверку по названию поля - source.UF_CRM_***** (это специальное пользовательское поле КПП). Условие - Пустое значение, действие - Продолжить, если проверка пройдена.

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН
  • Поиск компании в Битрикс24 по ИНН

Используем API-запрос методом POST по ссылке /crm.company.list следующего вида:

{ "filter" : { "UF_CRM_***": {{source.UF_CRM_***}} } }

Вместо звездочек указываем код поля ИНН.

Заголовки:

Content-Type: application/json Accept: application/json
Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН
  • Получить реквизиты

Используем API-запрос методом POST по ссылке /crm.requisite.list следующего вида:

{ "filter" : { "ENTITY_TYPE_ID": 4, "ENTITY_ID": 1577 } }

Заголовки:

Content-Type: application/json Accept: application/json
Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН
  • ЕСЛИ компания найдена

Используем шаг Если-иначе, Название поля - step3.total (из предыдущего шага поиска компаний по ИНН). Если найденных компаний больше или равно 1, Результат при успешной проверке = 1, Результат при неуспешной проверке = 0.

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН
  • Добавляем в сделку найденную по ИНН компанию

Используем API-запрос методом POST по ссылке /crm.deal.update следующего вида:

{ "ID" : {{source.ID}}, "fields":{ "COMPANY_ID": {{step3.result.0.ID}} } }

Заголовки:

Content-Type: application/json Accept: application/json
Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН
  • ЕСЛИ компания не найдена

Используем шаг Если-иначе, Название поля - step3.total (из предыдущего шага поиска компаний по ИНН). Если найденных компаний больше или равно 1, Результат при успешной проверке = 0, Результат при неуспешной проверке = 1.

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН
  • То запрашиваем данные из DaData

Используем API-запрос методом POST по ссылке /4_1/rs/findById/party следующего вида:

{ "query":{{source.UF_CRM_****}}, "branch_type": "MAIN" }

Условие выполнения - step11 (если компания не найдена по ИНН).

Заголовки:

Content-Type: application/json Accept: application/json

Необходимо добавить на данном шаге доступ к учетной записи dadata.ru.

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН
  • Экранируем кавычки в названии компании

Чтобы техническое решение сработало, нам нужно заменить двойные кавычки в названиях компаний на одинарные.

Используем "Замену по регулярному выражению". Условие выполнения - step11, step11 - step7.suggestions.0.value, Регулярное выражение - /"/, Строка для замены - '.

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН
  • Добавляем компанию в Битрикс24 из DaData

Используем API-запрос методом POST по ссылке /crm.company.add следующего вида:

{ "fields":{ "TITLE": "{{step13}}", "UF_CRM_**": {{step7.suggestions.0.data.inn}}, "UF_CRM_**": {{step7.suggestions.0.data.kpp}}, "ADDRESS": "{{step7.suggestions.0.data.address.value}}" } }

Заголовки:

Content-Type: application/json Accept: application/json

Условие выполнения - step11.

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН
  • Прикрепляем компанию в сделку

Используем API-запрос методом POST по ссылке /crm.deal.update следующего вида:

{ "ID" : {{source.ID}}, "fields":{ "COMPANY_ID": {{step9.result}} } }

Заголовки

Content-Type: application/json Accept: application/json

Условие выполнения - step11.

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН
  • Прерывание

Используем проверку по полю source.ID. Условие - Число (меньше), Сравниваемое значение = 0, действие - Продолжить, если проверка пройдена.

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН

2.1.3. Шаг 3: Куда

Обновляем сделку для прикрепления к ней компании:

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН

2.1.4. Шаг 4: Сопоставление данных

Сопоставляем сделки по ID.

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН

2.1.5. Запускаем интеграцию.

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН

Аналогично настраиваем интеграцию, которая срабатывает не при создании сделки, а при ее обновлении. Для этого на первом шаге меняем событие на "Обновление сделки":

Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН

Если хотите сверять компании не только по ИНН, но и по КПП (для большей точности), на шаге "Инструменты" необходимо добавить следующий шаг:

  • Поиск компании в Битрикс24 по ИНН+КПП

Используем API-запрос методом POST по ссылке /crm.company.list следующего вида:

{ "filter" : { "UF_CRM_***": {{source.UF_CRM_***}}, "UF_CRM_***": {{source.UF_CRM_***}} } }
Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН

3. Итог

С помощью описанных интеграций можно быстро и без ошибок найти компанию, соответствующую сделке, по специальным пользовательским полям, и привязать ее к сделке.

Если компании на портале нет, она автоматически создается с заполнением полей из сервиса dadata.ru.

Регистрируйтесь в личном кабинете Пинкит по ссылке https://lk.pinkit.io/register и протестируйте интеграцию dadata.ru и Битрикс24 по данной инструкции самостоятельно.

Алексей Окара, основатель Пинол и продакт-менеджер Пинкит
Связка Dadata и Битрикс24 для привязки компаний к сделкам по ИНН
Начать дискуссию