Перейти к содержимому

Модель crm.lead: как устроены Leads и Opportunities в Odoo

Полное руководство по модели лидов в CRM Odoo — для разработчиков и функциональных консультантов
11 марта 2026 г. от
Модель crm.lead: как устроены Leads и Opportunities в Odoo
Dasolo
| Комментариев пока нет

Введение


В Odoo модель — это схема для хранения бизнес‑данных в базе: каждая сущность — от заказов до счетов и лидов — описывается моделью, которая определяет поля, типы и взаимосвязи записей.


Понимание моделей важно и для разработчиков, и для функциональных консультантов: именно модели формируют каркас данных Odoo, задают поля, связи и встроенную бизнес‑логику, на которой строятся все приложения.


В этой заметке мы разбираем модель crm.lead — ту, которая отвечает за воронку продаж в CRM. Если вы настраиваете процессы продаж, пишете интеграции или делаете собственные модули, вы неизбежно столкнётесь с ней.

Что такое модель crm.lead


Модель crm.lead хранит лиды и возможности — одну общую структуру для заявок на ранней стадии и квалифицированных сделок. Она служит «центром учета» для всех записей, связанных с продажами в CRM.


Модель используется главным образом модулем CRM, но на неё ссылаются и расширяют другие компоненты: продажи, маркетинг, сайт. Любая форма на сайте, ручная заявка от менеджера или конвертация лида в клиента — все эти действия отражаются в crm.lead.


В Odoo функциональность часто добавляют через наследование моделей: базовый crm.lead задаёт ядро, а дополнительные модули (например, enrichment или веб‑интеграции) дополняют поля и поведение, не дублируя основную логику.

Ключевые поля модели


Ниже перечислены ключевые поля crm.lead — знание их назначения поможет управлять лидами и строить корректные отчёты и процессы.


1. name

Тип: Char. Заголовок записи — основное название, которое видно в списках и канбан‑картах. Для входящего запроса это может быть «Заявка с формы», для сделки — конкретное наименование сделки или клиента.


2. contact_name

Тип: Char. Имя контактного лица, когда лид ещё не привязан к сущности res.partner. При конвертации часто копируется в создаваемый партнёр.


3. email_from

Тип: Char. Основной электронный адрес лида — ключ для переписки, идентификации и дедупликации записей до конвертации.


4. phone

Тип: Char. Основной телефон для звонков, логирования вызовов и планирования контактов.


5. mobile

Тип: Char. Мобильный номер — удобно для SMS‑уведомлений или срочных звонков, если отличается от основного телефона.


6. partner_id

Тип: Many2one (res.partner). Ссылка на контакт/компанию после квалификации. До конвертации поле пустое, после — указывает на созданную или найденную запись партнёра.


7. user_id

Тип: Many2one (res.users). Менеджер, ответственный за лид — влияет на назначение, отчётность и расписание активностей (вид «Мои возможности» и дашборды).


8. team_id

Тип: Many2one (crm.team). Команда продаж — служит для распределения по командах, круговой раздачи лидов и групповой отчетности.


9. stage_id

Тип: Many2one (crm.stage). Текущая стадия воронки: New, Qualified, Proposal, Negotiation, Won, Lost и т.д. Переходы по стадиям активируют автоматизации и меняют отчёты.


10. type

Тип: Selection. Показывает, является ли запись лидом или возможностью. Лид — ранняя стадия, возможность — квалифицированная сделка с ожидаемым доходом; от этого зависят доступные представления и стадии.


11. expected_revenue

Тип: Float. Ожидаемый доход при закрытии сделки — основной показатель для прогноза и сводной стоимости воронки; часто рассчитывается через вероятность и сумму сделки.


12. probability

Тип: Float. Вероятность выигрыша в процентах (0–100) — используется для взвешенных расчётов в прогнозах; может заполняться вручную или браться из стадии.


13. company_id

Тип: Many2one (res.company). В многокомпанентных системах указывает, к какой компании относится лид — влияет на видимость записей и валюту.


14. description

Тип: Text. Описание и заметки по лиду: стенограмма разговоров, контекст для менеджера, резюме встреч и внутренняя информация.


15. create_date

Тип: Datetime. Дата и время создания записи — автоматически ведётся системой, полезно для анализа «возраста» лида и времени до конверсии.


16. write_date

Тип: Datetime. Дата и время последнего изменения — помогает понять, когда последний раз обновляли лид.


17. date_open

Тип: Datetime. Время первого назначения менеджеру (заполнения user_id) — используется для оценки скорости первого контакта.


18. date_closed

Тип: Datetime. Когда лид был закрыт (выигран или потерян). Служит для расчёта длительности цикла продаж и анализа конверсий.


19. date_deadline

Тип: Date. Ожидаемая дата закрытия сделки — пригодна для планирования, прогнозов и приоритизации задач продавца.


20. active

Тип: Boolean. Флаг «архивирован/активен». При false запись скрывается по умолчанию — потерянные или объединённые лиды обычно архивируют, а не удаляют.


21. street, street2, city, zip

Тип: Char. Поля адреса — сохраняются до конвертации и копируются в партнёра при создании клиента.


22. country_id

Тип: Many2one (res.country). Страна — важна для региональной отчётности и форматирования адресов; фильтрация по странам помогает управлять территориями.


23. state_id

Тип: Many2one (res.country.state). Штат/регион — обычно ограничивается доменом страны и служит для сегментации по регионам.


24. source_id

Тип: Many2one (utm.source). Источник лида — сайт, рекомендация, кампания и т.п.; ключевой элемент для атрибуции маркетинга.


25. campaign_id

Тип: Many2one (utm.campaign). Маркетинговая кампания — связывает лид с конкретной рассылкой или рекламой для подсчёта ROI.


26. activity_ids

Тип: One2many (mail.activity). Запланированные активности — задачи, звонки, встречи; движок напоминаний и виджет активности опираются на эти записи.


27. color

Тип: Integer. Индекс цвета для канбана и списков — визуальная подсказка при сортировке по приоритету или кастомным критериям.


28. message_ids

Тип: One2many (mail.message). Чат/история коммуникаций — внутренние заметки, письма и история активности хранятся здесь, чтобы у менеджеров был полный контекст.

Как модель применяется в бизнес-процессах


1. Захват лидов с сайта

Когда посетитель отправляет форму на сайте, система создаёт crm.lead: в поля email_from, contact_name и description записываются данные формы, и лид попадает в воронку для обработки командой продаж.


2. Квалификация и конвертация лидов

Менеджеры переводят лиды по стадиям: при квалификации тип меняется на Opportunity и указывают expected_revenue; при выигрыше лид конвертируется — создаётся или связывается res.partner и при необходимости создаётся продажа.


3. Отчёты по воронке

Руководители используют данные crm.lead для отчётов: expected_revenue, probability и stage формируют взвешенную картину воронки; фильтры по user_id и team_id позволяют оценить результаты менеджеров и команд.


4. Атрибуция маркетинга

Поля source_id и campaign_id связывают лиды с маркетинговыми активностями. UTM‑метки из рекламных кампаний или рассылок автоматически заполняют эти поля — маркетинг получает метрики эффективности кампаний.


5. Управление активностями и follow‑up

Менеджеры планируют задачи на лидах: activity_ids хранит звонки, встречи и задачи, а activity_date_deadline показывает «следующую активность» в списке и напоминает вовремя связаться с клиентом.

Как разработчики расширяют эту модель


Разработчики расширяют crm.lead несколькими способами, главное — наследование моделей в Odoo.


Наследование модели

В коде используют _inherit = 'crm.lead' чтобы дополнять модель: добавлять поля, переопределять методы и вводить ограничения. Наследующий модуль хранит изменения отдельно, что облегчает обновления.


Добавление полей

В наследнике объявляют новые поля нужного типа: Char, Many2one, Boolean, Integer, Text, Selection. Частые расширения — дополнительные источники лида, интересующие продукты или отрасль; для мультикомпаний учитывайте company_dependent поля.


Python‑расширения

Переопределяйте create, write или action_convert, чтобы внедрить логику, вызывая super() для базовых операций. Будьте внимательны со сменой стадий и логикой конвертации; декораторы Odoo (@api.depends, @api.onchange) помогают с вычисляемыми полями и поведением в интерфейсе.


Odoo Studio

Odoo Studio позволяет добавить поля без кода — удобно для простых кастомизаций типа выпадающего списка или текстового поля. Для сложной логики, автоматики стадий или долгосрочной поддержки лучше писать модуль.

Рекомендуемые практики


  • Приведите стадии в соответствие с вашим процессом продаж: при необходимости используйте разные последовательности стадий для лидов и возможностей.
  • Настраивайте заполнение source_id и campaign_id из UTM‑меток форм сайта — это даёт корректную атрибуцию маркетинга.
  • Используйте team_id для круговой раздачи лидов или территориального распределения — правила назначения можно задать в crm.team.
  • При интеграции по API используйте XML‑RPC или JSON‑RPC: модель crm.lead доступна полностью. Для синхронизации внешних CRM храните внешний ID в отдельном поле, например ref, чтобы корректно маппить записи.
  • Для пользовательских полей используйте префикс x_ или свой модульный префикс, чтобы избежать конфликтов с будущими обновлениями Odoo.

Типичные ошибки


  • Создание дубликатов лидов вместо поиска по email_from. Перед созданием проверяйте email (например, email_normalized) или выполняйте дедупликацию.
  • Путаница между type (Lead vs Opportunity) и stage_id. type определяет категорию записи, а stage — позицию в воронке — оба параметра важны для корректных отчётов.
  • Забывчивость при назначении user_id или team_id. Неназначенные лиды теряются — настраивайте автоматическое распределение или контролируйте ручное присвоение.
  • Переопределение логики конвертации без вызова super(). action_convert выполняет важные операции — расширяйте её, но не заменяйте целиком, иначе потеряете базовую функциональность.
  • Добавление обязательных пользовательских полей без значений по умолчанию. При обновлении модуля существующие записи могут не пройти валидацию — задавайте разумные дефолты или делайте поле необязательным.

Вывод


Модель crm.lead — ядро CRM в Odoo: она хранит лиды и возможности и управляет воронкой продаж. Знание её полей и способов расширения позволит правильно настраивать, дорабатывать и интегрировать CRM‑функциональность.


Будь вы функциональным консультантом, который транслирует процесс продаж в систему, или разработчиком, создающим кастомные модули, хорошее понимание crm.lead сэкономит время и убережёт от типичных ошибок.

Нужна помощь с внедрением Odoo?


Компания Dasolo помогает внедрять, дорабатывать и оптимизировать Odoo: мы специализируемся на интеграциях по API и разработке модулей, глубоко знаем архитектуру данных Odoo и модели вроде crm.lead.


Если вам нужна помощь с внедрением Odoo, разработкой CRM‑модулей или интеграциями — напишите нам, мы поможем спроектировать и реализовать решение. Записаться на демонстрацию чтобы обсудить ваш проект.

Модель crm.lead: как устроены Leads и Opportunities в Odoo
Dasolo 11 марта 2026 г.
Поделиться этой записью
Войти оставить комментарий