Выгрузка данных из amoCRM в Excel — обязательный навык для аналитиков, менеджеров и владельцев бизнеса. Без этого невозможно построить отчёты вне системы, проанализировать исторические данные или перенести информацию в другие сервисы. Однако не все пользователи знают, что в amoCRM есть сразу 5 способов экспорта — от ручного сохранения таблиц до автоматизированной выгрузки через API.
В этой статье разберём все актуальные методы: от базового экспорта списков сделок до продвинутых скриптов для массовой выгрузки с фильтрацией. Особое внимание уделим нюансам форматирования (почему даты в Excel отображаются как числа), ограничениям бесплатного тарифа и способам обойти их. Если вам нужно выгрузить не только контакты, но и историю звонков, комментарии или кастомные поля — здесь найдёте решение.
1. Базовый экспорт через интерфейс amoCRM
Самый простой способ — использовать встроенную функцию экспорта прямо из раздела Сделки, Контакты или Компании. Этот метод подходит для разовых выгрузок небольших объёмов данных (до 10 000 строк).
Чтобы выгрузить данные:
- 📌 Откройте нужный раздел (например,
Сделки) и примените фильтры (по статусу, ответственному, дате создания). - 📊 Нажмите кнопку
Ещё(три точки) в правом верхнем углу таблицы и выберитеЭкспорт в Excel. - 💾 Укажите, какие столбцы включить в выгрузку (по умолчанию экспортируются только видимые на экране).
- 📥 Дождитесь генерации файла — он автоматически скачается в формате
.xlsx.
⚠️ Внимание: В бесплатном тарифе amoCRM экспорт ограничен 500 строками за одну операцию. Чтобы выгрузить больше данных, разбейте запрос на части по фильтрам (например, по месяцам).
2. Экспорт отчётов и дашбордов
Если вам нужны не сырые данные, а готовые отчёты (например, конверсия по воронке, динамика продаж), используйте раздел Аналитика. Здесь можно выгрузить:
- 📈 Воронку продаж — с разбивкой по этапам и конверсией.
- 📊 Отчёт по менеджерам — количество сделок, суммы, средний чек.
- 📅 Динамику по периодам — сравнение месяцев, кварталов.
Инструкция:
- Перейдите в
Аналитика → Отчёты. - Выберите тип отчёта (например,
Воронка продаж). - Настройте период и фильтры (по пиплайнам, ответственным).
- Нажмите
Экспорт → Excel.
🔹 Важный нюанс: В экспортируемых отчётах нет детализации по конкретным сделкам — только агрегированные данные. Если нужны IDs сделок или контактов, используйте метод из первого раздела.
3. Выгрузка через API: для технических специалистов
Для автоматизированной выгрузки больших объёмов данных (например, еженедельных отчётов) подходит REST API amoCRM. Этот метод требует знаний JavaScript/Python или использования сервисов типа Zapier/Make.
Базовый алгоритм:
- Получите
client_id,client_secretиredirect_uriв настройках интеграций (Настройки → Интеграции → API). - Авторизуйтесь по протоколу OAuth 2.0.
- Отправьте
GET-запрос к эндпоинту (например, для сделок:/api/v4/leads). - Обработайте ответ и сохраните данные в
.xlsx(можно использовать библиотеки xlsx для Python или SheetJS для JavaScript).
Пример запроса на Python:
import requests
import pandas as pd
url = "https://{subdomain}.amocrm.ru/api/v4/leads"
headers = {
"Authorization": "Bearer {access_token}"
}
params = {
"with": "contacts,catalog_elements",
"limit": 250
}
response = requests.get(url, headers=headers, params=params)
data = response.json()["_embedded"]["leads"]
df = pd.DataFrame(data)
df.to_excel("amo_leads.xlsx", index=False)
⚠️ Внимание: API имеет лимиты:
- 50 запросов в секунду;
- 10 000 объектов за один запрос (используйте пагинацию с параметром
page).
При превышении лимита amoCRM вернёт ошибку 429 Too Many Requests.
Как обойти лимиты API?
Используйте параметр limit=250 и пагинацию (page=1,2,3...). Между запросами добавляйте задержку time.sleep(1) (для Python).
4. Экспорт кастомных полей и дополнительных сущностей
По умолчанию amoCRM не экспортирует кастомные поля, историю изменений или прикреплённые файлы. Чтобы их выгрузить, нужно:
| Тип данных | Как экспортировать | Ограничения |
|---|---|---|
| Кастомные поля | В ручном экспорте включите их в настройках столбцов. Через API используйте параметр with=custom_fields. |
В Excel кастомные поля отображаются как JSON-строки — потребуется парсинг. |
| История звонков | Через API: эндпоинт /api/v4/unsorted/calls или интеграцию с телефонией. |
Без API история звонков не экспортируется. |
| Комментарии и заметки | API-эндпоинт /api/v4/leads/{id}/notes (требуется ID сделки). |
Нет массовой выгрузки — нужно перебирать сделки в цикле. |
| Файлы (документы, скриншоты) | Через API: эндпоинт /api/v4/leads/{id}/attachments. |
Файлы приходят в формате base64 — потребуется декодирование. |
🔹 Практический совет: Для выгрузки кастомных полей в удобном виде используйте Google Apps Script с парсингом JSON. Пример скрипта:
function parseCustomFields(json) {
const customFields = JSON.parse(json);
let result = "";
customFields.forEach(field => {
result += `${field.name}: ${field.values[0].value}\n`;
});
return result;
}
5. Автоматизация выгрузки: Zapier, Make, Google Sheets
Если вам нужна регулярная выгрузка без программирования, подключите amoCRM к сервисам автоматизации:
- 🤖 Zapier: триггер
New Lead→ действиеAdd Row to Google Sheets. - ⚙️ Make (ex-Integromat): сценарий с модулями
amoCRM → Google Drive. - 📑 Google Sheets: используйте функцию
=IMPORTDATAс API amoCRM (потребуется скрипт для аутентификации).
Пример настройки в Make:
- Создайте новый сценарий, добавьте модуль
amoCRM → Watch Leads. - Настройте фильтр (например, только закрытые сделки).
- Добавьте модуль
Google Sheets → Add a Rowи сопоставьте поля. - Запустите сценарий по расписанию (например, каждый понедельник в 9:00).
⚠️ Внимание: Бесплатные тарифы Zapier и Make ограничивают количество задач (100/месяц). Для массовой выгрузки потребуется платный аккаунт.
Получить API-ключи в amoCRM|Создать шаблон таблицы в Google Sheets|Настроить фильтры для экспорта|Протестировать первый запуск-->
6. Распространённые ошибки и их решения
При выгрузке данных из amoCRM пользователи часто сталкиваются с типичными проблемами:
- 🔢 Дата в формате числа: Excel интерпретирует timestamp как числовое значение. Решение: в настройках столбца выберите формат
Датаи укажите тип14.03.2001. - 📉 Пустые ячейки: Не все поля экспортируются по умолчанию. Решение: вручную добавьте нужные столбцы в настройках выгрузки.
- 🔄 Дублирующиеся сделки: При экспорте из разных воронок. Решение: используйте фильтр по
pipeline_id. - 🚫 Ошибка 403 Forbidden: Недостаточно прав доступа. Решение: проверьте роль пользователя в настройках amoCRM.
🔹 Критический нюанс: Если вы выгружаете данные для 1С или другой бухгалтерской программы, убедитесь, что:
- Суммы сделок экспортируются без разделителей тысяч (например,
100000, а не100 000); - Дата указана в формате
ДД.ММ.ГГГГ(а неММ/ДД/ГГГГ); - Номера телефонов начинаются с
+7(а не8).
7. Альтернативные способы: выгрузка через SQL и вебхуки
Для продвинутых пользователей есть ещё два метода:
1. Прямой доступ к базе данных amoCRM (доступно только на корпоративных тарифах). Позволяет выполнять SQL-запросы вида:
SELECT
leads.id,
leads.name,
leads.price,
contacts.name AS contact_name
FROM leads
LEFT JOIN contacts ON leads.main_contact_id = contacts.id
WHERE leads.status_id = 142
2. Вебхуки для выгрузки в реальном времени. Настройка:
- Перейдите в
Настройки → Интеграции → Вебхуки. - Добавьте новый вебхук с событием
add lead. - Укажите URL вашего обработчика (например, скрипт на PHP или Node.js).
- В обработчике сохраняйте данные в
.xlsxс помощью библиотеки PhpSpreadsheet или ExcelJS.
⚠️ Внимание: Вебхуки требуют HTTPS-протокола и статического IP-адреса для сервера. При использовании локального хостинга (например, OpenServer) настройте туннель через ngrok.
FAQ: Частые вопросы по выгрузке из amoCRM
Можно ли выгрузить историю изменений сделки (кто и когда менял статус)?
Да, но только через API. Используйте эндпоинт /api/v4/leads/{id}/history. В ручном экспорте эта информация недоступна. Обратите внимание, что история хранится ограниченное время (зависит от тарифа).
Почему в выгруженном Excel некоторые ячейки содержат формулы вместо значений?
Это происходит, если в кастомных полях amoCRM использовались вычисляемые поля (например, =SUM()). Чтобы получить конечные значения, откройте Excel и нажмите Ctrl + C → Правка → Специальная вставка → Значения.
Как выгрузить данные за последний год, если в amoCRM только 3 месяца истории?
В бесплатном тарифе история хранится 3 месяца, в платных — от 6 до 24 месяцев. Чтобы выгрузить старые данные:
- Обновите тариф (хотя бы на месяц).
- Используйте резервные копии (если они сохранялись через API).
- Обратитесь в поддержку amoCRM — иногда они восстанавливают архивные данные за плату.
Можно ли выгрузить данные в Google Таблицы напрямую?
Да, двумя способами:
- Через API + Google Apps Script (требуется настройка).
- Через сервисы автоматизации (Zapier, Make).
Готовое решение: официальный шаблон от amoCRM.
Как выгрузить данные из amoCRM в 1С?
Для интеграции с 1С используйте:
- Готовые коннекторы (например, "1С:Интеграция с amoCRM" от фирмы 1С).
- Обмен через Excel: выгрузите данные в
.xlsx, затем импортируйте в 1С черезЗагрузка данных из табличного документа. - API + HTTP-запросы из 1С (требует программиста).
⚠️ Важно: в 1С поля Дата и Сумма должны соответствовать формату 1С (например, дата как 20260515 для 15 мая 2026).