Серьезное внедрение Битрикс24 обязательно потребует интеграции с внешними системами. Например:
- Загрузка базы товаров в CRM из складского или другого учетного ПО.
- Синхронизация компаний-контрагентов с бухгалтерской или учетной программой.
- Привязка лидов и сделок к заявкам на склад или производство.
- Создание лидов при регистрации новых обращений в других системах (сайты, почта, электронные архивы и т.п.).
- Получение отчетов, включающих данные из Битрикс24 и других систем

Статья длинная, сначала вывод:
В Битрикс24 заложены базовые возможности для типовых задач интеграции, однако любая нетривиальная задача решается только программистом.
Сложность задач требует квалифицированного программиста с широким кругозором.
Дружественность Битрикс24 к внешнему программисту оставляет желать лучшего.
Мы оказываем услуги по сопровождению сайтов на Битриксеи много знаем о том, с какими проблемами обычно сталкиваются клиенты.
Для погружения в суть вопроса прочитайте статьи на близкие темы:
- Вводная статья о том, какие пути внедрения Битрикс24 существуют
Битрикс24 — не игрушка. Внедрение корпоративного портала и CRM - Статья с примером программной доработки Битрикс24
Большое внедрение Битрикс24. Проблемы и решения - Об интеграции сайтов на Битриксе с чем угодно
Интеграция Битрикса с лысым чертом
Интеграция сайта с Битрикс24. Связь с внешними системами. Лоскутная автоматизация.
— Г-голубчики, — сказал Федор Симеонович озадаченно, разобравшись
в почерках. — Это же п-проблема Бен Б-бецалеля. К-калиостро же доказал, что она н-не имеет р-решения.
— Мы сами знаем, что она не имеет решения, — сказал Хунта, немедленно ощетиниваясь.
— Мы хотим знать, как ее решать.
Братья Стругацкие, Понедельник начинается в субботу
У некоторых руководителей есть голубая мечта: “все — в одной программе”.в почерках. — Это же п-проблема Бен Б-бецалеля. К-калиостро же доказал, что она н-не имеет р-решения.
— Мы сами знаем, что она не имеет решения, — сказал Хунта, немедленно ощетиниваясь.
— Мы хотим знать, как ее решать.
Братья Стругацкие, Понедельник начинается в субботу
На практике получается монстр, в котором есть “почти все”. Например, нет почты. Или календарей. Или они есть, но “в аутлуке удобнее”.
На мой взгляд для большинства компаний ситуация, которую ИТ-снобы называют “лоскутная автоматизация” — норма жизни и ключ к эффективности.

Если каждый “лоскут” дешев, дружелюбен и открыт к обмену данными — то к короткой перспективе он решит задачу, а в долгой — даст гибкость.
Если же вы пытаетесь “решить все задачи” — внедрения не будет никогда, зато ИТ-департамент будет всегда загружен работой.
— А Битрикс24 — хороший “лоскут”?
С дружелюбием к пользователю и ценой у Битрикс24 все в порядке. Остается обмен данными с внешними системами и дружелюбие к программисту.
С чем должна обмениваться CRM?
С электронным документооборотом (или хотя бы архивом), учетной программой 1С, заявками на производство, путевыми листами и тому подобным.

С точки зрения программиста это синхронизации справочников, загрузки и выгрузки записей таблиц, уведомления и напоминания. Особо богата на коллизии и потому неприятна двусторонняя синхронизация. Задача не выглядит простой. И технически, и организационно.
Начнем.

Возможности для интеграции и проблемы при работе с внешними данными в Битрикс24. Настройка интеграции 1С и Битрикс
Стандартные возможности интеграции. Интеграция сайта с Битрикс24

— Как же он стрижет? Ведь головы у всех разные.
— Ну, это только до первого раза.
Старый анекдот про изобретателя шлема для стрижки
В Битрикс24 заложены некоторые возможности для интеграции и обмена данными.
Что? | Чем полезно? | Какие проблемы? |
CSV-Импорт и экспорт лидов, сделок, компаний и контактов CRM | Табличные данные из “старой системы” можно загрузить в Битрикс 24. Можно выгрузить данные для ручной обработки | Двустороннюю синхронизацию так не сделать. Файлы, задачи, связанные сущности не переносятся. Только вручную, без расписаний и автоматизации. |
Создание лидов через веб-формы БУС | Удобная передача данных с сайтов на Битриксе в Битрикс24. | Нет механизма обработки ошибок валидации данных на стороне Битрикс24. Списочные свойства передаются неправильно. Файлы не передаются. |
Интеграция с AD и 1С:ЗУП на уровне учетных записей пользователей, политик доступа и сквозной авторизации | Единый пароль в домене Windows и КП. Очень полезно если у вас в организации работает 5000 человек, и они не очень понимают зачем им портал. | “Лес доменов” не поддерживается. Учетная запись не создается в портале, пока пользователь не попытается войти. |
Интеграция с 1С:УТ на уровне справочника товаров и счетов | Передача товаров из 1С в Битрикс24. Синхронизация счетов и статусов оплаты. | Работает по https, в 1С это поддерживается с версии платформы 8.3.4. |
SEND&SAVE | Создание записей в CRM на основе электронных писем. Большой плюс — файлы прикрепляются к письму. | Работает достаточно странно, передаются не все данные. |
Передача заказов из интернет-магазина на БУС в Битрикс24 и работа с заказами из CRM | Легко настраивается, заказы передаются как сделки, товары ИМ сохраняются локально, доступно редактирование-на-лету из CRM. | Статусы заказов не связаны со стадиями сделок. |
Разработка приложений “третьего типа”, работающих с данными по API https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=5378&LESSON_PATH=3913.5377... | Можно сделать почти все Например, есть приложения для передачи базы контрагентов даже из 1С 7.7. https://www.bitrix24.ru/apps/?app=htmls.1c77 | Путь долог и суров. |
Есть весьма неплохая документация по REST API https://dev.1c-bitrix.ru/rest_help/crm/fields.php
Для презентации Битрикс24 наличия этой функциональности более чем достаточно.
Для реального внедрения — нет.
В живом бизнесе и данные немного другие, и 1С не той версии, и это не 1С, а вовсе даже SAP.
Итак, учтем что “из коробки” больше ничего нет и будем искать решения.

Загрузка базы товаров в CRM из 1С, складского или другого учетного ПО
Если у вас 1С не ниже версии 8.3.4, конфигурация “Управление торговлей”, “Управление небольшой фирмой” или “Комплексная автоматизация” — отлично! Читайте статью и настраивайте готовую интеграцию: https://www.bitrix24.ru/blogs/howto/integration1c.php
Интеграция с 1С-Битрикс. Цена вопроса

Если у вас другая программа, есть два варианта:
- заставить внешнюю систему сделать вид, что она — 1С;
- сделать свой интерфейс обмена силами программистов с обеих сторон: знающих вашу систему и специалистов по Битриксу.

Первый способ я рекомендую в тех случаях, когда для вашей учетной программы есть пристойные разработчики, которые способны изучить протокол обмена и поддержать его.
Слез, пота и крови будет много, но понятно куда двигаться, а схема “велосипеда” уже описана.
Если же на стороне учетного ПО никого вменяемого нет (или вы очень любите программировать сами), получите примитивную Excel-стайл выгрузку и пишите импорт.
Подобными упражнениями я рекомендую заниматься только на коробочной версии.
Придется погрузиться в API CRM, поработать с классами CCRMProduct и CCRMProductRow .
Для экстремалов есть и рискованный путь — писать прямо в базу данных

Структура таблиц вполне человеко-понятна.
Синхронизация компаний-контрагентов с бухгалтерской или учетной программой.
Есть готовый ручной импорт из CSV. Достоинства и недостатки описаны выше.
Для серьезной автоматизации это, разумеется, не годится.
Пути тут два:
- Покупка или разработка внешнего приложения “третьего типа” (работает даже в облачной версии ). Пример про 1С 7.7 я уже приводил;
Этот путь документирован и общем понятен, хотя выглядит неудобным. Масса ограничений для выполнения простых задач. - Написание модуля для прямого обмена данными на API Битрикса (годится только для коробки).
Поскольку все большие внедрения делаются на коробочных версиях, второй путь — самое прямое решение, хотя первый — более правильный с идеологической точки зрения.
- таблицы b_crm_contact и b_crm_company
- классы модуля CRM CCRMContact и CCRMCompany

Привязка лидов и сделок к заявкам на склад или производство
Представьте себе — вы сделали продажу. Обычно это означает выставление и оплату счета. Затем заказ уйдет в исполнение.
Почти всегда исполнение заказа отслеживается в какой-то программе.
Например, это будет заявка на склад. Или номер договора. Или ссылка на проект (который можно вести в Битрикс24 или другой системе).
По-хорошему хочется видеть в CRM нечто вроде такого:

В Битрикс24 ничего специально не сделано для поддержки такого процесса.
Тем не менее задача привязки внешней информации — вполне решаемая.
Для этого нужно сделать три вещи:
- Создать поля у сделки или лида для внесения номера или ссылки на внешнюю систему.
Внешняя система может возвращать информацию, например статус заявки или текстовое описание. Тогда для этого тоже надо сделать поля. - Сделать так, чтобы внешняя система получала информацию о заявках и отвечала на запросы.
Проще всего для этого написать обработчик события OnAfterCrmLeadUpdateдля первичного обращения к внешней системе и агент для регулярного опроса статусов. - Внешняя система может возвращать файл, а не просто текстовую строку.
Для того, чтобы из карточки лида можно было удобно его просматривать, придется изменить представление поля.
Это очень непростое изменение.
Придется изменить шаблон компонента crm.lead ,
который вызывает компонент crm.lead.show ,
который вызывает компонент crm.interface.form ,
который вызывает компонент crm.interface.form.tactile ,
который вызывает компонент main.interface.form .
main.interface.form является одним из наиболее низкоуровневых компонентов системы 1С-Битрикс и правильная его кастомизация — сложнейшая задача.

Создание лидов при регистрации новых обращений в других системах (сайты, почта, электронные архивы и т.п.).
Крайне рекомендуется обойтись одним из стандартных способов, описанных выше: передача данных лида из веб-форм сайта на БУС, создание лида из письма или сделки из заказа интернет-магазина.
Эти механизмы работают и не требуют к себе внимания.
Если же у вас все сложно (например, нужно создавать лиды по обращению системы электронного документооборота), приглашаем вас в волшебный мир классов модуля CRM, о котором мы уже говорили.
Это — любовь.

Схема примерно та же, что и с загрузкой товаров. Нам потребуются:
- таблица b_crm_lead
- класс модуля CRM CCRMLead
Получение отчетов, включающих данные из Битрикс24 и других систем
В CRM есть отчеты. Это и популярная “воронка продаж”, и предустановленные отчеты вроде “Объем сделок по менеджерам”

и даже конструктор отчетов.

Иногда нужно построить отчеты на основе внешних данных, которых в CRM Битрикс24 нет.
Есть два варианта: импортировать данные в Битрикс24 и пытаться получить отчетность в этой системе, или выгрузить данные для внешней обработки.

Несмотря на мои симпатии к Битрикс24, мне конструктор отчетов кажется неудобным, непрозрачным и сложным инструментом, а сами отчеты вызывают подозрения.
Я бы выгрузил данные в любую систему, хоть Excel, и работал с ними там.
Выгрузка первичных данных о сделках, лидах и счетах — задача относительно простая, и может быть корректно решена и вызовом методов классов, и просто запросами на чтение базы данных (разумеется, в случае коробочной версии).
А вот пытаться самостоятельно получить данные отчетов, которые генерирует Битрикс24, я бы крайне не советовал. Программный интерфейс для этого сложный, неочевидный и не документированный.
Вывод.
Внешняя интеграция, импорт данных и расширение функциональности Битрикс24 — сложная, но решаемая задача.
Кому поручать поддержку и сопровождение порталов Битрикс24?
Неопытные разработчики, как правило, недооценивают калибр задачи.
.

А опытных почти нет.
В ИНТЕРВОЛГЕ есть опытные аналитики и разработчики, специализирующиеся на Битрикс24. Мы решаем сложные задачи программирования для Битрикс24 и готовы вам помочь.Оставьте заявку, мы ее проанализируем и дадим свои рекомендации.