Перенос исторических данных из Excel в Битрикс24 без потерь и дублей
Крупное деловое издание годами копило данные о своих конференциях в десятках Excel-файлов: регистрации, партнёры, компании, контакты, тарифы. Работать с этим как с CRM было невозможно — открыть карточку компании и увидеть, на каких мероприятиях она была и что покупала, не получалось. Мы перенесли все эти данные в Битрикс24: собрали на вайбкоде загрузчик-скрипт, а сам процесс загрузки контролировала нейросеть. Тысячи связанных записей переехали с первой попытки — без дублей и потерь.
Клиент и задача
Наш клиент — крупное деловое издание, которое регулярно проводит конференции и деловые мероприятия. На каждое собираются участники, партнёры, компании; фиксируются регистрации, тарифы, роли. Изданию важно анализировать, кто на какие конференции ходит, какие тарифы берёт, кто из сотрудников компании-партнёра участвует и в какой роли.
Вся эта история хранилась в Excel: много мероприятий — много файлов. В каждом — свой срез данных: компании, контакты, регистрации, тарифы. Данные связаны между собой, а полей — множество.
Проблема: в Excel данные лежат, но не работают
Excel хорош, пока данных немного и они не связаны. Но как только нужно посмотреть на клиента целиком — по каким конференциям он ходил, какие тарифы покупал, кто из его сотрудников участвовал и в каких ролях — разрозненные таблицы бессильны.
«Здорово, когда открываешь карточку компании и видишь, по каким конференциям она ходила, какие тарифы покупала, кто из сотрудников и в каких ролях участвовал. С Excel-файлами такой возможности нет». — Иван Шум, соучредитель и генеральный директор Соль
Задача звучала просто: загрузить эти данные в Битрикс24. Но простой она была только на словах.
Почему стандартный импорт не подошёл
Штатными загрузчиками Битрикс24 данные загрузить, в принципе, можно. Но когда файлов около пяти и все они связаны — компании в одном, контакты в другом, регистрации в третьем, тарифы в четвёртом — взаимосвязи между загруженными записями приходится проставлять чуть ли не вручную. На объёме это превращается в кропотливую, долгую и ошибкоопасную работу.
Мы приняли решение грузить не штатными средствами, а отдельным скриптом-загрузчиком, который сам разложит данные по объектам Битрикс24 и правильно свяжет их между собой.
Решение: загрузчик на вайбкоде под контролем ИИ
Самописный скрипт под такую задачу — штука непростая сразу с двух сторон. Во-первых, он должен поддерживать всю логику: загрузку полей, объектов и связей между ними. Во-вторых — и это критично при работе с облачным Битрикс24 — скрипт не должен «отвалиться» на полпути. Если загрузка прервётся посередине, перезапустить её без риска задвоить данные сложно.
Мы собрали загрузчик целиком на вайбкоде. Но пошли дальше: саму загрузку тоже вёл ИИ. Нейросеть контролировала процесс — следила, чтобы каждая запись из Excel загрузилась полностью, без искажений, без потерь и без дублей.
Перед боевым запуском мы сделали полную копию среды — структуру данных клиента без самих клиентских данных — на тестовом облаке. Прогнали загрузку на большом объёме, убедились, что ничего не рвётся и не теряется. И только после этого запустили загрузчик на боевом портале.
Чем это отличается от стандартного импорта:

| Стандартный импорт Excel | Загрузчик на вайбкоде | |
|---|---|---|
| Связи между таблицами | проставляются в полуручном режиме | скрипт связывает записи сам |
| Объём | тяжело и долго | тысячи записей за прогон |
| Риск дублей и потерь | высокий, особенно при сбое | под контролем нейросети, без дублей |
| Проверка перед боем | как правило, нет | прогон на копии среды без клиентских данных |
| Стоимость | дороже (ручная работа + контроль) | существенно бюджетнее |
Стандартный импорт против загрузчика на вайбкоде для переноса данных в Битрикс24
Сложности
Главная сложность была именно в надёжности загрузки в облако. Оборванный на середине скрипт — это не «просто запустим заново»: при повторном прогоне легко получить дубли, а потом их вычищать. Поэтому столько внимания ушло на тестовую среду и на контроль со стороны нейросети — чтобы боевой запуск прошёл с первого раза и по-чистому.
Результат
«Тысячи записей были загружены, никаких дублей не случилось — всё с первой попытки и хорошо получилось». — Иван Шум, соучредитель и генеральный директор Соль
Кейс существенно сэкономил клиенту бюджет. Во-первых, задача в принципе оказалась реализуемой. Во-вторых — заметно дешевле, чем если бы её оценивал и реализовывал человек, а потом ещё и вручную контролировал всю загрузку. Ручной перенос такого объёма занял бы гораздо больше времени и почти наверняка дал бы ошибки просто из-за количества данных.
Что дальше
Главное — история клиента больше не заперта в Excel: с данными в Битрикс24 можно полноценно работать, видеть клиента целиком и строить по нему аналитику. Тот же подход — загрузчик на вайбкоде с контролем ИИ — переносится на любую следующую миграцию.
Кому это пригодится
Решение подойдёт любому бизнесу, который перерос Excel и хочет перенести историю в CRM без потерь: где данные копились годами, разложены по множеству связанных таблиц, и просто «загрузить» их штатными средствами не выходит. Чем больше объём и чем сложнее связи между данными, тем сильнее выигрыш загрузчика на вайбкоде перед ручным переносом.
Признак, что у вас та же боль: важная история клиентов, сделок или участников живёт в Excel, перенести её в CRM страшно (долго, дорого, риск потерять) — и поэтому она так и остаётся мёртвым грузом в таблицах.
Часто задаваемые вопросы
Можно ли перенести данные из Excel в Битрикс24 без потерь?
Да. Для сложных случаев со связанными таблицами мы собираем отдельный скрипт-загрузчик, а сам процесс переноса контролирует нейросеть — она следит, чтобы каждая запись загрузилась полностью, без искажений и дублей.
Чем скрипт-загрузчик лучше стандартного импорта?
Штатный импорт грузит таблицы по отдельности, а связи между записями приходится восстанавливать вручную. Скрипт разбирает структуру и связывает данные сам — компании, контакты, регистрации и тарифы встают на свои места автоматически.
Не появятся ли дубли при переносе?
Мы сначала прогоняем загрузку на копии среды без клиентских данных, а на боевом портале процесс ведёт нейросеть с контролем полноты и уникальности записей. В этом кейсе тысячи записей загрузились с первой попытки без единого дубля.
Что происходит со связями между записями?
Связи сохраняются: в карточке компании видно, на каких мероприятиях она была, какие тарифы покупала, кто из сотрудников участвовал и в какой роли — то, ради чего данные и переносят из Excel в CRM.
Что такое вайбкод и почему загрузчик собрали именно на нём?
Вайбкод — это способ собирать решения, описывая задачу обычными словами: ИИ пишет код, а специалист направляет и проверяет. Под нестандартную задачу вроде сложной миграции со связями это быстрее и дешевле классической разработки — не нужно неделями писать и отлаживать скрипт с нуля.
Нужен ли программист и что ещё можно собрать на вайбкоде?
Для точечных задач отдельный разработчик всё чаще не нужен. Но там, где всё критично к данным и структуре — как в этом переносе, — нужна экспертиза интегратора, чтобы ничего не потерялось. На вайбкоде мы собираем не только загрузчики, но и отчёты, чат-ботов и интеграции под конкретный процесс — например, бота-юриста для проверки договоров.