Міграція даних із сторонньої CRM до Бітрікс24

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Показано 1 з 1 послугУсі 1626 послуг
Міграція даних із сторонньої CRM до Бітрікс24
Середня
~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

Міграція даних зі сторонньої CRM у Бітрікс24

Перехід із Salesforce, HubSpot, Pipedrive або самописної CRM у Бітрікс24 — це не просто експорт CSV та імпорт. Кожна CRM має власну модель даних, логіку зв'язків і специфіку полів. Бітрікс24 — теж. Головне завдання міграції: не втратити зв'язки між сутностями та зберегти історичну цінність даних.

Структура даних Бітрікс24

Перш ніж мігрувати, потрібно розуміти, куди потрапляють дані. Ключові сутності Бітрікс24:

Сутність Таблиця БД REST API
Контакти b_crm_contact crm.contact.*
Компанії b_crm_company crm.company.*
Ліди b_crm_lead crm.lead.*
Угоди b_crm_deal crm.deal.*
Активності (дзвінки, листи) b_crm_activity crm.activity.*
Користувацькі поля b_uts_crm_* crm.*.userfield.*

Зв'язки: контакт прив'язаний до компанії через b_crm_company_contact, угода — до контакту через b_crm_deal_contact.

Інструменти міграції

REST API Бітрікс24 — офіційний і найнадійніший метод. Підтримує пакетні запити (batch), що критично при перенесенні тисяч записів:

$batchCalls = [];
foreach ($contacts as $contact) {
    $batchCalls['create_contact_' . $contact['id']] = [
        'method' => 'crm.contact.add',
        'params' => [
            'fields' => [
                'NAME'       => $contact['first_name'],
                'LAST_NAME'  => $contact['last_name'],
                'EMAIL'      => [['VALUE' => $contact['email'], 'VALUE_TYPE' => 'WORK']],
                'PHONE'      => [['VALUE' => $contact['phone'], 'VALUE_TYPE' => 'WORK']],
                'COMPANY_ID' => $companyMapping[$contact['company_id']] ?? null,
                'UF_CRM_SOURCE_ID' => $contact['id'], // Зберігаємо ID джерела
            ],
        ],
    ];
}

// Надсилаємо пакет (до 50 запитів за раз)
$result = $b24->callBatch(array_slice($batchCalls, 0, 50));

Пряме записування в БД — для хмарного Бітрікс24 недоступне. Для коробкової версії — прискорює масовий імпорт, але потребує ручного перебудування індексів і обережності з тригерами.

Маппінг полів: найбільш трудомістка частина

Кожне поле джерела потрібно зіставити з полем Бітрікс24. Приклад маппінгу з HubSpot:

HubSpot Бітрікс24 Примітка
firstname + lastname NAME + LAST_NAME Розділення
email EMAIL[0].VALUE Тип: WORK
phone PHONE[0].VALUE Нормалізація
company COMPANY_ID Створити компанію окремо
lifecyclestage STATUS_ID Маппінг стадій
hs_lead_status Користувацьке поле UF_CRM_HS_STATUS
createdate DATE_CREATE Лише через прямий SQL (коробка)

Нестандартні поля HubSpot переносяться в користувацькі поля Бітрікс24 (UF-поля). Їх потрібно створити заздалегідь через crm.contact.userfield.add.

Порядок створення сутностей

Порядок важливий через референсну цілісність:

  1. Компанії (у контактів і угод немає залежностей вище)
  2. Контакти (прив'язка до компаній)
  3. Угоди (прив'язка до контактів і компаній)
  4. Активності — дзвінки, листи, завдання (прив'язка до угод/контактів)
  5. Коментарі та історія — через crm.timeline.comment.add

Після створення кожної сутності зберігаємо маппінг: source_id → b24_id. Це потрібно для прив'язки залежних об'єктів.

$mappingFile = 'migration_map.json';
$mapping = json_decode(file_get_contents($mappingFile), true) ?: [];
$mapping['contacts'][$sourceContact['id']] = $b24ContactId;
file_put_contents($mappingFile, json_encode($mapping));

Обробка дублікатів

Сторонні CRM часто містять дублікати контактів (одна людина під різними email). Перед міграцією — дедублікація в джерелі. Стратегії:

  • Жорстка: один унікальний email = один контакт. Дублікати об'єднуються.
  • М'яка: переносимо всі записи, потім використовуємо вбудований інструмент дедублікації Бітрікс24 (Контакти → Дублікати).

Рекомендується м'яка стратегія — зберігає всі дані, дедублікацію менеджери роблять у процесі роботи.

Історія активностей: дзвінки та листи

Перенесення історії комунікацій — опційна, але цінна частина. Дзвінки з джерела → crm.activity.add з типом CALL:

$b24->call('crm.activity.add', [
    'fields' => [
        'OWNER_TYPE_ID' => 3, // 3 = контакт, 2 = угода
        'OWNER_ID'      => $mapping['contacts'][$call['contact_id']],
        'TYPE_ID'       => 2, // Дзвінок
        'SUBJECT'       => 'Дзвінок від ' . date('d.m.Y', strtotime($call['created_at'])),
        'DESCRIPTION'   => $call['notes'],
        'START_TIME'    => $call['created_at'],
        'END_TIME'      => $call['ended_at'],
        'DIRECTION'     => $call['direction'] === 'inbound' ? 1 : 2,
        'COMPLETED'     => 'Y',
    ],
]);

Контроль якості міграції

Після перенесення — обов'язкове звірення:

# Джерело
SELECT COUNT(*) FROM hubspot_contacts WHERE is_deleted = 0;
# → 12 847

# Бітрікс24
SELECT COUNT(*) FROM b_crm_contact WHERE DELETED = 'N';
# → 12 839  ← 8 записів втрачено — розслідуємо

Розбіжності логуються та аналізуються: зазвичай це дублікати або записи з невалідними даними (порожній email, некоректний телефон).

Терміни виконання

Обсяг даних Термін
До 5 000 контактів + угоди без історії 1–2 тижні
5 000–50 000 записів + базові активності 3–6 тижнів
50 000+ записів + повна історія комунікацій 2–4 місяці

Успішна міграція — це коли менеджери в Бітрікс24 наступного дня бачать повну історію відносин з клієнтами, наче завжди працювали тут.