Перенести данные в amoCRM можно тремя способами: стандартный импорт через CSV/Excel, интеграция с Google Таблицами, и миграция через API или сторонние сервисы (если переезжаете из другой CRM). Для большинства случаев хватает первых двух. Ниже — конкретно по каждому, с разбором типичных косяков, которые съедают часы времени.
Что реально поддерживает импорт, а что нет
Официально через встроенный импорт amoCRM принимает: контакты, компании, сделки, заметки к сделкам. Всё остальное — задачи, теги, история звонков, вложения — через стандартный CSV не загрузишь. Это первый момент, где люди теряются: заливают файл, потом ищут, куда делась история переписки.
Звонки и письма из другой CRM отдельным файлом не мигрируют — это либо ручная работа, либо API, либо специализированные подрядчики. Нет смысла это скрывать, лучше учесть заранее.
Форматы для импорта: XLS, XLSX, CSV. Google Таблицы — через отдельный виджет или выгрузку в CSV. Всё.
Импорт из Excel и CSV — шаг за шагом
Сначала про подготовку файла, потому что 80% проблем именно там.
Каждая сущность — отдельный лист или отдельный файл. Нельзя в одном файле смешать контакты и сделки. Первая строка — заголовки столбцов. Без объединённых ячеек. Без формул — только значения. Телефоны и email лучше привести к единому формату: +7XXXXXXXXXX, без пробелов и скобок.
Дальше: Настройки → Импорт данных → выбираешь тип (контакты / компании / сделки) → загружаешь файл. На следующем экране amoCRM показывает столбцы и просит сопоставить их со своими полями. Вот здесь не торопись — если поставить «Телефон» в поле «Email», система не ругнётся сразу, а просто запишет мусор.
Поле «Ответственный» — по умолчанию подтянется аккаунт, с которого идёт импорт. Если нужно распределить по менеджерам, добавь в файл столбец с email или именем сотрудника точно так, как они записаны в amoCRM.
После загрузки система показывает сколько строк принято, сколько пропущено. Пропущенные — смотришь в логе ошибок, там обычно «дубль» или «не заполнено обязательное поле».
Дубли — больная тема
amoCRM при импорте сравнивает контакты по email и телефону. Если совпадение найдено — либо обновит запись, либо создаст дубль, в зависимости от настроек в момент загрузки. Галочка «обновлять существующие» должна стоять, если у тебя уже есть часть базы в системе.
Но есть нюанс: если один контакт в базе записан с телефоном 89161234567, а в файле +79161234567 — система воспримет их как разные записи. Отсюда дубли пачками.
Я раньше думал, что достаточно один раз почистить файл перед загрузкой. Потом на проекте с базой 4 300 контактов получили 870 дублей — пришлось полдня сидеть с виджетом склейки. Обидно.
Google Таблицы: два варианта и один подводный камень
Первый вариант — просто выгрузить из Google Таблиц как CSV (Файл → Скачать → CSV) и дальше стандартным импортом. Работает, быстро, без лишних движений.
Второй вариант — виджет «Импорт из Google Таблиц» (например, NOVA или аналоги из маркетплейса amoCRM). Это уже для тех, кто хочет синхронизацию в обе стороны или автоматический импорт по расписанию. Стоит от 1 500 до 4 000 ₽/мес, настройка занимает от 40 минут до нескольких часов, если таблица сложная.
Подводный камень второго варианта: виджет требует чётко структурированную таблицу без мёрджей, без служебных строк сверху, без цветовой логики «это важный клиент, я покрасил красным». Всё что не в данных — убираем.
Переезд из другой CRM — это отдельная история
Если переезжаете из Битрикс24, RetailCRM, Megaplan или какой-то самописной системы — стандартного импорта не хватит. Там нужно:
Выгрузить из исходной CRM максимум данных (обычно CSV или Excel есть в любой системе). Разбить по сущностям. Почистить и привести к формату amoCRM. Загрузить сначала контакты и компании, потом сделки — потому что сделки привязываются к уже существующим контактам.
Связь «сделка → контакт» при импорте строится по совпадению email или телефона. Если в сделке нет контактных данных — она создастся без привязки. Потом ищи её в «неразобранных».
История взаимодействий (звонки, письма, встречи) из другой CRM в amoCRM через файл не переносится от слова совсем. Либо API, либо просто архивируешь старую систему как «читальный зал» и ведёшь новое в amoCRM с чистого листа. Второй вариант — чаще всего рабочее решение, хотя звучит пораженчески.
Несколько кейсов из практики
Ниша: оптовая торговля стройматериалами. База 6 700 контактов в Excel, часть записей с двумя телефонами в одной ячейке через запятую. После чистки и разбивки на отдельные столбцы — загрузка заняла 25 минут. Без чистки первая попытка дала 1 200 ошибок. Потратили на подготовку файла 3 часа — сэкономили два дня разбора мусора.
Ниша: онлайн-школа, 2 100 лидов из CRM на самописной платформе. Экспорт дал файл с кириллическими заголовками вида «Имя клиента» вместо «Имя» — amoCRM не сопоставила автоматически ни одно поле. Переименовали заголовки вручную, повторная загрузка прошла без ошибок. Потеряли 47 минут.
Ниша: агентство недвижимости, переезд из Битрикс24. 3 400 сделок, у 800 из них контакт был «Физлицо без телефона». При загрузке в amoCRM эти сделки создались без привязки к контактам. Пришлось вручную пройтись по 800 записям. Стоимость работы подрядчика — 18 600 ₽. Мораль: перед выгрузкой из исходной системы убеждаться, что у каждой сделки есть хотя бы один контакт с идентификатором.
Ниша: e-commerce, интеграция Google Таблиц через виджет. Таблица вела менеджер, который «для красоты» объединил верхние три строки под заголовок «БАЗА КЛИЕНТОВ Q1 2024». Виджет импортировал первую строку данных как заголовки полей. Результат — поле «Имя» заполнено значением «Иванов», поле «Телефон» — «Менеджер» и так далее по всем 340 строкам. Откат, чистка таблицы, повторный импорт — 2,8 часа и нервы.
Частые вопросы
Можно ли импортировать теги? Через стандартный импорт — нет. Через API — да. Есть сторонние виджеты, которые умеют теги при импорте, но это уже платная доработка.
Сколько строк за раз можно загрузить? Официально лимит — 50 000 строк за одну загрузку. На практике при файлах больше 10 000 строк иногда возникают таймауты — лучше бить на части по 5 000–7 000.
Как перенести задачи из другой CRM? Никак, через стандартный импорт. Задачи в amoCRM создаются вручную или через API. Если задач много — скрипт через API или сервис типа Albato/Make с нужным коннектором.
Импорт затрёт существующие данные? Только если стоит галочка «обновлять существующие записи» и система нашла совпадение по телефону/email. Без этой галочки — создаст новую запись рядом.
Можно ли откатить импорт? Нет встроенного отката. Поэтому — сначала тестируй на 10–20 строках, убеждайся, что всё сопоставилось правильно, и только потом заливай полную базу.
Кстати, последний пункт игнорируют примерно все. А потом приходится руками удалять 3 000 записей с кривыми полями. Видел такое трижды.