10 мин чтения2 июля 2026 г.

Создание кастомных модулей в EspoCRM: возможности и стоимость

Стандартная EspoCRM «из коробки» содержит около 15 предустановленных сущностей: Контакты, Компании, Сделки, Задачи, Звонки, Встречи, Электронные письма и другие. Для большинства компаний этого достаточно чтобы начать. Но уже через 2-3 месяца появляет


Три уровня кастомизации EspoCRM

EspoCRM построена по принципу открытой архитектуры. Это значит что расширять систему можно на разных уровнях в зависимости от задачи и бюджета.

Уровень 1: No-code через Entity Manager

Entity Manager: инструмент в административной панели EspoCRM для создания новых сущностей и полей без написания кода. Доступен любому администратору системы.

Что можно сделать:

  • Создать новый тип объекта (сущность) с любым набором полей
  • Добавить поля к существующим сущностям: текст, число, дата, список, валюта, файл, связь с другой сущностью
  • Настроить отображение: какие поля показываются в списке, в карточке, в компактном виде
  • Определить связи между сущностями: один-ко-многим, многие-ко-многим
  • Создать кастомные вкладки и панели в интерфейсе
  • Управлять обязательными полями и значениями по умолчанию

Создание новой сущности с 10-15 полями через Entity Manager занимает 1-3 часа. Без программиста, без разработки, без лишних затрат.

Уровень 2: Low-code через Formula и Workflows

Formula: язык формул для вычисляемых полей. Похож на Excel-формулы: позволяет рассчитывать значения полей на основе других полей, дат, условий. Примеры: автоматически рассчитать маржу сделки из суммы и себестоимости, установить приоритет сделки на основе суммы и срока, сформировать текстовое поле «Сводка» из нескольких полей.

Workflows: визуальный конструктор автоматизаций. Триггер (событие в системе) запускает набор действий. Без программирования настраиваются сценарии:

  • При смене статуса сделки в «Договор подписан»: создать задачу «Выставить счёт» ответственному
  • При создании нового лида: назначить ответственного по очереди (round-robin)
  • При пропуске срока задачи: отправить уведомление руководителю
  • При входящем звонке с нового номера: создать лид и задачу «Перезвонить»
  • При дате «Следующий контакт» минус 3 дня: отправить напоминание менеджеру

Сложность Workflows зависит от сценария: простые автоматизации (отправить письмо при событии) настраивает опытный администратор за 20-30 минут. Сложные цепочки с условиями: 2-4 часа или привлечение интегратора.

Уровень 3: PHP-модули для нестандартной логики

Когда стандартных инструментов недостаточно: разрабатываются кастомные PHP-модули. Это полноценный программный код который расширяет функциональность EspoCRM.

На уровне PHP-модулей возможно:

  • Интеграция с любым внешним API (1С, маркетплейсы, отраслевые системы)
  • Сложная бизнес-логика: нестандартные расчёты, многошаговые процессы с ветвлением
  • Кастомные страницы и интерфейсные компоненты в системе
  • Работа с файлами: генерация PDF, разбор входящих документов
  • Вебхуки и двусторонняя синхронизация с внешними системами

PHP-модули устанавливаются через административную панель и при обновлениях EspoCRM остаются работоспособными (если написаны по стандартам).


Что можно сделать без разработчика: практические примеры

Многие компании недооценивают возможности Entity Manager и Workflows. Вот что реально делается без программиста.

Сущность «Договор»

Поля: номер, дата заключения, срок действия, сумма, тип договора (список), статус (список), файл договора (вложение), связанный контрагент, связанная сделка, ответственный. Создаётся через Entity Manager за 2 часа. После создания: договоры привязываются к карточкам клиентов и сделок, фильтруются по статусу и сроку, включаются в отчёты.

Сущность «Рекламация»

Поля: дата обращения, тип проблемы (список), описание, статус (список: Открыта / В работе / Решена / Отклонена), связанный клиент, связанная сделка или договор, срок решения, ответственный. Добавляется workflow: при смене статуса в «Решена» клиент получает автоматическое письмо с подтверждением.

Кастомные вычисляемые поля

Через Formula в карточке сделки добавляется поле «Маржа %» которое автоматически считается как (Сумма - Себестоимость) / Сумма × 100. Руководитель видит маржу в каждой сделке без ручных расчётов. Настраивается за 30-60 минут.

Автоматизация онбординга нового клиента

Workflow с триггером «Статус сделки изменён на "Договор подписан"»: создать задачу «Приветственный звонок» (срок: завтра, ответственный: менеджер по работе с клиентами), создать задачу «Подготовить доступы» (срок: 2 дня), отправить клиенту письмо «Добро пожаловать» из шаблона, сменить стадию на «Онбординг». Настраивается через визуальный конструктор за 1-2 часа. Результат: каждый новый клиент получает одинаковое качество онбординга вне зависимости от того какой менеджер ведёт сделку.


Сколько это занимает у администратора системы

Распространённый вопрос: «У нас нет программиста. Кто будет это делать?». Хорошая новость: для уровней 1 и 2 (Entity Manager + Workflows) программист не нужен. Нужен грамотный администратор системы и время.

Примерные затраты времени для типичных задач:

  • Создать новую сущность с 8-12 полями: 1-3 часа
  • Добавить 3-5 новых полей к существующей сущности: 30-60 минут
  • Настроить простой workflow (триггер + 1-2 действия): 20-40 минут
  • Настроить сложный workflow с условиями и несколькими действиями: 2-4 часа
  • Создать кастомный отчёт: 30-90 минут

Первые 2-3 недели после внедрения администратор тратит заметно больше времени: учится работать с Entity Manager, совершает ошибки, исправляет. После этого периода большинство типовых задач решается самостоятельно. Интегратор привлекается для консультаций или для задач уровня 3.

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


Типичный путь от запроса команды до готовой доработки

На практике процесс выглядит так.

Шаг 1: сбор запроса

Менеджеры говорят «хотим добавить Договоры». Руководитель (или администратор системы) спрашивает: какие поля нужны в карточке договора, как договоры связаны с клиентами и сделками, кто должен видеть договоры и кто может создавать.

Без четкого ответа на эти вопросы: создание сущности займет время, потом переделывать. С ответами: задача становится конкретной.

Шаг 2: оценка уровня

Если задача решается Entity Manager + Workflows: администратор делает сам или с консультацией интегратора. Если нужен PHP-модуль: формируется техническое задание и запрос на разработку.

Шаг 3: реализация и тестирование

Кастомные сущности и поля создаются в основной системе (не на тестовом стенде), потому что в EspoCRM нет встроенного переноса настроек между инсталляциями. Это значит что первые итерации делаются осторожно: сначала структура, тестируется небольшой командой, потом расширяется.

PHP-модули тестируются на копии базы данных перед переносом на продакшн. Это стандартная практика которую мы соблюдаем на всех проектах.

Шаг 4: обучение команды

После создания новой сущности или доработки: обучение занимает 30-60 минут для группы. Чаще всего делается как короткий скринкаст с записью, чтобы новые сотрудники могли посмотреть его при онбординге.


Как выбрать между no-code, low-code и разработкой

Правило большого пальца из нашей практики.

No-code (Entity Manager): если задача сводится к «добавить поля» или «добавить новый тип объектов». Без дополнительной логики, без вычислений, без интеграций.

Low-code (Workflows + Formula): если нужна автоматизация внутри EspoCRM. Событие в системе запускает действие в системе. Расчёт значения поля на основе других полей.

PHP-модуль: если нужно выйти за пределы EspoCRM. Внешние API, сложная логика которую нельзя выразить в визуальном конструкторе, кастомный интерфейс.

На практике большинство компаний проходят через все три уровня последовательно: начинают с Entity Manager, через 2-3 месяца добавляют Workflows, через полгода формируется список задач для PHP-разработки.


Когда нужен разработчик: три сигнала

Сигнал 1: нужна интеграция с внешней системой

Любая двусторонняя передача данных с внешним API (1С, Авито, телефония, маркетплейсы, ERP): требует PHP-разработки. Entity Manager и Workflows работают внутри EspoCRM, но не могут обратиться к внешнему API самостоятельно.

Сигнал 2: нужна сложная условная логика

Workflows покрывают большинство сценариев «если А то Б». Но когда логика становится ветвящейся («если A и B и не C, то Д, иначе если E, то Ж»), визуальный конструктор теряет читаемость и надёжность. PHP-модуль с тестами надёжнее.

Сигнал 3: нужен кастомный интерфейсный компонент

Стандартные компоненты EspoCRM покрывают 90% потребностей. Но специфические задачи (кастомный виджет на дашборд, интерактивная карта объектов, калькулятор прямо в карточке сделки): требуют разработки JavaScript-компонента.


Три реальных кейса с ценами

Кейс 1: сущность «Производственная заявка» — 15 000 рублей

Производственная компания (металлообработка, 35 сотрудников). Запрос: нужна сущность для производственных заявок с полями «Тип материала», «Норма расхода», «Участок производства», «Плановая дата готовности», «Фактическая дата», «Файлы чертежей».

Реализация: Entity Manager (создание сущности и полей), связь с клиентскими карточками и сделками, workflow (уведомление начальника производства при смене статуса заявки), настройка прав доступа (менеджеры создают заявки, начальник цеха видит только свои).

Стоимость: 15 000 рублей. Срок: 2 дня. Что получила компания: производственные заявки в CRM без отдельного Excel-файла, история по каждому клиенту включает производственный контекст.

Кейс 2: интеграция с 1С для синхронизации счетов — 65 000 рублей

Оптовая торговля (25 менеджеров). Запрос: при смене статуса сделки в EspoCRM на «Договор подписан» автоматически создать счёт в 1С: Управление торговлей. При оплате счёта в 1С: обновить статус сделки в EspoCRM.

Реализация: PHP-модуль который при смене статуса сделки вызывает API 1С, создаёт счёт с нужными реквизитами. Второй обработчик: вебхук от 1С при проведении оплаты обновляет статус сделки в EspoCRM.

Стоимость: 65 000 рублей. Срок: 3 недели (включая тестирование на тестовой базе 1С и переход на боевую). Что получила компания: менеджеры не переносят данные вручную, счета создаются без ошибок реквизитов, финансовый отдел видит оплаты в 1С, коммерческий отдел: закрытые сделки в CRM.

Кейс 3: портал для дилеров на базе EspoCRM — 120 000 рублей

Дистрибьютор оборудования (дилерская сеть 40 компаний). Запрос: дилеры должны видеть свои заказы, статусы отгрузок и счета без звонков менеджерам.

Реализация: использование встроенного функционала EspoCRM «Портал» с кастомизацией: ограниченный доступ для внешних пользователей, кастомный интерфейс (другие цвета, логотип), специальные роли для дилеров (видят только своё), кастомная страница со сводкой по заказам.

Стоимость: 120 000 рублей. Срок: 5 недель. Что получила компания: менеджеры разгружены от статусных звонков дилеров на 35%, дилеры получают актуальную информацию в режиме реального времени.


Часто задаваемые вопросы

Сколько пользовательских сущностей можно создать в EspoCRM?

Технически нет ограничения по количеству. Практически: производительность системы при большом числе сущностей зависит от сервера. При 30-50 кастомных сущностях: нужен сервер от 2-4 ГБ RAM. Компании у которых 40-60 сущностей в EspoCRM: работают нормально при правильно настроенном сервере.

Кастомные модули работают после обновления EspoCRM?

Да, если написаны по стандартам EspoCRM. Хорошо написанный модуль не ломается при патч-обновлениях. Мажорные обновления (например, с версии 7 на 8) иногда требуют небольших правок в модуле: проверяем перед обновлением на копии системы.

Можно ли купить готовые модули для EspoCRM?

Да. В официальном магазине расширений EspoCRM есть платные модули: интеграции с телефонией, почтой, расширенные отчёты, kpi-трекеры. Цены: от $20 до $200 за модуль (единоразово). Минус готовых модулей: они не всегда точно закрывают вашу задачу, иногда дешевле написать кастомный под конкретный процесс.

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

Простой модуль с новой сущностью и несколькими полями: 1-3 дня. Модуль средней сложности (свои вычисления, workflow, базовый UI): 1-2 недели. Сложный модуль (интеграция с внешним API, кастомный интерфейс, обработка файлов): 3-6 недель. Эти сроки включают постановку задачи, разработку, тестирование и деплой на продакшн.

Что происходит если разработчик модуля недоступен?

Код PHP-модуля остаётся у вас на сервере и открыт для изучения любым разработчиком PHP. Нет закрытых проприетарных компонентов. Если первоначальный разработчик недоступен: любой PHP-разработчик с опытом EspoCRM может продолжить поддержку модуля. Мы регулярно берём на поддержку проекты написанные другими командами.

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


Что делать если не знаете с чего начать

Компании часто приходят к нам с большим списком пожеланий и не знают как расставить приоритеты. Несколько вопросов которые помогают структурировать работу.

Какой процесс прямо сейчас существует параллельно CRM? Если менеджеры ведут Excel-файл рядом с EspoCRM: это сигнал что в системе не хватает сущности или поля. Этот файл и является техническим заданием для первой доработки.

Что сейчас делается вручную и повторяется ежедневно? Повторяющееся ручное действие (скопировал, вставил, написал письмо, поставил задачу): кандидат на автоматизацию через Workflow.

Где теряются данные при передаче между системами? Если менеджер звонит в бухгалтерию чтобы узнать статус оплаты, или бухгалтер звонит менеджеру чтобы уточнить реквизиты клиента: это задача для интеграции EspoCRM с учётной системой.

Начните с одного конкретного улучшения которое снимет реальную боль команды прямо сейчас. Через 4-6 недель будет видно что изменилось, и тогда формируется следующий запрос. Такой итеративный подход надёжнее чем попытка за один раз переработать все процессы.

Подробнее о стоимости различных доработок: Стоимость внедрения EspoCRM


Есть идея для доработки EspoCRM?

Расскажите о задаче: какой процесс хотите автоматизировать или какую сущность добавить в EspoCRM. Оценим что можно сделать без кода (Entity Manager/Workflows), а для чего нужна разработка. Покажем примеры аналогичных доработок из наших проектов и назовём примерные сроки и бюджет.

Обсудить доработку

Есть вопрос по теме?

Расскажите про задачу — ответим что подойдёт.

Защищено reCAPTCHA: Privacy · Terms
Написать в Telegram