CRM для строительной компании на ERPNext: заказчики, тендеры, сметы и воронка в одной системе
В ERPNext есть встроенная CRM: Lead, Opportunity и Quotation. Строительной компании её хватает, чтобы провести тендер от извещения до договора и передать выигранную сделку в проект и закупки. Слабое место — переписка, звонки, тендерные процедуры и сметы. Ниже возможности, ограничения и условный разбор подрядчика на 18 мест.
Что умеет встроенная CRM ERPNext: Lead, Opportunity, Quotation
Встроенная CRM в ERPNext закрывает цепочку «лид, сделка, коммерческое предложение, заказ» и, что для стройки важнее, продолжается в проект и закупки без переноса данных между системами. Это не самая удобная CRM на рынке, но у неё есть козырь: сделка, которую вы выиграли, не нужно перепечатывать в учётной системе. Её можно довести до объекта, бюджета и склада в тех же документах.
Набор сущностей такой. **Lead** — потенциальный заказчик (физлицо или организация; для организации заполняют поле Organization Name, отдельного флажка «Lead is an Organization» в v15 уже нет). **Opportunity** — сделка с типом и стадией (Opportunity Type, Sales Stage). **Quotation** — коммерческое предложение с позициями, налогами и графиком платежей через Payment Terms Template. **Customer** и **Contact** — заказчик и контактные лица. По документации у лида девять статусов: Lead, Open, Replied, Opportunity, Quotation, Lost Quotation, Interested, Converted и Do Not Contact. Статус меняется сам, когда по лиду создаётся сделка, предложение или заказ.
КП можно выставлять сразу на лида: в поле Quotation To выбирают Lead, а заказчика (Customer) заводят, когда сторона квалифицирована. Для тендерного подрядчика это удобно: на этапе, когда ещё не ясно, выиграете ли вы, карточки заказчика в учётной базе нет. После принятия предложения из него создаётся Sales Order, и статус лида меняется на Converted.
ERPNext под ключ мы настраиваем именно в такой связке. Читателям, которые выбирают систему учёта, пригодится ещё материал какую систему учёта выбрать на Linux.
Как провести тендер через воронку: от лида до договора
Тендер я веду как обычную сделку, с понятными стадиями и одним владельцем на каждой. Отдельной «тендерной процедуры» в коробке нет: нет понятий лота, закупочной комиссии и протокола. Но для подрядчика, который участвует в тендерах как исполнитель, а не как организатор, этого и не нужно. Нужно, чтобы по каждому тендеру было видно, на каком он шаге, кто отвечает и когда срок подачи.
Путь такой. Извещение попадает в систему как Lead (источник, ссылка на площадку, а срок подачи ставим задачей с датой во вкладке Activities). Если решили участвовать, создаём Opportunity и прикрепляем ТЗ. Дальше сметчик считает объём во внешней программе, а итог попадает в Quotation. После победы из предложения создаётся Sales Order, который и есть «договор» с точки зрения учёта, а затем проект. Статусы Lead в документации перечислены выше, они помогают отчёту по воронке. | Шаг | Документ ERPNext | Кто отвечает | |---|---|---| | Извещение | Lead | менеджер по тендерам | | Решение участвовать | Opportunity | руководитель проекта | | Смета | вне ERPNext (внешняя программа) | сметчик | | Предложение | Quotation | менеджер, директор | | Договор | Sales Order | директор | | Объект | Project | руководитель проекта | | Акт | печатная форма КС-2/КС-3 | бухгалтерия, ПТО | | План и факт | Project, Budget | руководитель проекта |
Важная оговорка: в коробке нет форм КС-2, КС-3, М-29 и баз ФЕР/ТЕР. Смету считают в профильной программе, а в ERPNext загружают итоговую спецификацию, то есть перечень материалов и работ с количествами. Печатные формы актов делаются шаблонами на HTML и Jinja. Это отдельная работа, она закладывается в проект, как я объяснял в обзоре ERPNext для производства.
Для связи с отделом продаж привычно ещё одно действие: после поражения в тендере фиксируем причину (цена, сроки, опыт). Opportunity хранит причины отказа и конкурентов, а через квартал это самая полезная выборка для менеджера: видно, на чём вы проигрываете.
От коммерческого предложения к проекту: как сделка превращается в объект и закупки
Сделка превращается в объект через Sales Order и Project, а дальше затраты по объекту собираются автоматически. Это главное, ради чего стройкомпании имеет смысл держать CRM внутри ERPNext, а не рядом с ним. Руководитель проекта получает не письмо с PDF, а готовый проект с договорной суммой, к которому цепляются заявки на материалы и закупки.
Контроль затрат начинается ещё до закупки. В документе Budget есть настройки Applicable on Material Request и Applicable on Purchase Order, они предупреждают или блокируют заявку и заказ при превышении лимита. Для жёсткого запрета создавать заказ поставщику в обход согласованной заявки стандартного Workflow, по моему опыту, не хватает: нужен Server Script, и его работу проверяют на вашей версии (v15 или v16), прежде чем обещать заказчику.
Что я проверяю на демостенде при показе этого пути: выбираю выигранное предложение, создаю заказ, создаю проект, открываю заявку на материалы и смотрю, подтянулся ли бюджет. Обычно в этом месте вылезают две вещи: не заполнены справочники (подразделения, статьи затрат) и менеджер по продажам не знает, что делать дальше. Первое лечится настройкой, второе обучением.
Для передачи в бухгалтерию 1С используется обмен через HTTP-сервисы или REST/OData, без прямой записи в базу. CRM и склад остаются в ERPNext, проводки и реализации в 1С. Подробнее о такой связке рассказываю в материале про интеграцию 1С с Битрикс24 и amoCRM: принципы те же.
Канбан лидов и контроль менеджера: что видит руководитель
Руководителю нужны три вещи: что висит без движения, сколько сделок в каждой стадии и кто из менеджеров отстаёт. В ERPNext это закрывается стандартными инструментами Frappe: список Lead или Opportunity в виде канбан-доски по статусу, отчёты по воронке и график на рабочем столе. Канбан в Frappe строится по полю-выбору, обычно по статусу или стадии; настраивается он без программирования.
Для контроля менеджеров я назначаю в карточке лида владельца (Lead Owner), а следующий шаг ставлю из вкладки Activities кнопками New Task и New Event: задача попадает в ToDo сотрудника, встреча в календарь, просроченное видно фильтром по дате. Полей Next Contact By и Next Contact Date из старых версий в v15 у лида нет, их часто ищут по старым инструкциям. Правило назначения (Assignment Rule) распределяет входящих лидов по менеджерам, чтобы не спорить, кто взял заявку.
Отдельный сценарий: отдел продаж из 3–4 человек и один директор, которому нужен утренний взгляд на воронку. Для него настраивается рабочий стол с числовыми карточками (лиды за неделю, КП в ожидании, выигранные) и фильтры «мои» и «просроченные». Ничего программировать не нужно, но придётся один раз договориться о стадиях, иначе канбан превращается в свалку.
Если нужен более современный интерфейс сделок, у Frappe есть отдельное приложение Frappe CRM на Vue с канбаном и единой страницей лида или сделки. По данным репозитория, ветка main (v1.x) помечена как стабильная и совместима с Frappe и ERPNext 15 и 16, а develop (v2.x) нестабильна. Лицензия AGPL-3.0. Для боевого проекта я всё равно проверяю приложение на стенде вашей версии.
Где встроенная CRM слабее профильных: честные ограничения
Встроенная CRM слабее профильных там, где нужна глубокая работа с перепиской и звонками. Почтовый клиент внутри ERPNext (Email Inbox) уступает специализированным: в обсуждениях сообщества отмечали отсутствие группировки писем в цепочки и неудобную навигацию. Если менеджеры живут в почте и телефоне, им будет тесно.
Второе ограничение: контрагенты разделены. Customer и Supplier — разные записи, и компания, которая одновременно ваш заказчик и поставщик, существует в двух экземплярах. Нужна договорённость о том, как вы их связываете. Третье: справочник контактов засоряется. В v15 в CRM Settings по умолчанию включена настройка Auto Creation of Contact, и каждый новый лид сразу порождает Contact, даже если сделки так и не будет. Перед массовой загрузкой лидов из Excel я решаю с заказчиком, выключать её или нет: для тендерного потока, где половина извещений отсеивается, обычно выключаем и заводим контакты руками у квалифицированных лидов. | Ограничение | Чем грозит | Как закрываем | |---|---|---| | Лид порождает контакт (Auto Creation of Contact) | засорение базы | выключить настройку в CRM Settings или вести только квалифицированных | | Слабый Email Inbox | потеря контекста переписки | почтовый ящик в связке с CRM или внешний клиент | | Customer и Supplier раздельно | путаница контрагентов | правило ведения карточки | | Пустые Default Customer Group и Territory | ломают конвертацию лидов | заполнить Selling Settings |
Четвёртое: нет тендерных процедур, нет сметных баз и форм КС-2/КС-3, и это не «настраивается за вечер». Если ваш бизнес — это большой поток тендеров с десятками лотов в неделю, посмотрите профильные решения для строительных SRM и честно сравните стоимость владения. Я бы не уговаривал вас на ERPNext, если главная боль именно здесь.
Для небольшого подрядчика, у которого 5–10 тендеров в месяц и главная проблема — потеря связи между продажей и закупкой, встроенной CRM хватает. Она не красивая, но она в одной базе с проектом.
«Опора Север»: воронка подрядчика на 18 рабочих мест
Разбираем условный пример, цифры вымышленные. Строительная компания «Опора Север» делает фундаменты и каркасы, 18 рабочих мест: директор, три менеджера по продажам и тендерам, сметчик, четыре руководителя проектов, снабженец, склад и бригадиры. Лиды приходили из трёх источников: площадки тендеров, звонки по рекомендациям и сайт. Всё лежало в Excel и почте.
Что мы настроили. Стадии: Lead, Open, Opportunity, Quotation, Converted по статусам лида, плюс стадии сделки (Sales Stage): «ТЗ получено», «Смета в работе», «КП отправлено», «Переговоры». Источник лида стал обязательным. Канбан по статусам, отчёт по причинам проигрыша, правило назначения (Assignment Rule) тендеров на менеджера с наименьшей загрузкой. Выигранное КП превращается в Sales Order и Project, к которому привязан бюджет на материалы.
Условный результат за первый квартал: все тендеры видны в одном списке, нет «потерянных» писем с извещениями, а в среду руководитель смотрит три отчёта вместо звонков менеджерам. Цифр экономии я не называю: она зависит от того, сколько у вас было потерянных заказов, а это можно измерить только на ваших данных.
Что не получилось сразу. Сметчик продолжил считать в своей программе, и загрузка итоговой спецификации превратилась в отдельную задачу. Печатную форму акта КС-2 допиливали уже после запуска. Менеджеры первые недели дублировали записи в Excel, пока директор не запретил это явно. Эти три пункта мы теперь закладываем в план проекта с самого начала.
С чего начать на демостенде за один день
За один день на демостенде можно пройти весь путь и понять, подходит ли вам система. Мы покажем стенд erp-demo.itfresh.ru по запросу, без паролей в открытом виде, на вымышленных данных. Вот порядок, который я использую на показе.
Утро: создать лида из тендера, перевести его в сделку, прикрепить ТЗ, создать предложение. Это занимает час и показывает, насколько привычен интерфейс. Середина дня: выиграть предложение, создать заказ и проект, открыть заявку на материалы и посмотреть, как бюджет реагирует на превышение. Вечер: канбан и отчёты, права доступа, тестовая загрузка 20–30 лидов из вашего Excel, чтобы проверить, как сохраняются связи между записями.
Если вы выбираете между встроенной CRM, Frappe CRM и профильной системой, решение разумно принимать по трём вопросам. Главное ли для вас — связь сделки с проектом и закупками? Если да, встроенная CRM. Нужны ли канбан сделок и современный интерфейс на Vue? Тогда смотрите Frappe CRM, проверив её стабильность на своей версии. Нужна ли глубокая переписка и звонки? Тогда профильная CRM и интеграция с ERPNext. Если выбираете систему для малого бизнеса с 1С, прочтите также сравнение CRM для малого бизнеса с 1С.
Что нужно принести на показ: список ваших стадий воронки, пример одного тендера от извещения до акта и перечень отчётов, которые вы хотите видеть по понедельникам. С этим набором за день вы узнаете больше, чем из любого описания.
Частые вопросы
Есть ли в ERPNext CRM для строительной компании?
Да, встроенный модуль: Lead, Opportunity, Quotation, Customer и Contact. Он связан с продажами, проектами и закупками, поэтому сделку можно довести до объекта и контроля затрат в одной системе. Отраслевых тендерных процедур и сметных баз в коробке нет, их решают внешними программами.
Как вести тендеры в CRM?
Тендер ведут как сделку: лид с источником и сроком подачи, затем Opportunity с типом и стадией Sales Stage, к ней прикрепляют ТЗ и расчёт, затем создают Quotation. Отдельной тендерной процедуры с лотами и комиссией в коробке нет, её границы уточняют на демостенде.
Можно ли делать смету и КП в ERPNext?
КП можно: Quotation поддерживает позиции, налоги, графики оплат и альтернативные позиции. Сметный расчёт по ФЕР и ТЕР в коробке отсутствует. Смету считают во внешней программе, а итоговую спецификацию загружают в систему, и дальше она работает как ресурсный план.
Чем встроенная CRM ERPNext отличается от Frappe CRM?
Встроенная CRM входит в ядро ERPNext и работает в интерфейсе Desk: Lead, Opportunity, Quotation. Frappe CRM — отдельное приложение на Vue с канбаном и единой страницей лида или сделки. Для компании, где главное связь с проектами и закупками, обычно хватает встроенной.
Нужна ли подрядчику отдельная CRM, если есть ERPNext?
Если отдел продаж небольшой и важна связь с проектами и закупками, отдельная CRM не нужна. Когда продаж много и нужна глубокая работа с перепиской и звонками, смотрите Frappe CRM или профильную систему и сравнивайте полную стоимость владения на три года.
Как связать CRM в ERPNext с 1С?
Через HTTP-сервисы или REST/OData, а не записью в базу напрямую. В ERPNext остаются лиды, сделки, заявки и склад, в 1С проводки, реализации и расчёты. Для устойчивости к сбоям между системами ставят очередь, чтобы документы не терялись при недоступности 1С.
Источники
- Документация ERPNext: Lead — Проверено: девять статусов лида, конвертация через Make/Create, контакт добавляется кнопкой New Contact. https://docs.frappe.io/erpnext/user/manual/en/lead Поля v15 сверены по исходнику: https://github.com/frappe/erpnext/blob/version-15/erpnext/crm/doctype/lead/lead.json (нет contact_by/contact_date, есть lead_owner, qualification_status). Автосоздание контакта: настройка auto_creation_of_contact (по умолчанию 1) в https://github.com/frappe/erpnext/blob/version-15/erpnext/crm/doctype/crm_settings/crm_settings.json и Lead.before_insert.
- Документация ERPNext: Opportunity — Проверено: Opportunity Type, чекбокс With Items, создание из лида и из заказчика, создание Quotation. https://docs.frappe.io/erpnext/user/manual/en/opportunity
- Документация ERPNext: Quotation — Проверено: Quotation To = Lead, шесть статусов, создание Sales Order, Payment Terms Template, Is Alternative. https://docs.frappe.io/erpnext/user/manual/en/quotation
- GitHub frappe/crm — Проверено 01.10.2026: Vue + Frappe UI, канбан, main (v1.x) stable для Frappe/ERPNext 15 и 16, develop (v2.x) unstable, AGPL-3.0. https://github.com/frappe/crm
- Глава 06 и 03 базы знаний ERPNext (ITfresh) — Использованы разделы про сущности CRM, ограничения, сценарий заказчика; тезис главы про автосоздание Contact подтверждён исходником v15 (CRM Settings → Auto Creation of Contact).

