企业 CRM 名片

Odoo 企业版名片识别转商机:BusinessCardScanner 怎样约束 AI 输出并回填线索

crm_enterprise 真正企业化的地方,不是接了 OpenAI 或 IAP,而是它只允许少量字段落表,再继续做国家、州省、电话等归一化,最后把附件挂回商机。

CRM 企业
进阶 开发者 1 分钟阅读
0 评论 0 点赞 0 收藏 5 阅读

AI 扫名片看起来像一个很花哨的功能,但企业真正关心的从来不是“识别率宣传词”,而是 识别结果能不能变成 CRM 里可持续使用的数据crm_enterpriseBusinessCardScanner 正是在做这个翻译层。

主要参考:

  • enterprise/crm_enterprise/models/crm_lead.py
  • enterprise/crm_enterprise/tools/business_card_scanner.py
  • enterprise/crm_enterprise/views/crm_lead_views.xml

一、系统先决定调用哪个识别后端,再决定接受什么结果

business_cards_to_leads() 会根据系统参数判断走 OpenAI 还是 IAP。很多团队会把这件事理解成“换供应商”,但源码显示真正重要的不是供应商,而是:无论用哪个后端,返回值最后都要被系统再次清洗。

这点很关键。企业版并没有把 AI 当权威答案,而是把 AI 当作原始输入提供者。

二、字段白名单是核心控制点,不是小细节

源码里非常明确地只接受 partner_namecontact_nameemail_fromphonewebsitefunction、地址等少数字段。换句话说,就算模型吐出更多内容,系统也不会全部照单全收。

这一步的意义非常大:

  • 防止模型生成无关字段污染 lead;
  • 保持 CRM 主模型的可解释性;
  • 降低未来做去重、过滤和分配时的数据噪音。

新手误区就在这里:以为“AI 给得越多越好”。实际上企业系统更怕字段越界,而不是字段太少。

三、真正决定可用性的,是后续归一化

BusinessCardScanner 不会在拿到 JSON 后立刻创建 lead。它还会继续做三件事:

  1. country_code 映射国家;
  2. state_code 在国家上下文里找州省;
  3. 通过 _phone_format() 规范电话号码。

这意味着名片识别真正的价值,不是把图片转成文本,而是把文本转成 CRM 里的结构化字段。没有这一步,后续销售筛选、去重、联系都会明显变差。

四、附件回挂商机,体现了企业流程的可追溯性

创建完 opportunity 后,系统会把原始附件重新挂到 crm.lead,并记录“Lead generated from this image.” 的日志。这个动作特别像企业版:它不是只给你结果,还保留原始凭证。

在真实团队里,这样做有三个价值:

  • 销售能回看原始名片;
  • 管理者能抽检识别质量;
  • 数据治理时能追溯错误来源,而不是只剩下一条脏数据。

五、新手最容易误解的边界

  • 名片识别不是联系人主数据维护器,它产出的是商机对象。
  • OCR 成功不等于字段可信,系统还要做二次归一化。
  • AI 返回内容越多不一定越好,字段白名单才是稳定性的关键。

六、实战建议

  1. 先补齐国家、州省和电话格式化相关主数据,再大规模推广名片扫描。
  2. 对销售培训时要强调:扫描结果是起点,不是最终客户档案。
  3. 如果用 OpenAI,重点监控返回 JSON 的稳定性;如果用 IAP,则重点看失败回执和可解释性。

七、结论

crm_enterprise 真正企业化的地方,不在于“接了一个 OCR 服务”,而在于它把 AI 输出塞进了一条受控的数据收口流程:字段受限、信息归一、原图回挂、结果可追溯。这样生成的商机,才更像业务资产,而不是一次性识别结果。

DISCUSSION

评论区

想参与讨论?先 登录 再发表评论。
还没有评论,你可以成为第一个留言的人。