Розробка інтеграції Бітрікс24 з ERP-системами
Ви запускаєте виробництво, але менеджери бачать у CRM залишки триденної давнини. Бухгалтерія виставляє рахунки в ERP, а відділ продажів не знає про оплату. Це наслідок розриву між фронт-офісом (Бітрікс24) і бек-офісом (ERP). Ми проєктуємо та реалізуємо безшовну синхронізацію, щоб дані текли без ручного перенесення.
Типові сценарії синхронізації охоплюють довідники контрагентів, товарний каталог із залишками, замовлення та фінансові документи. Для контрагентів ключем служить ІПН, для товарів — XML_ID з 1С. Помилки в маппінгу призводять до дублікатів і втрати даних, тому аналітиці приділяється особлива увага. Кожен сценарій вимагає налаштування механізму обміну: через REST API, файли або черги повідомлень.
Вибір архітектури — ключовий етап. Пряме з'єднання «точка-точка» — антипатерн, воно не масштабується і ламається при зміні API. Ми використовуємо інтеграційну шину (RabbitMQ або Kafka), мікросервіс-адаптер або файловий обмін. Вибір залежить від кількості інтегрованих систем, бюджету та вимог до продуктивності. Порівняння показало, що шина ефективніша за пряме з'єднання в 3–5 разів за надійністю, а її окупність становить 2–3 місяці. Бюджет на розробку адаптера варіюється, але в більшості випадків не перевищує зарплати одного розробника за півроку, а окупається за рахунок виключення ручної праці.
Типові сценарії синхронізації
- Довідники контрагентів: клієнт з ліда → компанія в CRM → контрагент в ERP. Ключ зв'язку — ІПН у користувацькому полі.
- Товарний каталог і залишки: ERP — джерело правди. Бітрікс24 отримує актуальні залишки та ціни через API або черги.
- Замовлення: угода у статусі «Договір підписаний» → замовлення в ERP. Статус виконання з ERP оновлює стадію угоди.
- Фінансові документи: рахунки з CRM → ERP для обліку, платежі з ERP → CRM для закриття угод.
Як вибрати архітектуру інтеграції?
Пряме з'єднання «точка-точка» — антипатерн. Воно швидко ламається при зміні API і не масштабується. Згідно з документацією REST API Бітрікс24, рекомендований підхід — використання вебхуків і зовнішніх обробників. Ми застосовуємо три перевірені схеми:
- Інтеграційна шина (ESB/iPaaS). Бітрікс24 і ERP спілкуються через RabbitMQ або Apache Kafka. Шина нормалізує формати, гарантує доставку, зберігає історію. Enterprise-стандарт.
- Мікросервіс-адаптер. Легкий PHP-сервіс, який знає обидва API. Приймає події, трансформує, викликає ендпоїнти. Простіше в реалізації, поступається шині при зростанні інтеграцій.
- Файловий обмін через FTP/S3. Для ERP без API (застарілі версії SAP, окремі конфігурації 1С). ERP вивантажує XML/CSV за розкладом, адаптер парсить і записує в Бітрікс24. Лаг — кілька хвилин.
Порівняння показало, що шина ефективніша за пряме з'єднання в 3–5 разів за надійністю та часом налагодження. Окупність інтеграції становить 2–3 місяці за рахунок виключення ручного перенесення даних.
Інтеграція з 1С:ERP
Найчастіший запит в Україні. Технічні варіанти:
- Через REST API Бітрікс24 + HTTP-сервіс 1С. 1С публікує ендпоїнти, адаптер ініціює запити для синхронних операцій (перевірка залишків). Для асинхронних подій 1С надсилає вебхук на Бітрікс24.
- Через штатний CommerceML. Розширюємо протокол під CRM-сценарії: контрагенти, замовлення, рахунки. Компромісний варіант.
- Через проміжну БД. 1С записує зміни в окрему PostgreSQL, адаптер читає та публікує. Повільніше, але ізолює ERP від прямого навантаження.
Аналогічні підходи застосовні для інтеграції з SAP, Odoo та іншими ERP.
Чому важлива трансформація даних?
Моделі даних не збігаються. Приклад: в ERP контрагент — юрособа з ІПН/КПП, договорами. У Бітрікс24 — crm.company з полями та контактами. Маппінг виглядає так:
| ERP-сутність | Бітрікс24-сутність | Ключ зв'язку |
|---|---|---|
| Контрагент | crm.company | ІПН (UF_INN) |
| Договір | crm.deal (тип «Договір») | Номер договору (UF_CONTRACT_ID) |
| Номенклатура | Товар каталогу (crm.product) | Код 1С (XML_ID) |
| Замовлення покупця | crm.deal | Номер замовлення ERP (UF_ERP_ORDER_ID) |
| Рахунок на оплату | crm.invoice | Номер рахунку ERP (UF_ERP_INVOICE_ID) |
Ключі зберігаються в користувацьких полях UF_* — це забезпечує ідемпотентність.
Як побудувати інтеграцію: покроковий план
- Аналітика та карта даних: визначаємо потоки, маппінг, майстер-систему.
- Вибір архітектури: шина, адаптер або файловий обмін.
- Розробка прототипу: один сценарій для перевірки зв'язності.
- Реалізація всіх сценаріїв, включаючи трансформацію та обробку помилок.
- Тестування на реальних даних: граничні випадки, навантаження, конфлікти.
- Міграція історичних даних та запуск у пілотному режимі.
- Моніторинг та підтримка після запуску.
Управління конфліктами
При двосторонній синхронізації конфлікти неминучі. Стратегії:
- Майстер-система: для кожного типу даних призначається джерело правди. Ціни та залишки — з ERP, коментарі — з Бітрікс24.
- Timestamp-based merge: перемагає пізніший запис. Просто, але ламається при одночасних змінах.
- Блокування: поле помічається як «в синхронізації» до отримання підтвердження. Надійно, складно реалізувати.
Що входить до роботи
- Аналітика та карта даних (схема потоків, маппінг полів)
- Розробка адаптера або налаштування шини
- Тестування на реальних даних (граничні випадки, навантаження)
- Документація та навчання команди
- Підтримка протягом 3 місяців після запуску
Коли потрібна заміна штатного обміну 1С?
Штатний CommerceML підходить для інтернет-магазинів, але для CRM-сценаріїв його функціоналу часто недостатньо. Ми або розширюємо його, або реалізуємо окремий адаптер через HTTP-сервіси 1С і REST API Бітрікс24. Це дає гнучкість і позбавляє обмежень CommerceML.
Моніторинг та налагодження
Інтеграція — довгоживуча система. Потрібен контроль:
- Розмір черги повідомлень, кількість повідомлень, що впали
- Помилки трансформації (невідповідність типів, відсутність довідників)
- Лаг синхронізації (час від зміни в джерелі до появи в цілі)
- Дашборд у Grafana або штатні звіти Бітрікс24
Етапи проєкту
| Етап | Зміст | Строк |
|---|---|---|
| Аналітика та ТЗ | Карта даних, сценарії, вибір архітектури | 2–3 тижні |
| Прототип адаптера | Один сценарій (наприклад, синхронізація контрагентів) | 1–2 тижні |
| Розробка основних сценаріїв | Повний набір інтеграційних потоків | 3–6 тижнів |
| Маппінг довідників | Приведення НСД до єдиного вигляду | 1–2 тижні |
| Тестування | Граничні випадки, навантаження, конфлікти | 1–2 тижні |
| Міграція історичних даних | Перенесення накопиченої бази | 1–3 тижні |
| Пілот та стабілізація | Робота на обмеженому обсязі даних | 1–2 тижні |
Проєкт інтеграції — не разова задача, а довгострокова система, яку потрібно підтримувати при оновленні будь-якої з платформ. Закладайте це в бюджет з самого початку.
Зв'яжіться з нами для попереднього аудиту та дорожньої карти. Замовте розробку інтеграції — ми оцінимо вашу архітектуру безкоштовно.







