Frappe CRM: лёгкая CRM на открытом коде и чем она отличается от CRM внутри ERPNext
Frappe CRM — отдельное open-source приложение для продаж на стеке Frappe: свой интерфейс, раздельные Lead и Deal, канбан и дашборды. От модуля CRM внутри ERPNext оно отличается моделью данных и интерфейсом. Разбираю возможности, интеграции и пределы по документации и коду.
Что такое Frappe CRM и чем она не является
Frappe CRM — отдельное приложение, которое разрабатывает команда Frappe. Оно лицензируется под AGPL-3.0, число пользователей не ограничено, а интерфейс написан на Vue поверх библиотеки Frappe UI и не использует классический Frappe Desk. Устанавливается рядом с ERPNext или самостоятельно, на своём сайте Frappe. Если ваша основная система учёта ERPNext, то это её «лёгкая» компаньонка для продаж; наш вариант ERPNext под ключ описан на странице ERPNext под ключ, и CRM из этой статьи является отдельным шагом поверх него.
Чем она не является, скажу сразу, чтобы не разочаровать. Это не замена учётной системы: склада, закупок и бухгалтерии в Frappe CRM нет, они остаются в ERPNext. Это не система с телефонией «в коробке»: звонки идут через внешние аккаунты. И это не «ещё один интерфейс к модулю CRM из ERPNext», а самостоятельная модель данных со своими DocType, о которой следующий раздел.
Про зрелость. По README репозитория ветка main (версия 1.x) помечена как стабильная и совместима с Frappe и ERPNext версий 15 и 16, а develop (2.x) названа нестабильной и рассчитана на develop и v17. Последний релиз на момент проверки (1 октября 2026 года) — v1.86.0 от 30 сентября 2026 года, то есть проект живой и обновляется часто. В нашей базе знаний есть оговорка экспертов сообщества от января 2026 года не ставить приложение в боевую среду без проверки; к этому вернусь в разделе о зрелости.
Для кого она подходит. Для отдела продаж, который хочет современный интерфейс, канбан и дашборды без лицензий за место, и для компании, которая либо уже на стеке Frappe, либо готова поддерживать его. Для компании без администратора и без желания разбираться в bench она рискованна: обновления часто, а самостоятельная настройка требует понимания контейнеров.
Lead и Deal: чем модель отличается от встроенной CRM ERPNext
Встроенная CRM в ERPNext идёт по цепочке Lead, Opportunity, Quotation. У Lead в версии 15 поле Status принимает значения Lead, Open, Replied, Opportunity, Quotation, Lost Quotation, Interested, Converted и Do Not Contact, а у Opportunity свои статусы Open, Quotation, Converted, Lost, Replied и Closed. Эти документы связаны со складом и счетами через общие справочники, что делает цепочку «от лида до отгрузки» сквозной.
В Frappe CRM иначе. Там два собственных DocType, CRM Lead и CRM Deal. Статусы по умолчанию для лида: New, Contacted, Nurture, Qualified, Converted, Unqualified, Junk. Статусы сделки: Qualification, Demo/Making, Proposal/Quotation, Negotiation, Ready to Close, Won, Lost. Это ближе к тому, как мыслят продавцы: лид это человек, которого ещё нужно квалифицировать, а сделка это конкретная возможность с суммой, датой закрытия и продуктами.
У сделки есть таблица продуктов, поля ожидаемой суммы, ожидаемой даты закрытия и причины потери, а также SLA-поля: срок ответа, время первого ответа, статус SLA. У лида есть оценка и температура. Это поля, которых в старой модели ERPNext нет в таком виде.
Сравнение в сжатом виде: | Параметр | CRM внутри ERPNext | Frappe CRM | |---|---|---| | Тип | модуль ядра | отдельное приложение | | Интерфейс | Desk | Vue, Frappe UI | | Сущности | Lead, Opportunity, Quotation | CRM Lead и CRM Deal | | Канбан | отдельный вид списка | встроен в интерфейс | | Лицензия | GPLv3 | AGPL-3.0 | | Склад и закупки | есть в той же системе | только через ERPNext | | Зрелость | зрелая | развивается, main названа стабильной |
Ещё одно отличие, на которое я обратил внимание в документации: в Frappe CRM лид превращается в сделку, а не «продолжается» в ту же запись. Это даёт чистую историю, но означает, что настройки и отчёты, которые вы привыкли строить на Lead и Opportunity, придётся переписать. Если вы уже работаете в ERPNext с накопленными лидами, переход это проект, а не переключатель.
Интерфейс, канбан и дашборды: что есть в приложении
Первое, что видит продавец, это страница Lead и Deal «всё в одном»: активность, комментарии, заметки, задачи и письма собраны на одной странице. По документации в карточке работают переписка по электронной почте с цепочками, задачи и заметки, а звонки и записи подтягиваются при подключённой телефонии. Для менеджера это экономит клики: не нужно прыгать между вкладками, чтобы понять, где стоит сделка.
Канбан-доска показывает сделки по этапам, карточки перетаскиваются между колонками. Рядом доступны пользовательские виды списка с фильтрами, сортировкой и выбором колонок, а также быстрые фильтры, которые настраиваются в администрировании. Для руководителя есть дашборд: воронка, прогноз закрытия, распределение по территориям и динамика продаж. Это не BI-система, но для еженедельной планёрки хватает.
Из удобного для администратора: карточку сделки можно настроить визуально, меняя вкладки, секции и колонки полей без кода. Работает назначение ответственных по правилам и иерархия продаж. Веб-форму для приёма заявок с сайта и импорт и экспорт CSV документация тоже называет. Для небольших команд этого достаточно, чтобы начать без разработчика.
Что остаётся за пределами: отчёты сложнее дашборда, продвинутые процессы согласования, вложенные подразделения со сложными правами. Если вам нужен Workflow с несколькими шагами согласования коммерческого предложения, такие вещи приходится решать на стороне ERPNext или отдельной доработкой. Я бы не обещал «из коробки» то, чего нет в документации приложения.
Интеграции: Meta, телефония, WhatsApp и что с ними в российских реалиях
По документации Frappe CRM умеет забирать лиды из рекламных форм Meta (Facebook и Instagram) через раздел Lead Syncing в настройках. Функция помечена как Beta, ошибки пишутся во вкладку Failure Logs с трассировкой и исходными данными. В полях лида есть идентификаторы формы и лида Facebook. Для российской компании рекламный канал Meta сам по себе вопрос отдельный, поэтому проверяйте актуальность до планирования.
Телефония: встроены Twilio и Exotel для входящих, исходящих звонков и записи. Важное ограничение, которое новички упускают: приложение не оператор связи, нужен внешний платный аккаунт у этих провайдеров. Click-to-call через API российской АТС в нашей базе числится в списке проверок, готового подтверждённого решения я не называю. Если вам критичны звонки через местную АТС, закладывайте разработку интеграции и тестируйте её на стенде.
WhatsApp подключается через отдельное приложение frappe_whatsapp. Правила самой платформы жёсткие: инициировать диалог от лица бизнеса можно только по заранее одобренным шаблонам, а свободные сообщения возможны в 24-часовое окно после ответа клиента. Это ограничение Meta, а не приложения, и о нём нужно помнить при проектировании рассылок. Как устроена переписка с клиентами в мессенджерах на практике, разобрано в материале про переписку с клиентами в Telegram.
Интеграция с ERPNext отдельная: в приложении есть настройка ERPNext CRM Settings с адресом сайта ERPNext, ключами API, компанией и флагами двусторонней синхронизации товаров и создания клиента при смене статуса сделки. По документации из сделки создаются коммерческие предложения и заказы. Как это ведёт себя на вашей версии и на разных сайтах, проверяйте на стенде: поле «ERPNext установлен на другом сайте» говорит о том, что вариант двух сайтов предусмотрен, но нюансы настройки я бы проверил руками.
Электронная почта подключается через почтовые аккаунты с поддержкой шаблонов. Для российских клиентов это обычно рабочий IMAP и SMTP, и здесь больших сюрпризов нет. Перед внедрением загрузите тестовый ящик и посмотрите, как выглядят цепочки писем в карточке.
- Meta Lead Syncing: Beta, ошибки смотреть во вкладке Failure Logs.
- Twilio и Exotel: нужен внешний платный аккаунт, CRM не оператор связи.
- WhatsApp: шаблоны Meta, свободные сообщения только в 24-часовом окне.
- ERPNext: настройка в ERPNext CRM Settings, проверить на своей версии.
Зрелость и ограничения: почему без проверки в production не ставим
Из нашей базы знаний: ветка develop (2.x) ломала мастер настройки ERPNext 15, и пользователь, который по ошибке поставил именно её, терял возможность пройти Setup Wizard. Лечение известно: удалить приложение, выполнить миграцию и повторно пройти мастер. Команды выглядят так, имя-сайта подставьте свой:
bench --site имя-сайта uninstall-app crm
bench --site имя-сайта migrateУрок отсюда простой, и он общий для всех приложений Frappe: версию ветки указывают явно. Если вы ставите приложение по официальной инструкции для production, в параметрах задаётся образ ghcr.io/frappe/crm и версия stable, а не абы какая ветка. Скрипт easy-install.py из README делает развёртывание в Docker и принимает проект, адрес электронной почты для сертификата, образ, версию, приложение и имя сайта. Параметры сверяйте с актуальным README, потому что они меняются.
Что я считаю реальными ограничениями. Первое: частые релизы. Номер релиза 1.86 и свежая дата говорят о быстрой разработке, и это одновременно плюс и риск для production: между релизами могут меняться экраны и настройки. Второе: бедность отчётов относительно зрелых CRM. Третье: российские каналы, например телефония через местную АТС, в документации приложения не описаны. Четвёртое: сложные согласования в стиле Workflow ERPNext в документации приложения тоже не упоминаются, и я не обещаю их без проверки.
Поэтому рекомендация такая. Если вам нужна стабильная CRM прямо сейчас и опыта на стеке Frappe нет, возьмите зрелую систему вроде EspoCRM и обменивайтесь с ERPNext через API. Если нужен единый стек и вы готовы тестировать, ставьте Frappe CRM на тестовом сайте с вашей версией ERPNext и проверяйте обновления на копии перед боевым сервером. Для вопроса выбора учётной системы в целом есть материал какую систему учёта на Linux выбрать.
Отдельно про безопасность установки. В демонстрационном контейнере учётная запись Administrator идёт с паролем по умолчанию, и документация прямо требует его сменить. Не публикуйте такой стенд в интернет. Это та мелочь, которую пропускают, когда «просто попробовать».
«Сорок Ветров»: консалтинг на 21 место выбирает между двумя CRM
Разбираю условный пример. Консалтинговая фирма «Сорок Ветров»: 21 рабочее место, из них восемь консультантов по продажам и пресейлу, десять исполнителей проектов и трое в управлении и финансах. Продажи идут через рекомендации и тендерные площадки, цикл от месяца до четырёх, суммы сделок разные. Цифры вымышлены для иллюстрации, это не реальный клиент.
Исходное положение: проекты и часы сотрудников они уже ведут в ERPNext (проекты, табели, счета). Продажи живут в таблицах. Нужно решить, подключать встроенную CRM ERPNext или ставить Frappe CRM для отдела продаж. Критерии: удобство для продавцов, чистота лидов, связь с проектами после выигрыша.
Они проводят двухнедельный пилот на тестовом сайте ERPNext 16 и Frappe CRM из ветки main. Встроенная CRM удобна тем, что выигранная возможность превращается в клиента и проект без обмена, но продавцы жалуются на интерфейс, а при включённой настройке Auto Creation of Contact в CRM Settings каждый лид порождает контакт и засоряет справочник. Frappe CRM нравится им больше: канбан, сделка со всей перепиской на одной странице, оценка лидов. Минус: надо настроить ERPNext CRM Settings, договориться, когда создаётся клиент, и обучить пользователей двум интерфейсам.
Решение «Сорок Ветров» принимают так: для отдела продаж ставят Frappe CRM после полной проверки обновления на копии, клиента в ERPNext создают по смене статуса сделки, проекты ведут там же. Условия возврата: если после очередного релиза пилотная проверка не проходит, продавцы возвращаются к встроенной CRM с выгрузкой через CSV. Это контролируемый риск, а не вера в систему.
Какие вопросы я задаю такой компании до внедрения. Кто отвечает за обновления приложения и кто принимает решение о переходе на новую версию? Где лежит резервная копия, и как её проверяют? Что произойдёт, если Frappe CRM придётся заменить? Если на два из трёх нет ответа, пилот идёт, а боевой запуск откладывается.
Частые вопросы
Что такое Frappe CRM и чем она отличается от CRM в ERPNext?
Frappe CRM — отдельное приложение с интерфейсом на Vue без классического Frappe Desk и с разделением CRM Lead и CRM Deal. CRM в ERPNext — встроенный модуль ядра с цепочкой Lead, Opportunity, Quotation. Данные хранятся в разных DocType, поэтому переход требует переноса.
Frappe CRM бесплатна?
Да, лицензия AGPL-3.0, число пользователей не ограничено. Платите за сервер, настройку и сопровождение, а внешние сервисы вроде телефонии Twilio или Exotel подключаются отдельно и тарифицируются их провайдерами.
Можно ли использовать Frappe CRM в production?
README называет ветку main (1.x) стабильной для Frappe и ERPNext 15 и 16, develop (2.x) нестабильной. Эксперты сообщества в январе 2026 советовали не ставить без проверки. Мой порядок: тестовый сайт, обновление на копии, потом боевой сервер.
Какие интеграции есть у Frappe CRM?
Синхронизация лидов из Meta (статус Beta), телефония Twilio и Exotel с записью разговоров, WhatsApp через приложение frappe_whatsapp, почтовые аккаунты и настройки ERPNext CRM Settings. Для российских реалий каждый канал проверяйте отдельно на стенде.
Frappe CRM или EspoCRM: что выбрать?
Frappe CRM, если уже есть или планируется ERPNext и нужна одна экосистема. EspoCRM, если нужна только CRM со зрелым Entity Manager, порталом и правилами автоматизации. Сравнивайте на двухнедельном пилоте с тестовым импортом 20–30 записей.
Как установить Frappe CRM?
Для production README предлагает скрипт easy-install.py с образом ghcr.io/frappe/crm и версией stable, для проверки docker compose с демо-сайтом и учётной записью Administrator. Пароль по умолчанию сразу меняйте и не открывайте такой стенд наружу.
Источники
- Frappe CRM, README репозитория — Лицензия AGPL-3.0, ветки main (1.x, стабильная, Frappe/ERPNext 15 и 16) и develop (2.x, нестабильная), команды easy-install и docker compose. https://github.com/frappe/crm
- Frappe CRM, документация — Lead, Deal, канбан, дашборд, интеграции Meta, WhatsApp, Twilio и Exotel, веб-форма, CSV. https://docs.frappe.io/crm
- Frappe CRM, исходный код DocType и install.py — Поля CRM Lead и CRM Deal, статусы по умолчанию, DocType ERPNext CRM Settings. https://github.com/frappe/crm/tree/main/crm
- ERPNext version-15, исходный код DocType Lead и Opportunity — Значения статусов Lead и Opportunity. https://github.com/frappe/erpnext/tree/version-15/erpnext/crm/doctype
