企业 CRM 扫卡

Odoo 企业版名片扫描为什么不是“拍照生成线索”:字段归一化、失败回执与商机关联讲透

crm_enterprise 的名片扫描链路真正复杂的部分在 OCR 结果归一化、国家州省匹配、电话格式化和失败图片回执,不只是“AI 识别一下”。

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

名片扫描是那种很容易被演示成“拍一下就出线索”的企业版功能。但只要你认真想一下现实场景:名片上可能有多语言、缩写、手机区号、州省简称,甚至根本扫不清。crm_enterprise 真正做的,是把这些不确定性收束成 CRM 能接受的数据。

主要参考:

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

一、扫描入口只是开始,核心在 BusinessCardScanner

action_ocr_business_cards() 只是把附件送进扫描器。真正的业务逻辑在 BusinessCardScanner:它会决定走 OpenAI 还是 IAP、如何解析返回 JSON、哪些字段可以落到 crm.lead、哪些图片需要判定为失败。

二、归一化比 OCR 本身更重要

源码里能看到国家、州省、电话等字段会继续匹配和格式化。也就是说,即便 OCR 识别出一串文本,系统也不会直接原样塞进 lead,而是尽量把它变成 CRM 后续可筛选、可去重、可联系的数据。这一步决定了扫描结果是“看起来像线索”,还是“真的能被销售继续推进”。

三、失败也会生成回执对象,这是非常企业化的设计

很多人会以为识别失败就该静默报错。但 business_card_scanner.py 会为失败图片创建空 lead,并把附件挂上去、记录消息,告诉用户这张图没成功提取。这样做的好处是:运营或销售主管可以追查失败率,而不是让图片直接消失在上传动作里。

四、最容易误解的边界

  • 名片扫描生成的是 opportunity / lead 对象,不是联系人主数据。
  • OCR 成功不等于字段都可信;系统还要做格式化和地域映射。
  • 失败回执不是脏数据,它是流程反馈的一部分。

五、实战建议

  1. 扫描前统一上传要求:清晰度、单张图片、避免强反光。
  2. 如果跨国业务多,先检查国家/州省主数据是否完整,否则归一化会频繁失败。
  3. 培训销售时要说明:扫描结果是“待判断的起点”,不是完全可信的客户档案。

六、结论

名片扫描的真正门槛,不在识别图片,而在把非结构化信息稳定地翻译成 CRM 里的可运营对象。crm_enterprise 在意的是这个翻译过程能不能闭环。

DISCUSSION

评论区

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