Вступ
Клієнт звернувся до нас із завданням перенесення бази контактів із системи Kommo CRM у Keepin CRM. Це поширене завдання під час зміни платформи автоматизації, однак через різницю у структурі зберігання інформації процес потребує додаткової обробки даних.
Наш клієнт — компанія, що є постачальником сантехніки та обладнання для водопостачання й теплопостачання. Раніше ми виконували роботи з автоматизації логістики, з якими можна ознайомитися за посиланням.

Вихідні дані
Клієнт зіткнувся з проблемою несумісності форматів даних між двома CRM-системами:
- У Kommo CRM контакти зберігалися в горизонтальному форматі — кожен контакт в окремому рядку
- Зв’язок контакту з компанією реалізовано через окреме поле в рядку контакту
- У частини контактів була відсутня електронна пошта (приблизно 15% бази)
- Ручна обробка таблиці з 500 контактами займала близько 4–5 годин роботи
- За статистикою, при ручній конвертації допускалося до 8% помилок
- Перенесення великих баз (понад 1000 контактів) ставало практично нездійсненним завданням
Завдання
Після детального аналізу структури даних обох CRM-систем, серії консультацій із клієнтом та вивчення вимог до імпорту в Keepin CRM ми визначили ключові завдання:
- Перетворити горизонтальну структуру даних (кожен контакт у рядку) на вертикальну (компанія в рядку, контакти в колонках)
- Сгрупувати контакти за належністю до компаній
- Реорганізувати спосіб зберігання даних контактів (номери телефонів, email) відповідно до вимог Keepin CRM
- Розв’язати проблему відсутніх email-адрес у частини контактів
- Створити автоматизоване рішення для конвертації даних в один клік
- Забезпечити масштабованість рішення для обробки баз будь-якого розміру
Що робили
Початкова проблема:
- Вигляд експортованих даних — горизонтальний
- Кожен елемент записано в один рядок
- Колонка «Компанія» задається окремо для кожного елемента
- У контакта може бути відсутня пошта

Таблиця даних
Необхідний вигляд:
- Відображення елементів — вертикальне
- Назву компанії потрібно вказувати в таблиці один раз
- Кожен контакт компанії має розташовуватись у рядку цієї компанії (кількість контактів = кількість колонок)
- Дані контакту (телефон, пошта) повинні зберігатися в окремих колонках
- Поле «email» при імпорті обов’язково повинно бути заповнене

Новий вигляд даних
Розробка рішення
Ми створили спеціалізований скрипт для Google Таблиць, який автоматизує весь процес конвертації даних:
- Виділення унікальних компаній
- алгоритм аналізує експортовані дані й формує список унікальних назв компаній;
- кожній компанії призначається окремий рядок у новій таблиці.
- алгоритм аналізує експортовані дані й формує список унікальних назв компаній;
- Групування контактів за компаніями
- для кожного рядка вихідної таблиці визначається компанія;
- усі дані контакту переносяться в рядок відповідної компанії.
- для кожного рядка вихідної таблиці визначається компанія;
- Динамічне формування структури
- система визначає кількість колонок для кожної компанії залежно від числа контактів;
- автоматично додаються нові колонки за потреби.
- система визначає кількість колонок для кожної компанії залежно від числа контактів;
- Обробка відсутніх даних
- для контактів без email-адрес створюються тимчасові пошти за допомогою регулярних виразів;
- використовується шаблон з динамічною нумерацією для унікальності.
- для контактів без email-адрес створюються тимчасові пошти за допомогою регулярних виразів;
- Оптимізація продуктивності
- скрипт обробляє великі обсяги даних зі швидкістю близько 100 елементів на секунду;
- реалізовано індикатор прогресу.
- скрипт обробляє великі обсяги даних зі швидкістю близько 100 елементів на секунду;
Складнощі
- Відмінність у логіці зберігання даних у різних CRM вимагала глибокого аналізу структур
- Необхідність обробки контактів без email при тому, що в Keepin CRM це обов’язкове поле
- Потреба у масштабованому рішенні для баз будь-якого розміру
- Оптимізація алгоритму для швидкої роботи з великими масивами даних
Результати
У результаті ми створили повністю автоматизований скрипт для Google Таблиць, який:
- перетворює горизонтальну структуру у вертикальну;
- групує контакти за компаніями;
- приводить дані до формату, сумісного з Keepin CRM;
- генерує тимчасові email-адреси для контактів без пошти;
- працює зі швидкістю близько 100 елементів/секунду.
Процес міграції даних став повністю автоматизованим і не потребує ручної роботи:
достатньо завантажити експортовані дані та запустити скрипт — конвертація відбувається в один клік.
Висновки
Розроблене рішення допомогло клієнту вирішити комплексне завдання міграції даних між CRM-системами.
Переваги:
- Економія часу та ресурсів: обробка бази на 500 контактів скоротилася з 4–5 годин до 5 хвилин.
- Надійність: повністю виключені помилки, пов’язані з людським фактором.
- Масштабованість: швидкість 100 елементів/секунду дозволяє швидко працювати навіть із великими базами.
- Збереження даних: усі зв’язки між контактами та компаніями збережені; проблема відсутніх email-адрес вирішена без втрати інформації.
Це рішення дозволило клієнту безболісно змінити CRM-систему, зберігши всю напрацьовану клієнтську базу й забезпечивши безперервність бізнес-процесів.
Потрібна оптимізація роботи CRM-системи?
Компанія CRM EXPERTS — ваш надійний партнер у світі CRM-систем. Для цього залиште заявку на сайті crmexperts.ua або напишіть нам у месенджери. Запишіться на безкоштовну консультацію, і наші фахівці обов’язково допоможуть вам вирішити всі питання.