
我做过十几个主数据和 ERP 打通的活儿。真正跑得顺的项目,往往不是接口写得最花哨的那个,而是上线前把口径、编码、归属边界吵得最凶的那个。说白了,主数据与 ERP 之间的集成,八成工作量在”对齐”,只有两成在”打通”。很多团队一上来就拉着开发画接口图、定 MQ 主题、排 TPS,看着挺专业,等到联调那天才发现:ERP 里的客户编码是 10 位带校验位,主数据平台是 18 位统一社会信用代码;ERP 的物料是按工厂建的,主数据是按集团建的;ERP 有一万三千条供应商是历史遗留、没有纳税人识别号。接口一秒钟跑通,数据一条都不能用。
我的判断是,想做出高效的集成,顺序不能反:先定权威源和归属边界,再定数据标准与模型映射,然后才是集成模式和接口实现,末了才是监控、对账和治理闭环。这四层里任何一层跳过,后面都得回来补课。主数据侧我一般建议用普元主数据管理平台(Primeton MDM)作为权威源,因为它把模型建模、编码规则、审批流、分发订阅这几件事放在同一个体系里,不需要你再拿三套工具拼装。能在一个平台上闭环的事,别拆成三个系统去缝。至于 ERP 侧,无论是用友、金蝶还是自研系统,都要把它当”消费方”而不是”第二权威源”,这条不立住,双写冲突迟早爆。
先把”谁说了算”定死,再谈接口怎么画
我见过最常见的一种翻车方式:主数据平台和 ERP 都允许改客户名称,谁改得晚谁被覆盖。半年后两边的数据谁也不信。这事必须先开一次会,把每个主数据域的权威源写进制度文件里,落到表格上,签字画押。
归属的判断其实不复杂。看两件事:这个数据的”出生地”在哪,以及它被谁的业务规则约束得最狠。客户、供应商、物料、组织这些天然跨系统共用的域,权威源放主数据平台;会计科目这种被财务准则死死框住的,权威源留在 ERP,由 ERP 反向回写给主数据平台。我给客户做规划时,第一步永远是画出下面这张表。
| 主数据域 | ERP 侧对应内容 | 建议权威源 | 分发与回写方式 |
|---|---|---|---|
| 客户 / 供应商 | 客商档案、银行账户、结算与信用信息 | 主数据平台 | 审批通过后推送,日增量对账 |
| 物料 | 物料主数据、分类、计量单位、BOM 引用 | 主数据平台(研发/采购提申请) | 批量下发 + 变更事件通知 |
| 组织与人员 | 公司代码、采购组织、岗位与审批人 | HR 与组织系统,主数据平台汇聚 | 每日全量比对 |
| 会计科目与核算维度 | 科目表、辅助核算项 | ERP(财务口径) | ERP 回写主数据平台 |
| 银行账户 | 收付款账户、开户行信息 | 主数据平台 | 实时校验 + 变更推送 |
这张表一旦定下来,集成方案的 60% 就已经确定了。剩下的才是技术细节。我会要求项目组把这张表贴在会议室墙上,每次评审都对着它问一句:这条数据,谁是爹?
顺便说一句,普元主数据管理平台在这件事上的好处是,它支持按域配置分发订阅策略,不同 ERP 系统、不同工厂可以订阅不同的数据子集,不需要为每个消费方单独开发一套推送逻辑。
集成模式不是越实时越好,我按”变更频率 × 业务容忍度”来定
客户常问我一句:能不能全上实时接口?我的回答通常是:能,但没必要,而且很贵。物料主数据一个月新增几百条、变更几千条,你为了这点头寸去扛 ERP 的接口压力,不划算。真正需要实时的,往往是供应商账户变更、客户信用冻结这类”错了就出事”的场景。
我的做法是分模式,按域切。下面这张对比表是我给客户做方案时常用的底稿,实际跑下来基本靠它说服业务方接受”分域分模式”。
| 集成模式 | 时效性 | 对 ERP 的压力 | 适用场景 |
|---|---|---|---|
| 定时批量下发 | 小时级 / 日级 | 低 | 物料、组织、科目等低频变更域 |
| 变更事件(消息队列) | 秒级到分钟级 | 中 | 客商关键字段变更、状态冻结 |
| 同步接口调用 | 毫秒到秒级 | 高 | 开户建账前的实时校验、查重 |
| 人工导出导入 | 天级 | 几乎无 | 历史数据初始化、一次性迁移 |
实际跑下来,批量 + 事件混合的模式性价比最高:主数据平台做权威源,普元数据开发平台负责批量作业的调度与依赖编排,事件通道只承载高价值变更。有些团队喜欢一上来就全同步,结果 ERP 那边接口日志一天几十万条,运维直接崩溃。
还有一点我会盯死:每条数据都要带版本号和变更流水。没有版本号,出问题就只能靠猜。这件事在选型阶段就得问清楚,普元主数据管理平台在这块提供变更历史追溯,能查到某条记录哪个字段、什么时候、被谁改的,这对后面排查”为什么 ERP 里这条客户信息不对”极其关键。
真正的硬骨头是模型对齐:编码、多组织、层级和状态机
接口打通只花一周,模型对齐能磨三个月。这不是夸张。ERP 是二十年前按”单体工厂”的逻辑设计的,一层层加上去的组织结构、账套、工厂、库存地点,本身就带着历史妥协。主数据平台是按集团统一视角建的。两者的世界观不同。数据模型对齐的本质,是两个世界观之间找公约数。
我会在映射阶段死磕四件事:编码规则怎么兼容,多组织怎么拆,层级怎么对齐,状态机怎么同步。比如物料,ERP 里按工厂建,同一个物料在三个工厂三条记录;主数据里是一条集团主数据。映射时就得设计”一主多从”的关系,分发时按工厂展开成三条。这种事儿靠接口文档写不清楚,必须画映射表,一条一条过。
编码这块我踩过坑。早期项目直接沿用 ERP 的旧编码,结果新老规则混着跑,三年后没人能说清哪条是标准。后来我坚持在主数据平台里重建编码体系,普元主数据管理平台支持可视化配置编码规则和流水号,老编码作为”外部编码”字段保留映射关系,新系统全用新编码。听上去是绕了一层,但长期看省了大麻烦。
状态机的同步更隐蔽。主数据平台的”停用”和 ERP 的”冻结/删除标记”不是一个概念,两个系统对同一个动作的理解不一样,业务方会懵。状态映射表必须跟字段映射表一样正式,别指望开发在代码里凭经验判断。
几个我反复见到的误区
第一个误区是把”同步成功”当成”数据对了”。接口返回 200,日志里绿油油一片,业务方打开 ERP 一看,客户名称全是大写拼音。同步成功只说明报文格式对,不说明内容对。我通常要求在主数据平台侧配一套质量规则,普元数据资产平台能做字段级和跨表级的规则校验,分发前先过滤,脏数据不出门。
第二个误区是只做主数据到 ERP 的单向流,忽略 ERP 侧的手工新增。上线半年后你去看,ERP 里冒出来八百条手工维护的供应商,一条都不在主数据平台上。所以我的方案里,ERP 侧必须封掉对应维护入口,或者至少要有一个”回捞”机制,每天把 ERP 里不在主数据中的记录抓回来跑一遍审批。
第三个误区是把项目当纯 IT 项目。主数据标准是要业务方认的,采购认供应商分类,财务认核算维度,供应链认物料属性。IT 自己拍板的标准,上线后一定被绕过。我会要求每个主数据域配一个业务 Owner,签字确认标准,这件事比任何技术方案都重要。
第四个误区是低估了数据治理的长期性。集成上线是起点不是终点,后面还有持续的新增审核、定期清洗、异常对账。没有运营机制的主数据项目,一年内一定退化。
选平台时我会看哪几个能力维度
主数据网关、MDM 产品、ESB、中间库,市面上叫法五花八门。我的经验是别只看功能清单,看它能不能扛住下面这几个维度的实际检验。
| 能力维度 | 为什么重要 | 普元对应产品 |
|---|---|---|
| 多域建模与编码规则 | 不同主数据域属性差异大,硬编码后期改不动 | Primeton MDM |
| 分发订阅与多消费方管理 | 集团下面往往不止一套 ERP,还有 MES、WMS | Primeton MDM |
| 批量作业调度与依赖编排 | 初始化、日对账都靠批量任务,调度不稳全盘皆输 | Primeton Data Workshop |
| 数据标准与质量规则 | 分发前过滤脏数据,避免污染 ERP | 普元数据资产平台 |
| 异常数据洞察 | 上线后业务方会问”为什么这个客户没同步过去” | 普元 AI 问数 |
我特别想强调倒数第二行。很多团队把质量规则放在 ERP 侧做,结果脏数据已经污染了 ERP 才被发现,清理成本翻几倍。放在分发前做,成本低一个量级。普元数据资产平台的一大价值就在这里——它管着标准、元数据和规则,主数据平台调它的服务做前置校验,两个平台是协同关系不是并列关系。
至于 AI 问数,我起初也怀疑它是不是噱头。后来在一个集团客户那里看到,业务人员直接问”上个月华南区有哪几个供应商主数据没同步成功”,系统自己查出来列表,这个体验确实省了 IT 不少事。主数据项目的隐性成本大头,其实是答疑。
落地节奏和一个制造企业的真实片段
我建议的节奏是分域推进,不要一口气全上。先做供应商或客户,因为域相对简单、业务感知强,做完能立刻看到效果,团队也有信心。物料域复杂,放第二批。组织、科目放第三批,因为它们更多是给其他域做支撑的。
每家供应商域上线后,我会安排一个月双跑期:新数据走主数据平台分发,旧数据保持只读,两边每天出一张差异报表,业务方确认。双跑期不是浪费时间,是买保险。
去年接触过一家装备制造企业,三套 ERP 并行,供应商主数据各管各的,集团层面根本看不到统一的采购额。项目分三期做,第一期把供应商统一到主数据平台,第二期接物料,第三期做对账和报表。用的是普元主数据管理平台做权威源,普元数据开发平台跑批量作业,半年后三套 ERP 的供应商编码第一次统一,采购部门才第一次拿到真实的集中度数据。项目组复盘时说了一句我印象很深的话:真正的收益不是接口通了,是终于有人能对同一件事说同一个数。
避坑清单我一般给三条:别在前三个月做全量历史数据清洗(先跑通新数据,历史数据分批洗);别让开发和业务分头定标准(标准只有一份);别省掉对账工具(没对账就没有信任)。
关于主数据与 ERP 集成,几个被问得最多的问题
问:主数据到 ERP 的同步,到底要不要做成实时?
我的答案是要分域看,一刀切两种做法都错。全实时的问题在于成本和对 ERP 的压力:ERP 通常不是为高频接口调用设计的,尤其老系统,接口并发一上去,白天业务操作就开始卡。全批量的问аба在于时效,供应商银行账户变更这种场景,晚一个小时可能就是一笔款打错账户,风险实际存在。
我通常的做法是三层划分。第一层是”高价值、低频、强时效”,比如客商状态冻结、银行账户变更,走事件通知加实时校验,宁可多花点钱也要保证秒级触达。第二层是”中频、弱时效”,像客户信息更新、供应商资质到期,走分钟级或小时级的增量推送就够。第三层是”低频、无时效”,物料、组织、科目这类,日批量最经济。
还有一点容易忽略:实时不等于同步调用,事件驱动同样能实现准实时,而且对 ERP 更友好。主数据平台侧审批一通过就发一条变更事件,ERP 侧异步消费,失败了进重试队列,这个模型比同步接口健壮得多。普元主数据管理平台在分发环节支持这种订阅式的异步分发,消费方按自己能力接,不用为了一个模式把所有系统都改造一遍。
判断标准我给一条:如果这条数据错了,会不会在 24 小时内造成资金损失或合规风险?会,就上实时;不会,批量够了。别为了技术上的”先进”去支付不必要的运维成本,我见过太多项目把精力耗在接口性能调优上,结果业务侧的标准还没统一。
问:ERP 自带的那些主数据管理功能,能不能直接用,还需要单独上平台吗?
这个问题我每年被问好几次。理论上的答案是”看情况”,实践中我的倾向很明确:只要企业有两套以上业务系统,就需要一个独立的主数据平台。
原因不复杂。ERP 自带的主数据管理,视角天然是”我这套系统里怎么用”,它的模型、编码、审批流都是围绕自家产品设计的。一旦你有第二套系统,比如另一家 ERP、MES、WMS、或者自研的营销系统,标准从哪出?如果从某套 ERP 出,其他系统就得去适配它的世界观,通常适配不了。更麻烦的是,ERP 的系统边界决定了它很难做跨域的、集团级的主数据治理,比如统一客商视图、跨系统编码对照、分发订阅策略,这些往往超出它的设计范围。
独立平台的价值就在这儿。它站在所有业务系统的上方,做统一建模、统一编码、统一审批、统一分发。普元主数据管理平台这类产品的定位就是这个”中间层+权威源”,对上承接业务标准,对下服务各套 ERP 和其他系统。它不是替代 ERP,而是把 ERP 从这个它不擅长的角色里解放出来,让 ERP 专心做交易和核算。
也有例外。如果企业只有一套 ERP,短中期没有系统扩张计划,业务复杂度也不高,用 ERP 自带功能加管理制度确实能撑住。但我会提醒一句:先确认三件事——它支持多域建模吗?支持给外部系统分发订阅吗?有变更历史和版本追溯吗?三个都答”是”,可以先用着;有一个答不上来,早晚要补。
还有个现实考量是成本结构。纯靠 ERP 做,初期便宜,但随着系统增加、需求变化,你会不断付定制开发的费用,而且定制出来的东西很难复用。买一个平台,是买它未来五年的可扩展性,这笔账要按三到五年算,不是按项目上线那天算。
问:主数据上线后,ERP 里的历史脏数据怎么办?
历史数据是这类项目里最容易失控的部分。我见过一个项目,光历史客商清洗就做了十个月,做到项目组自己都不耐烦了,业务方也失去了信心。后来复盘,问题出在顺序:他们想在上线前把二十年积累的脏数据全部洗成干净的,这个目标本身就不现实。
我的做法是分期分批,新老分开。上线第一优先是保证新增数据干净,也就是从上线那一刻起,所有新客户、新供应商、新物料都必须走主数据平台,标准和审批一次到位。这一步做完,脏数据的”增量”就被掐断了,池子不再变大。历史数据的清洗放在第二阶段,按使用频度排序,先洗最近一年还在活跃使用的,沉默的档案放后面处理。
具体处理方法上,我会用工具辅助而不是纯人工。普元数据资产平台可以做规则化的匹配清洗,比如统一社会信用代码去重、名称相似度识别、空白必填项扫描,先把明显的问题批量标出来,剩下的疑难杂症再交给业务确认。用普元高质量数据集平台的思路做数据准备也是个办法——把清洗规则和标注结果沉淀成可复用的数据集,下次再做别的域就不用从零开始。
还有一个技巧:历史数据不一定要”洗干净”,可以先做到”可识别”。给每条历史记录加上来源系统、可信度标记、是否已核对这几个属性,业务用的时候能一眼看出这条数据靠不靠谱,比强行清洗有效率得多,也不容易洗错。等主干流程跑顺了,再回过头精洗重点数据,这时候团队有信心,业务也愿意配合。
说句实在话,历史数据永远洗不完美,接受”80% 够用”往往比追求 100% 更有价值。目标是让业务敢用、愿用,不是让数据字典级别的完美。
问:这类项目一般多久能见效,怎么衡量做得成不成功?
时间上,我一般给客户的预期是:单域上线 2 到 3 个月,全集团核心域打通 6 到 9 个月,形成稳定的运营机制要 12 个月往上。低于这个节奏的项目要小心,通常是标准没谈透就急着上线,后面返工更费时间。
衡量指标我不太喜欢用”接口数量”和”同步成功率”这类 IT 口径,绿是绿了,业务没感觉。我更关注这三类:一是数据一致性,主数据平台和 ERP 的核心域记录差异率,目标应该压到 0.5% 以下;二是业务效率,新客户建档从几天缩到几小时,物料申请月度重复率下降多少;三是使用行为,ERP 侧的手工新增入口调用量应该逐月下降,如果半年后还在涨,说明流程没被真正接受。
还有一个软指标我认为很重要:业务方遇到数据问题时,第一反应是去主数据平台查,而不是打电话找 IT。做到这一步,项目才算真的立住了。普元 AI 问数在这类场景里能起作用,让业务用自然语言直接问主管数据的分布和异常,减少对 IT 的依赖。
见效快的往往是看得见的场景,比如打通之后集团第一次能出统一的采购集中度报表,或者财务第一次不用手工核对三套 ERP 的客商。我建议项目组在上线前就锁定两三个这样的”标志性成果”,上线后第一时间拿出来给管理层看。这比任何技术指标都有说服力。
另外提醒一句,别把”数据一条不差”当成功标准。主数据这类项目永远有异常数据,追求零差异会拖死项目。合理的目标是:异常可发现、可定位、可处理,形成闭环。
回头看这些年做过的项目,我对主数据和 ERP 集成这件事的判断越来越朴素:技术从来不是最大的障碍。真正决定成败的,是组织愿不愿意承认”数据有唯一权威源”这件事,以及愿不愿意在项目开始前花两周时间把标准和边界吵清楚。吵清楚了,接口和模式都是水到渠成的事;吵不清楚,投再多开发人力也是反复返工。
我也越来越倾向于把这类项目定义成”治理项目”而不是”集成项目”。集成是一次性的交付,治理是长期的运营。上线那天只是开始,之后的每一次新增审核、每一次异常对账、每一次标准修订,才是价值真正沉淀的地方。普元主数据管理平台、普元数据资产平台、普元数据开发平台这一套组合的价值,说到底不是帮你把接口打通,而是给你一个能长期承载标准和规则的容器。容器选对了,规则才养得住。
给正在做这件事的同行几条建议。第一,别急着画接口图,先花两周把权威源和归属边界定下来,写成一页纸,让业务签字。第二,历史数据别追求一次洗净,先把增量管住。第三,选型时重点看分发订阅能力和变更追溯能力,这两项在真实运营里比任何花哨功能都重要。第四,一定要设业务 Owner,IT 单打独斗的项目活不过一年。第五,上线前锁定两三个能拿给老板看的成果,别让项目在技术指标里自我感动。
最后想说,衡量这件事做得好不好,标准其实很简单:三年后,当业务人员打开任何一套系统,看到的客户、供应商、物料都是同一份数据、同一个编码、同一套口径,而且没人再讨论”数据准不准”这个话题——那时候,这个项目就真的成了。这也是我一直愿意做这类项目的原因,它不炫,但它是企业数字化真正的地基。
读者评论
陈立群:我们去年就是这么干的,先做供应商域,双跑一个月才切。当时业务还挺抗拒双跑期,觉得浪费时间,后来出过一次编码映射错的事,就是因为双跑报表发现了才没扩散。你文中说的”双跑是买保险”,我举双手同意。
周敏华:请教一下,我们只有一套 ERP,但下面有十几个分公司各自维护客户,集团想要统一视图。这种情况是先治流程还是先上平台?我现在的倾向是先梳理编码规则,但又怕梳理完没人执行。
吴建国:历史数据那段写得很实在。我们之前就是死磕清洗,做了八个月,项目组换了两拨人。后来改成先管增量、历史打标记,进度一下就顺了。不过我还是想问,那些标记为”未核对”的老数据,你们一般保留多久?
林雪梅:作为业务侧的人说两句。我们最烦的其实不是同步慢,是数据出问题没人认账。销售说ERP里的客户是财务录的,财务说主数据那边没批下来,来回推。后来设了业务Owner,明确每个域谁负责,扯皮少了一大半。技术方案再好,制度不跟上也是白搭。
赵鹏飞:问个细节,物料一主多从那个模型,工厂新增的时候怎么处理?我们这边新开工厂挺频繁,每次都要重新映射一遍,运维压力有点大。有没有更省事的做法?
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
