1С Битрикс · 5 мин чтения

Как выгрузить базу клиентов из Битрикс24 в Excel или CRM

Официальные лицензии Битрикс24, Облако и Коробка

Продажа и продление по официальным ценам. Подберу тариф под масштабы бизнеса, быстро оформлю ключи и помогу развернуть систему.

Подробнее об услуге

Выгрузить базу клиентов из Битрикс24 нужно в трёх типичных случаях: компания переходит на другую CRM, перед чисткой дублей делают резервную копию, или данные из CRM нужны для внешней аналитики и рассылок, которые Битрикс24 не строит из коробки. В статье разберу три рабочих способа: экспорт через интерфейс, выгрузку через REST API и автоматическую синхронизацию с другой системой без ручного копирования строк.

Когда без выгрузки базы клиентов не обойтись

На практике запрос на выгрузку базы клиентов из Битрикс24 приходит по одной из четырёх причин.

Первая - миграция на другую CRM. Компания вырастает из тарифа Битрикс24 или переходит на AmoCRM, RetailCRM или самописную систему под свои процессы, и нужно перенести контакты, компании и историю сделок без потерь.

Вторая - резервная копия перед чисткой базы. Прежде чем запускать скрипт объединения дублей или массовое удаление старых лидов, я снимаю полную выгрузку: если автоматика отработает не так, как задумано, откатиться можно только по бэкапу.

Третья - интеграция с внешней аналитикой. Excel-отчёты для руководителя, BI-дашборд или email-рассылка через отдельный сервис требуют регулярной выгрузки контактов, а не разового экспорта.

Четвёртая - увольнение сотрудника с широким доступом к CRM. В такой момент часть компаний выгружает срез базы клиентов, закреплённых за этим менеджером, чтобы зафиксировать состояние на дату передачи дел.

Экспорт контактов и компаний через интерфейс Битрикс24

Самый быстрый способ выгрузить базу клиентов из Битрикс24 - воспользоваться встроенным экспортом. В разделе CRM открываете список контактов или компаний, настраиваете нужные колонки и фильтр, затем через меню действий выбираете экспорт в CSV или Excel.

Что попадает в Excel-файл

В файл экспорта попадают:

  • стандартные поля: имя, телефон, email, должность, источник;
  • кастомные поля, которые завели под свои процессы;
  • ответственный менеджер и дата создания записи;
  • привязка контакта к компании по ID.

Ограничения ручного экспорта

У ручного экспорта из интерфейса есть практические ограничения, с которыми я сталкивался у разных клиентов.

Экспорт не тянет историю звонков, писем и активности по сделкам - выгружаются только карточки контактов и компаний, без событий.

Кастомные поля типа «список» и «привязка к элементу» иногда выгружаются кодами значений, а не читаемым текстом, приходится потом вручную сверять справочник.

При базе больше 5-10 тысяч записей экспорт из интерфейса подвисает или обрывается - на практике разбиваю выгрузку по фильтру на дату создания или на ответственного, чтобы не терять данные при обрыве.

Кодировка при открытии CSV в Excel периодически съезжает на кракозябры, если не указать явно UTF‑8 при импорте: помогает открытие через «Данные - из текста/CSV» вместо двойного клика по файлу.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

Перенос базы через REST API Битрикс24

Когда нужно перенести базу клиентов в другую CRM целиком, вместе со сделками и связями, интерфейсного экспорта недостаточно, поэтому работаю через REST API. Для этого в Битрикс24 создаётся входящий вебхук с правами на чтение CRM, и через него скрипт запрашивает данные напрямую.

Методы crm.contact.list и crm.company.list отдают за один запрос до 50 записей, поэтому выгрузка большой базы идёт постранично. Дополнительно можно указать select с нужными полями и filter по дате создания, чтобы забирать только новые записи при повторных запусках.

Пример скрипта на Python

import requests

webhook = "https://your-domain.bitrix24.ru/rest/1/xxxxxxxxxxxxxxxx/"
contacts = []
start = 0

while True:
    response = requests.post(webhook + "crm.contact.list", json={
        "select": ["ID", "NAME", "LAST_NAME", "PHONE", "EMAIL", "COMPANY_ID"],
        "start": start
    }).json()

    contacts.extend(response["result"])

    if "next" not in response:
        break
    start = response["next"]

print(f"Выгружено контактов: {len(contacts)}")

Такой скрипт можно доработать под выгрузку сделок, звонков и писем: структура запроса та же, меняется только метод. Разработку скрипта миграции данных из Битрикс24 в другую CRM обычно веду как отдельную задачу с ТЗ на маппинг полей - можно заказать настройку такого переноса, если нужен готовый результат, а не самостоятельная разработка.

Автоматическая синхронизация с другой CRM через n8n

Если базу клиентов из Битрикс24 нужно выгружать не разово, а регулярно, ручной запуск скрипта неудобен. У одного клиента был магазин на Tilda с оплатой через T‑Bank и доставкой СДЭК: заказы падали в Битрикс24 через вебхук, а раз в неделю нужно было выгружать свежих клиентов для email-рассылки. Настроил сценарий в n8n: по расписанию нода HTTP Request забирает новых контактов из Битрикс24 через REST API, фильтрует по дате создания и записывает в Excel-файл на сервере компании либо сразу пушит в другую CRM тем же способом.

Из практики: у REST API Битрикс24 есть лимит на число запросов в секунду на один вебхук, при превышении сервер отвечает ошибкой QUERY_LIMIT_EXCEEDED. В сценарии n8n между запросами ставлю паузу и обработку повторных попыток, иначе синхронизация на большой базе падает в середине выгрузки.

Сравнение способов выгрузки базы клиентов из Битрикс24

Способ Что выгружает Ограничение Когда подходит
Экспорт из интерфейса контакты и компании, стандартные и кастомные поля без истории активности, зависает на больших объёмах разовый отчёт или сверка данных
REST API и скрипт контакты, компании, сделки, звонки, связи между сущностями нужен вебхук и разработка под маппинг полей миграция на другую CRM
Сценарий в n8n по расписанию то же, что API, плюс регулярный запуск нужна настройка workflow и учёт лимита запросов в секунду постоянная синхронизация без участия разработчика после запуска

Частые вопросы

Можно ли выгрузить вместе с контактами историю звонков и переписки?

Через интерфейсный экспорт нет, выгружаются только карточки. Через REST API да, отдельными методами: voximplant.statistic.get для звонков и crm.activity.list для писем и задач, с привязкой по ID контакта или сделки.

Сколько стоит перенос базы клиентов в другую CRM?

Разработка скрипта миграции у меня стоит от 20 000 ₽, итоговая сумма зависит от количества полей, объёма базы и того, нужна ли синхронизация в обе стороны или разовый перенос.

Почему после экспорта в Excel в кастомных полях вместо текста стоят цифры?

Поля типа «список» в Битрикс24 хранят внутренний ID значения, а не текст, и при обычном экспорте он не всегда подтягивается читаемым. Через REST API с параметром select и обращением к справочнику поля значения выгружаются уже текстом.

Как часто нужно делать резервную выгрузку базы клиентов?

Перед любой массовой операцией с базой: чисткой дублей, импортом, сменой ответственных, и минимум раз в месяц для регулярного бэкапа, если такой автоматизации в компании ещё нет.

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно