ERPseries / 进销存与业财一体化

业财通识12:一个客户,为什么会有三条记录?——CRM 作为主数据底座的三层模型

在前面的 O2C 文章里,客户一直都在场。 第 8 篇里,销售要先识别客户需求,才能把商机转成销售订单。第 9 篇里,系统要检查这个客户的信用额度,决定订单能不能放行。第 11 篇里,财务还要把客户的付款和发票做核销,确认这笔钱到底有没有收…

11 分钟阅读
ERP
浏览量加载中...
文章信息
分类ERP
阅读11 min
Article body
正文内容

导言:同一个客户,为什么会在系统里变成三条记录?

在前面的 O2C 文章里,客户一直都在场。

第 8 篇里,销售要先识别客户需求,才能把商机转成销售订单。第 9 篇里,系统要检查这个客户的信用额度,决定订单能不能放行。第 11 篇里,财务还要把客户的付款和发票做核销,确认这笔钱到底有没有收回来。

但如果你真的打开一套企业系统后台,常常会看到一个让人困惑的现象:同一个客户,在销售系统、财务系统、客服系统里,很可能不是一条记录,而是三条看起来都像它的记录。

销售系统里记录的是“张三负责跟进的重点客户”;财务系统里记录的是“开票主体为某某科技有限公司”;客服系统里记录的是“联系人王经理,电话 138xxxxxx”。名字看起来差不多,但编码、地址、联系人,甚至公司全称都可能不一样。

这时候问题就来了:支撑 O2C 全流程流转的“客户”,到底是什么?

今天这篇文章,我们就来讲清楚 CRM 的真正位置。我的结论是:CRM 不是一个单纯给销售用的工具,而是 O2C 流程里的客户主数据底座。 如果没有这块底座,订单不知道该开给谁,信用检查不知道该查谁,发票和收款也不知道该挂到谁名下。

CRM:被误解的“客户管理系统”

很多工程师第一次听到 CRM,脑子里想到的往往是“销售录客户”“跟进商机”“做客户拜访记录”。这些都没错,但只看到这一步,很容易把 CRM 理解得太窄。

业务定义:CRM(Customer Relationship Management,客户关系管理)是围绕客户建立、维护和使用信息的一套系统能力。它不仅管理“我们在跟谁做生意”,更管理“这个客户是谁、长什么样、和我们是什么关系、在整个业务流程中该如何被识别和使用”。

你可以把 CRM 理解成一个企业级的“客户档案袋”。

这个档案袋里装的,不只是一个名字和一个电话,而是至少四类信息:

  1. 身份信息:这个客户到底是谁,如何唯一识别。
  2. 属性信息:这个客户有哪些基本信息、经营信息和信用信息。
  3. 关系信息:这个客户和谁有关联,属于哪个集团,由谁跟进,通过什么渠道成交。
  4. 业务轨迹:这个客户过去问过什么、买过什么、欠过多少钱、有没有投诉记录。

所以,CRM 的核心价值并不只是“方便销售跟单”,而是让整个企业对“客户是谁”形成统一认知

这也是本文最重要的反常识点:CRM 的核心价值不在“销售”,而在“数据”。 销售没有 CRM,最多是工作效率差一点;但 O2C 没有 CRM,整个流程很快就会开始对不齐。

客户主数据的三层模型:身份、属性、关系

如果想把 CRM 讲清楚,我最推荐的方法不是一上来背字段,而是先建立一个简单的三层模型:身份层、属性层、关系层

第一层:身份层——先回答“你是谁”

身份层解决的是最基础的问题:系统到底怎么认出这个客户。

对于企业来说,最危险的不是“没有客户”,而是“同一个客户被系统当成了两个客户”。一旦识别错了,后面的订单、信用、开票、收款都会连着错。

身份层通常包括这些内容:

字段 通俗理解 示例
客户主编码 系统里唯一的客户 ID CUST-000128
客户名称 这个客户叫什么 “华东智联科技有限公司”
客户类型 是企业、个人,还是经销商 企业客户 / 经销商
统一社会信用代码 企业的法定唯一标识 9131XXXXXXXXXXXXXX
别名/简称 日常被怎么称呼 “华东智联”
状态 这个客户是否有效 启用 / 冻结

这些字段看起来朴素,但作用非常关键。

比如销售说“华东智联”,财务说“华东智联科技有限公司”,客服系统里又记成“华东智联上海”。如果系统里没有统一的客户主编码,这三条记录就很可能被当成三个客户。结果就是:销售看到的交易额不完整,财务看到的应收账款分散,客服看到的投诉记录也无法关联。

所以,身份层的本质不是“记名字”,而是建立唯一性

第二层:属性层——再回答“你是什么样的客户”

只知道客户是谁,还不够。系统还要知道这个客户“长什么样”,才能决定后续流程怎么跑。

这就是属性层的作用。

属性层通常包括这些信息:

字段 通俗理解 示例
所属行业 这个客户做什么生意 制造业 / SaaS / 零售
所在区域 主要在哪个地区 华东区
客户等级 企业如何给它分层 VIP / A 类 / 普通
结算方式 通常怎么付款 月结 30 天
默认币种/税率 财务处理的默认口径 人民币 / 13%
信用额度 最多允许欠多少钱 500,000 元
联系地址 单据、发货、拜访要用什么地址 上海市浦东新区某路某号

属性层决定的是业务规则如何作用在这个客户身上

比如:

  • 如果客户等级是 VIP,报价时可以自动走 VIP 价。
  • 如果客户属于高风险行业,信用检查时可能要走更严格规则。
  • 如果客户默认结算方式是月结 30 天,订单创建时就能自动带出付款条件。
  • 如果客户在华东区,对应的销售组织、税率口径、物流策略也可能不同。

换句话说,属性层不是为了“让客户看起来更完整”,而是为了让业务规则有抓手

第三层:关系层——最后回答“你和谁有关”

企业里的客户,通常不是孤立存在的。

一个客户可能属于某个集团,下属多个子公司;也可能通过代理商下单,由最终门店收货;还可能有多个联系人,分别负责采购、财务、技术和售后。

这些都属于关系层。

关系层常见的信息包括:

字段 通俗理解 示例
集团关系 是否属于某个母公司 华东智联集团
子公司关系 是否是集团下属公司 苏州子公司
联系人关系 和哪些人打交道 采购经理、财务经理
渠道关系 是直营还是经销渠道 华东总代
销售归属 由哪个销售或团队负责 企业业务一部
历史交易关系 和我们发生过哪些业务 下单、开票、回款、投诉

关系层解决的问题,不再是“识别”或“画像”,而是上下文

比如一个集团客户,销售订单可能由子公司签,发票抬头是母公司,实际收货又是门店。如果系统没有关系层,前台看上去只是“客户信息有点乱”;但到了财务核销、信用额度控制、渠道结算这些环节,问题就会迅速放大。

三层模型到底有什么用?

为了把三层模型记得更牢,我们可以把它理解成一个非常简单的顺序:

  • 身份层:保证“找得到同一个人”
  • 属性层:保证“知道该怎么对待这个人”
  • 关系层:保证“知道这个人和谁连在一起”

如果缺了身份层,系统会认错人。

如果缺了属性层,系统虽然认得这个客户,却不知道该给什么价格、什么账期、什么风控规则。

如果缺了关系层,系统即便知道这个客户是谁,也很难处理集团客户、渠道客户、多联系人客户这种现实业务。

这三层合在一起,才构成一个真正可用的客户主数据底座。

CRM 如何串起 O2C 全流程

理解了三层模型后,我们再回头看 O2C,就会发现 CRM 其实一直在幕后“供数”。

O2C 环节 从 CRM 取什么 为什么必须取
销售机会/报价 客户名称、客户等级、所属行业、联系人 销售要知道在跟谁谈,报价要知道适用哪套价格规则
销售订单 客户主编码、开票主体、收货地址、付款条件 订单必须明确签给谁、货送到哪、钱怎么结
信用检查 客户信用额度、风险标签、历史逾期情况 系统要判断这笔订单会不会带来坏账
发票开具 法定名称、税号、开票地址、开户信息 发票必须准确开给法定主体
收款核销 客户主编码、应收主体、信用占用情况 财务要把钱正确挂到对应客户,并释放额度
售后服务 联系人、设备地址、历史订单 客服要知道到底服务谁、服务过什么

从这个表里你会发现,CRM 不是 O2C 的一个边角模块,而是一个几乎每个节点都会被读取的数据中枢。

这也是为什么我前面说:CRM 的核心价值不在销售,而在数据。

因为 O2C 的每一步都在问同一个问题,只不过问法不同:

  • 销售在问:这个客户值不值得跟。
  • 风控在问:这个客户能不能赊。
  • 财务在问:这张发票该开给谁。
  • 收款在问:这笔钱到底该冲谁的账。

如果底层没有一套统一的客户主数据,这些问题就会被不同系统各自回答,最后得到彼此对不上的答案。

客户主数据为什么总是容易“长歪”?

理论上,CRM 应该是客户的统一底座。但现实里,客户主数据很容易越用越乱。最常见的有三类问题。

难题一:一客多号

同一个客户,可能通过官网注册过一次,通过销售手工新建过一次,通过经销商导入又来过一次。

结果就是:系统里出现多个“看起来像同一个客户”的记录。

这类问题的本质,是没有把“唯一识别”放在第一位

常见做法包括:

  1. 设立统一客户主编码,不允许各系统各自造号。
  2. 把统一社会信用代码、手机号、邮箱等作为辅助去重条件。
  3. 建立客户合并机制,让重复客户可以合并,而不是永远并存。

难题二:跨系统同步

销售把客户地址改了,财务系统不知道;财务更新了开票信息,客服系统也没同步。这种问题在企业里非常常见。

它的本质不是“某个人忘了通知”,而是多个系统都把自己当成客户信息的维护入口

更稳妥的思路通常是:

  • 明确谁是客户主数据的源头系统。
  • 其他系统优先读取,不随意本地改写。
  • 对必须本地维护的字段,划清边界,比如“销售联系人”由销售维护,“开票税号”由财务维护。

简单说,客户信息不能谁都能改。否则数据同步问题不是偶发 bug,而是必然结果。

难题三:敏感字段权限

客户的基本名称和联系人,大多数业务人员都要看。但像信用额度、欠款余额、税号、开户信息这类字段,就不能默认对所有人开放。

如果权限放得太开,数据安全有风险;如果权限放得太死,业务流转又会卡住。

这类问题最稳妥的处理方式,通常不是“整个客户档案能不能看”,而是按字段分级授权

比如:

  • 销售可以看联系人、等级、商机记录。
  • 财务可以看开票信息、收款信息、信用额度。
  • 客服可以看联系人、设备、服务记录,但不一定能看信用额度。

这说明一个很重要的事实:CRM 不只是“有一张客户表”,而是一整套围绕客户数据的治理机制。

客户主数据字段设计速查清单

如果你在需求评审、产品设计或者系统建模时,不知道 CRM 字段该怎么分,可以先用下面这张表做第一轮检查。

字段 所属层 必填度 敏感度
客户主编码 身份层 必填
客户名称 身份层 必填
客户类型 身份层 必填
统一社会信用代码 身份层 企业客户必填
客户简称/别名 身份层 可选
所属行业 属性层 建议必填
所在区域 属性层 建议必填
客户等级 属性层 建议必填
付款条件 属性层 建议必填
信用额度 属性层 账期客户必填
风险标签 属性层 可选
开票地址/税号 属性层 开票客户必填
集团关系 关系层 集团客户必填
联系人信息 关系层 建议必填
销售归属 关系层 建议必填
渠道关系 关系层 渠道业务必填

这张表不是标准答案,但很适合做第一轮自检。

如果一个系统里连“客户主编码、客户名称、客户类型、付款条件、联系人”这些基础字段都没有定义清楚,那它大概率还谈不上真正的 CRM。

总结:CRM 不是销售工具,而是 O2C 的数据地基

回到文章开头那个问题:为什么同一个客户,在系统里会变成三条记录?

答案通常不是因为业务太复杂,而是因为企业没有把“客户”当成一份统一的主数据来管理。

CRM 的真正价值,不是多一个让销售录信息的页面,而是帮助企业回答清楚三件事:

  1. 这个客户是谁:靠身份层保证唯一识别。
  2. 这个客户是什么样:靠属性层承接业务规则。
  3. 这个客户和谁有关:靠关系层支撑真实业务上下文。

理解了这三件事,你就能明白为什么 CRM 会出现在 O2C 的每一个关键节点里。订单、信用、开票、收款,看起来是不同流程,底下用的其实都是同一份客户认知。

CRM 不是 O2C 的配角,它是整个流程能对得上的数据地基。

在下一篇文章中,我们继续往前走一步:当客户已经被分层、被识别、被管理之后,企业又该如何针对不同客户,设计不同的价格体系?


往期回顾


关于十三Tech

资深服务端研发工程师、架构师、AI 编程实践者。
希望能和大家一起写出更优雅的代码!

Share

如果正好有需要,可以支持一下

这里放了一个阿里云活动入口。你本来就打算了解这类服务的话,可以从这里进去;如果有推广收益,我会优先用来覆盖服务器、域名和维护成本。

查看活动入口

相关文章

ERP2026年3月26日
series / 进销存与业财一体化

业财通识28:权限设计——谁能看、谁能改、谁能批

上一篇我们聊了状态机。状态机解决的是业务怎么流转的问题:一张采购申请从"草稿"到"待审批"再到"已审批",每一步都需要明确的事件触发,状态之间不能乱跳。 但状态机只管"规则",不管"人"。 想象这样一个场景:一个刚入职的实习生,在系统里看到…

ERP2026年3月17日
series / 进销存与业财一体化

业财通识26:功能模块划分——如何把业务流程变成系统菜单

前面的 25 篇文章,我们一起走完了企业最核心的三条业务主线。 花钱的线:从采购申请到采购订单,从收货入库到发票校验,最后付款给供应商。赚钱的线:从销售机会到报价,从销售订单到发货开票,最后把应收账款收回来。管货的线:从入库出库到盘点调拨,…

ERP2026年3月12日
series / 进销存与业财一体化

业财通识25:业财对账——打通业务与财务的最后一公里

前面三篇文章,我们分别聊了应收对账、应付对账和银行对账。 这三类对账有一个共同点:对账的双方,至少有一方是外部机构——客户、供应商或银行。外部对账虽然有难度,但边界清晰、规则明确,对不上就是哪边出了问题,总能找到责任方。 但企业里还有一类对…