租赁业务里,销售往往先谈需求、时间窗口、设备可用性,然后才进入正式报价。sale_renting_crm 的意义,就是把这条前期沟通链路稳稳接到 CRM 里,而不是让租赁单和商机各管各的。
主要参考:
enterprise/sale_renting_crm/models/crm_lead.pyenterprise/sale_renting_crm/wizard/crm_lead_rental.pyenterprise/sale_renting_crm/tests/test_crm_lead_convert_rental.py
一、商机转租赁不是创建一张 sale.order 那么简单
源码通过向导收集租赁所需信息,并判断当前 lead 是否适合转换。真正复杂的地方在于:租赁订单对产品、日期、数量、可租用属性都有额外要求;这些要求如果在 CRM 阶段不检查,后面订单会更难修。
二、向导承担的是“把销售意图翻译成租赁单”的职责
crm_lead_rental.py 不是为了让用户多点一步,而是为了把商机里的意向、租赁产品和报价对象补齐。很多业务字段在机会里只是模糊需求,但进租赁单之前必须结构化。
三、测试体现的是真正的转换门槛
test_crm_lead_convert_rental.py 会覆盖从 lead 生成租赁报价的关键边界:哪些产品能进、哪些上下文必须存在、转换后如何回到 CRM 继续跟进。测试重点不是按钮是否能点,而是转换后对象之间是否仍然可追踪。
四、容易误解的地方
- 租赁报价不是普通销售报价换个价格表。 它有自己的业务约束。
- CRM 线索不是订单草稿。 在转换之前,很多信息仍然是不完整的。
- 向导多一步不是体验差。 对复杂业务来说,多一步往往是在保护数据质量。
五、实施建议
- 在 CRM 阶段就区分“销售产品”与“租赁产品”,不要等到报价时再纠错。
- 训练销售先把时间窗、数量、产品类型说清楚,再做转换。
- 如果转换失败,优先检查产品属性与租赁配置,不要先怀疑 CRM 按钮。
六、结论
租赁商机真正难的是转换时刻:什么时候从模糊需求进入结构化报价。sale_renting_crm 的价值,就是把这个时刻做成一条受控制的企业版主链路。
DISCUSSION
评论区