先说结论
在 Odoo CRM 里,Lead 和 Opportunity 不是“同一张表换个名字”。
虽然它们都在 crm.lead 模型里,但系统真正表达的是:
这条商业线索现在处于什么成熟度、是否已经进入销售推进阶段、以及它的概率和输赢语义该怎么解释。
所以 type、stage_id、probability、active 这些字段要一起看。
为什么一个模型里要装两种语义
源码里 crm.lead.type 明确区分:
leadopportunity
这代表官方不是把它们当两套完全独立数据,而是把它们看成同一商业对象在不同成熟度下的状态。
简单说:
- Lead:还偏线索、待甄别、待转化
- Opportunity:已经进入可推进、可预测、可赢单的销售语义
为什么 Stage 比“状态词”更重要
CRM 模块文档也强调过,旧式 state 逻辑被 stage 取代。
这很重要,因为 CRM 不是简单几种状态切换,而是一个逐步推进的销售漏斗。
所以 stage_id 承担的是:
- 现在在漏斗哪一段
- 是否属于 won / lost 语义
- 是否应影响概率与关闭时间
Probability 为什么不是随便填个百分比
在 crm.lead 里,probability 不是纯展示数字。
它会影响:
- 预期收入折算
- 赢单预测
- pipeline 口径
- won / lost 判断语义
而且源码里还有:
automated_probabilityis_automated_probability
这说明 Odoo 支持系统自动估概率,也允许人为覆盖。
所以概率不是注释,而是预测字段。
Won 和 Lost 为什么不是普通状态
从源码逻辑看:
- Won:通常和
stage_id.is_won、probability = 100绑定 - Lost:通常和
active = False、probability = 0绑定
这意味着赢单/丢单不是你随便写个标签,而是会改变 CRM 记录业务语义的关键动作。
为什么 Lead 转 Opportunity 很重要
因为这一步不是改个文案,而是告诉系统:
这条记录已经从待识别线索,进入值得正式销售跟进和预测的对象。
后续很多字段和行为,都会更偏 pipeline 语义而不是原始线索收集语义。
一句话记忆法
Lead 讲来源和甄别,Opportunity 讲推进和预测;Stage 管漏斗位置,Probability 管成交预期。
DISCUSSION
评论区