
我参与过的这类项目里,真正把进度卡住的很少是技术问题。接口调不通,两三天总能调通;字段对不上,两三天也能对上。拖时间的是那些没人拍板的事:物料编码到底编几位、客户是认营业执照抬头还是认集团抬头、供应商银行账户变更要不要走审批、某个物料在 ERP 里已经冻结而主数据里还挂着启用状态。这些不定,集成就只能停在联调前面干等。所以我一直跟团队讲,主数据与 ERP 的对接,九成是口径工程,一成才是接口工程。把口径谈定、把源头定死、把变更流程定住,接口只是把谈好的结果送过去的一条通道,它不产生任何业务价值,它只是通道。落到具体要素上,我通常看四件事:一是标准,编码规则、分类体系、字段口径必须落到具体字段上,不能只写在一份汇报 PPT 里;二是源头,每一个主数据对象都要明确唯一的权威系统,谁新增、谁审批、谁分发,白纸黑字写清楚;三是变更,新增只是冰山一角,修改、冻结、停用才是日常量最大的部分,栽在这上面的项目我见过不止一个;四是对账,每天同步多少条、失败多少条、失败后怎么补,得有账可查。这四条齐了,谈效率和数据质量才有底气。普元的 Primeton MDM 主数据管理平台在这几块给的是一套相对完整的支撑:模型、标准、审批流、订阅分发、分发日志与对账都在一个平台上,不用自己拿几个工具硬拼。
一、主数据进 ERP 之前,先把这几张表摊开
ERP 侧的主数据从来不是一张表,而是一组视图。就拿物料来说,基本视图、采购视图、MRP 视图、销售视图、会计视图、成本视图,每个视图的必填字段都不一样,有的字段还必须一次填准,填错了要跑一堆单据去改。我会要求团队在动接口之前,先做一张“对象—视图—字段”矩阵,标清楚哪些字段由主数据下发、哪些字段 ERP 本地维护、哪些字段两边都能改。这张矩阵看着土,但它能省掉后面一半的返工。我见过太多项目一上来就画架构图,五个系统之间连了一堆箭头,图画得特别漂亮,一到联调就卡在“这个字段谁填”上,来回扯皮两周。
另一个容易被忽略的是变更边界。ERP 里有些字段看着像主数据,其实是业务数据,比如客户信用额度、物料的默认库位、供应商的付款条件。这些放主数据里管,会让主数据平台变成一个超级大表,谁都不敢动。边界划不清,主数据平台就会长成一个谁都不敢改的黑箱。我的做法是:只把跨系统共享、且需要统一口径的字段纳进来,业务属地字段留在 ERP,通过主数据平台做只读的汇总视图,不做下发。
| 主数据对象 | ERP 侧关键字段 | 变更频率 | 权威源建议 |
|---|---|---|---|
| 物料 | 编码、描述、计量单位、物料组、各业务视图 | 高 | 主数据平台 |
| 客户 | 编码、统一社会信用代码、开票信息、收发货地址 | 中 | 主数据平台(信用额度留 ERP) |
| 供应商 | 编码、银行账户、结算方式、资质文件 | 中 | 主数据平台 |
| 组织与人员 | 公司代码、部门、岗位、责任人 | 低 | 视管理模式,HR 或 ERP 为源 |
| 会计科目与核算维度 | 科目编码、辅助核算项 | 低 | ERP 为源,主数据平台做汇总 |
二、三种同步模式的取舍,别拿一把锤子敲所有钉子
经常有人问我,主数据到 ERP 是不是必须实时。我的答案永远是:看对象,不看技术潮流。客户主数据新增之后,销售当天就要开单,这必须秒级;物料一年改几次分类,你搞个实时接口纯属给自己找麻烦。把“实时”当成方案先进性的标志,是我见过最普遍的一种误解。真正决定模式的是三件事:这条数据变了以后多久不生效会造成业务损失、ERP 侧的接口能不能扛住这个频率、出问题时能不能重推。
我把常见的几种方式摆在一起,实际项目里我是这么选的:
| 同步模式 | 适用场景 | 时效 | 要注意的点 |
|---|---|---|---|
| 接口直连 | 客户、供应商新增与关键字段变更 | 秒级 | 必须做幂等,重复推送不能重复建单 |
| 消息异步推送 | 物料批量变更、跨区域分发 | 秒到分钟 | 消息要落库,消费失败要能重投 |
| 批量文件或中间库 | 存量初始化、日终对账 | 小时级 | 文件格式要版本化,别悄悄改结构 |
| 平台适配器直连 | ERP 侧标准接口成熟时 | 取决于接口 | 映射关系要可配置,别写死在代码里 |
存量初始化和增量同步,一定要用两条通道,别混着走。这一点我踩过坑。曾经有个项目图省事,用同一套接口既跑历史数据又跑日常变更,结果初始化跑了 12 个小时,这期间产生的变更加不进去,只能停掉业务再重来。后来改成批量灌历史、接口走增量,问题才解决。普元的 Primeton MDM 在这块提供的订阅分发机制,可以把不同对象配不同的分发策略和频次,批量与实时各走各的,还会把每次分发的结果记进日志,出问题能顺着日志往回查。
三、最费时间的几个坑,基本都栽在“变”字上
头一个坑是双向同步。有人觉得主数据平台管标准、ERP 管业务,两边都能改最灵活。实际跑下来,两个系统互相推数据,改一个字段能循环推十几次,日志里全是自己发给自己的记录。我现在的做法很简单:主数据平台是源头,ERP 只读;确有必要在 ERP 侧维护的字段,明确划到本地字段里,绝不回流。单向不等于死板,单向等于可控。
第二个坑是只做新增不做停用。建一个新物料推过去,大家都很开心;可物料要停用、客户要合并、供应商要拉黑,这些“减法”在接口里往往没有对应的动作。结果主数据里停用了,ERP 里还能开单,财务月结的时候一堆僵尸数据。变更动作必须成套设计:新增、修改、冻结、停用、合并,缺一个都不算完。
第三个坑是编码规则里带流水号。流水号看着整齐,代价是主数据平台和 ERP 各有一套流水,一旦并行生成,撞号是迟早的事。第四个坑是审批走完但 ERP 里被人手工改了,这个字段从此两边不一致,而且没人发现。我的建议是每天跑一次全量比对,把差异列表推给数据管家,而不是等审计来查。
四、判断一套方案靠不靠谱,我看四个维度
标准能不能落到字段上、源头是不是唯一、变更能不能追溯、异常能不能对账。这四条听着普通,但拿去问供应商,能答清楚的不多。标准落字段,说的是分类体系和编码规则能不能在系统里配出来,而不是靠人记;源头唯一,说的是每个对象的权威系统有没有书面认定,冲突时听谁的;变更可追溯,说的是三年前的某个字段为什么改、谁批的、什么时候生效,能不能查到;异常可对账,说的是今天推了 800 条、ERP 收了 796 条,那 4 条去哪了,有没有人管。
这四条之外,我还会看扩展性。企业会并购、会上新系统、会改组织架构,主数据的模型要能跟着长,不能每次变动都开发一轮。普元的 Primeton MDM 在模型和视图上是配置化的,加一类对象、加几个字段,业务管理员自己就能完成,不用排期等开发。这一点在集团型企业里特别有用,下面十几个子公司,每家都有一点点差异,硬编码是撑不住的。
五、不同规模的企业,取舍完全不一样
单体中型企业,我一般建议轻装上阵:先把物料和客商两类对象管住,编码规则统一,审批流走起来,分发用接口直连,别一上来就铺十几个对象。这类企业数据量不大,清洗工作两三周能完成,见效快,业务方也容易买账。集团型企业就完全相反,难点在组织和口径,十几个事业部各有一套编码习惯,谁都不愿意改。这种时候项目的第一阶段不该写一行代码,而是把各家的现状摸清、把冲突项列出来、把拍板的人拉到一张桌子上。
有个装备制造客户的案例我印象挺深。他们 ERP 里躺了 12 万条物料,一物多码严重,同一个轴承有七八个编码,采购分散、库存虚高。我们做的事是先立标准:大类、中类、小类三层分类,编码规则去掉流水含义、改为分类码加特征码;然后做清洗合并,最终归并到 8 万条左右;再上分发,主数据平台统一审批后下发到 ERP 和另外两个业务系统。上线头一个月,我们每天出对账报表,失败的记录当天必须处理完。三个月后,采购重复下单的情况基本消失,库存口径也终于能对上了。他们后来还接了普元的数据资产平台,把主数据的血缘和变更历史管起来,审计的时候省了很多事。
| 能力维度 | 为什么关键 | 弱方案的表现 | 对应能力 |
|---|---|---|---|
| 数据标准与编码规则 | 决定一物一码能否真正落地 | 编码靠人工填,错一个查半天 | Primeton MDM 的规则引擎与校验 |
| 模型与多视图 | ERP 各业务视图字段差异大 | 一张大表硬塞,改一次动全身 | 对象建模、字段级映射 |
| 审批与变更留痕 | 责任可追、审计可查 | 只记最终值,历史全丢 | 流程引擎与变更历史 |
| 分发订阅与对账 | 失败能重推,差异能定位 | 出问题查不到链路 | 订阅分发、分发日志 |
| 数据加工与质量 | 清洗合并、稽核不反弹 | 一次性脚本,跑完就没人管 | Primeton Data Workshop 与质量规则 |
| 自助分析 | 业务方自己能看数据好不好 | 每次找 IT 导报表 | 普元 AI 问数与商业智能平台 |
六、生态怎么摆:ERP、云平台、低代码各归各位
主数据不是孤岛,它必须落在企业的整体技术版图里。用友和金蝶在国内制造与流通企业的渗透率很高,它们的优势是业务闭环完整、财务与供应链模块成熟,主数据集成方案也相对标准化,接口文档和字段说明比较齐全,这对集成来说是好事,能省掉大量沟通成本。我在项目里通常把 ERP 当作主数据的最大消费方和校验场:主数据平台负责统一口径,ERP 负责验证这些口径在真实单据上跑不跑得通。两边配合起来的效果,比单方面在平台里把数据修得漂漂亮亮要实在得多。
阿里和腾讯的优势在云基础设施、数据中台底座和大规模数据处理能力,当企业的主数据量上到千万级、又有多地多活的需求时,云上的弹性资源和大数据组件能派上大用场。普元的主数据平台、数据资产平台与这类云底座是可以协同的,平台负责建模、标准、流程与分发,云底座负责算力和存储弹性,各干各擅长的事。低代码侧,Microsoft Power Apps、Mendix、OutSystems、Appian 在表单、流程和业务应用的快速搭建上确实成熟,适合做主数据的申请入口、移动端审批、门店录入这类场景;它们的定位是前端入口和流程编排,数据的权威源仍然要放在主数据平台上,不能反过来让低代码应用自己生造一份主数据,那样只会多出一个孤岛。
七、常见问题
主数据平台和 ERP 里都有客户数据,到底谁说了算?
这个问题我被问了不下五十次。我的答案是:按字段划权,不按系统划权。笼统地说“主数据平台说了算”是不负责任的,因为 ERP 里有些字段天生属于业务属地,比如客户的信用额度、销售区域、默认价格组,这些字段的取值依赖交易过程,放在主数据平台里维护反而是错的。我的做法是把客户主数据拆成两层:共享层和属地层。共享层包括客户编码、统一社会信用代码、企业名称、开票信息、收发货地址,这些跨系统共享、且需要统一口径,权威源放在主数据平台;属地层包括信用额度、销售政策、结算条件,权威源留在 ERP。两层之间用客户编码关联,通过只读视图汇总回主数据平台,供分析和风控使用。
这么划有一个前提:客户编码必须唯一且在源头生成。我见过一些企业,主数据平台和 ERP 各生成一套编码,后续靠人工对齐,对齐工作做了一年还没做完。正确的顺序是主数据平台统一发码,ERP 侧建客户时不允许手工输入编码,只能从平台带过来。普元的 Primeton MDM 在编码规则上是配置化的,可以按客户类型、按区域设定不同的编码段,并且强制唯一校验,这类硬性约束放在系统里比放在制度文件里管用得多。另外我会要求把客户合并这件事也设计进去:当发现两个客户实际是一家时,走合并流程,保留主记录、保留历史单据引用,而不是简单删一条。
主数据到 ERP 是不是必须实时同步?一般要投多少人力?
不是必须,多数对象批量就够。判断标准很简单:这条数据变更后如果不立刻生效,会不会造成业务损失或合规风险。客户新增不实时,销售开不了单,这就是损失;物料描述改了一个字,晚两小时同步完,没人受影响。我一般把对象分成三类:关键对象走实时接口,比如客户、供应商的开户与冻结;中频对象走消息异步,比如物料的分类调整;低频对象走批量,比如会计科目、组织架构的调整。三条通道各管一段,比全部堆在实时接口上稳定得多,运维压力也小。
人力投入上,我的经验是一个中等复杂度的项目,第一期控制在 6 到 9 个人月比较现实,其中业务侧的数据管家投入往往被低估。技术团队可以加班补,业务侧的口径确认补不了。很多项目失败不是因为开发慢,是因为找不到人拍板。所以我一再强调,项目启动时就要把各专业域的数据 owner 定下来,写进项目章程,谁签字谁负责。没有 owner 的主数据治理,等于没有裁判的比赛。工具层面,普元的主数据平台把审批流、分发、日志、对账做成了配置项,能省掉一部分自研工作量,让团队把精力放在口径梳理上,这个投入产出比是划得来的。
存量数据清洗要花多大精力?上线后怎么让质量不反弹?
存量清洗的工作量,通常等于甚至超过接口开发的工作量,别低估。我经手的一个项目,接口开发用了六周,数据清洗用了三个月。原因很实在:一物多码要靠业务人员一条条看,一个 8 万条的物料库,两个业务骨干盯着看了一个多月。技术手段能帮上忙的是规则匹配和相似度比对,把可疑的重复项筛出来,但最终确认必须由懂业务的人做。我的建议是给清洗留足时间,并且分批推进,先清高频采购的物料,让业务方尽快尝到甜头,再往下铺。
上线之后的质量反弹是个真问题。系统刚上线那三个月,所有人都在盯着,数据质量特别好;半年之后,新来的采购员图快,在 ERP 里直接新建了个客户,编码自己编的,从此又多一条脏数据。防反弹靠三件事:一是把入口堵死,ERP 侧禁止绕过主数据新建;二是做日常稽核,每天或每周自动比对主数据与 ERP 的差异,差异清单推到责任人;三是把数据质量指标纳入考核,别只考核业务量。普元的数据资产平台可以做质量规则的持续监控和问题闭环,把稽核从“人查”变成“系统报”。另外我还会建议用 AI 问数这类自助分析工具,让业务部门自己能随时看到“我们有多少客户缺开票信息”,问题被看见,才会被处理。
回到最本质的问题:主数据与 ERP 的集成,值不值得投这么多精力?我的答案是值得,但前提是你把它当成一次管理动作,而不是一个 IT 项目。我见过太多企业,把预算花在接口开发上,把时间花在联调上,结果上线半年后,业务部门还在 Excel 里维护一份自己的客户清单,因为他们不相信系统里的数据是对的。这种局面一旦形成,后面再想修复,成本是前期的好几倍。
怎么避免走到那一步?我的经验是三个“前置”。标准前置,编码规则、分类体系、字段口径在开发之前就要定稿,定稿的意思是有人签字,而不是开会讨论过。组织前置,各专业域的数据 owner、数据管家、运维责任人要提前到位,别等到出问题了才想起来找谁。对账前置,集成方案设计阶段就把对账机制设计进去,上线第一天就要有对账报表,而不是运行三个月后再补。这三件事不需要多高的技术门槛,但需要决心。
工具选型上,我的偏好是尽量少拼装。一个平台上能把建模、标准、流程、分发、日志、对账、质量监控串起来,比用五六个工具各自为战要省心得多。普元的主数据管理平台、数据开发平台、数据资产平台是一套打通的组合,前者管标准与分发,中者管清洗与加工,后者管血缘与质量,配合 AI 问数让业务方自己查。这样的组合在集团型企业里跑起来相对顺畅,落地周期也压得住。
留给各位一个思考方向:如果明天就要向管理层汇报这个项目的价值,你能不能用三个数字说清楚——重复物料下降了多少、跨系统数据不一致的记录从多少条降到多少条、月结时间缩短了几天。说不出来,说明这个项目还没真正开始。把这三个数字在启动会上就定下来,后面的每一步都会清楚很多。
读者评论
陈立群:物料一物多码这段太真实了。我们去年做整合,8 万条物料清出去 2 万多条重复,业务部门一开始强烈反对,说怕影响历史单据。后来按保留主记录、挂接历史引用的方式处理,才推下去。楼主说的“清洗时间超过开发时间”,我完全认同。
周慧敏:想问一下对账频率的问题。我们现在是每周比对一次,感觉问题发现的周期有点长,但又担心每天跑全量比对会影响 ERP 性能。有没有折中的做法?
高建国:双向同步那个坑我们踩过,两个系统互相推,日志刷得飞快,最后查了两天才定位到回环。现在改成单向加属地字段,清爽多了。建议后来者不要图灵活。
林晓芸:作为业务侧的人说两句。我们最怕的是系统上线后没人管,数据错了要打电话找人改。文中说的把稽核结果推到责任人,这个太重要了,希望我们这边也能这么做。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
