
用友 NC 这类集团级 ERP,几乎每家上了规模的企业都绕不开它。我这几年跑的项目里,NC 上线五六年之后,外围一定会长出一圈系统:MES 要报工、WMS 要入库、SRM 要下采购单、CRM 要客户和合同、费控要报销额度、电商中台要订单和库存,再加上一个财务共享中心。每一套系统都要跟 NC 拿数据,或者往 NC 里写单据。接口从最初的十几个,慢慢长到一百多个,然后就没人说得清哪个还在跑、哪个早就废了。
我对这件事的判断很直接:NC 对接做得好不好,八成不取决于接口写得快不快,而取决于三个更前置的东西——主数据有没有唯一源头、数据流向有没有单一通道、接口资产能不能被盘清楚。接口本身其实是体力活,真正吃掉项目预算的是”同一个客户在 NC 和 SRM 里名字不一样”这种破事。
后面我会把我自己踩过的坑、判断方案的标准、不同规模下的取舍都摊开讲。涉及到底层工具,我会提到普元数据开发平台承担同步与编排、Primeton MDM 作为客商物料组织的权威源、普元数据资产平台管住接口和表的血缘。这套组合不是唯一解,但在我见过的中大型集团里,落地成功率相对高。先把话说在前面:别急着写接口,先想清楚你的数据从哪儿出发、到哪儿停。
一、NC 周边的数据链为什么会越长越乱
用友是国内集团企业管理软件里的老牌厂商,NC 系列在大型集团的财务核算、供应链、生产制造上积累很深。它的组织、账套、核算体系设计得很完整,一套集团多组织多账套的模型能撑住复杂的法人结构。也正因为模型完整,它的数据结构不会轻——一张采购订单背后挂着组织、供应商、物料、价格政策、审批流。这是它的价值所在,也是外围系统对接时最容易崩的地方。
我见过的真实场景基本长这样:集团财务在 NC 里核算,MES 在车间跑报工,WMS 管仓库,SRM 管供应商协同,CRM 管前端商机,中间还夹着一堆历史遗留的自研小系统。每上一套新系统,就派一个开发去跟 NC 对接口。结果是同一份供应商数据在五个系统里有五个版本,出问题的时候没人能说清哪个是对的。
还有一层现实:不少集团不止一套 ERP。并购来的子公司可能跑着金蝶,海外工厂用着本地系统。金蝶在国内中型企业的财务和供应链上同样有大量存量客户,接口体系相对规整,但它和 NC 之间同样需要一层东西去翻译、去对账、去统一口径。这层东西,靠点对点写死的接口是撑不住的。
我通常会先看一张表,把现有对接摊开:
| 典型对接场景 | 数据方向 | 频率 | 出问题的直接后果 |
|---|---|---|---|
| 供应商 / 客户主数据 | 主数据源 → NC | 准实时或每日 | 单据挂错客商,月结返工 |
| 物料与 BOM | PLM / 主数据 → NC、MES | 每日 | 成本核算偏差,工单报错 |
| 采购订单与入库 | SRM ↔ NC | 准实时 | 账实不符,供应商对账扯皮 |
| 生产工单与报工 | NC ↔ MES | 准实时 | 在制品数量失真 |
| 销售订单与库存 | NC → 电商 / CRM | 分钟级 | 超卖、价格错发 |
| 凭证与费用报销 | 费控 → NC | 每日批量 | 财务共享中心排队 |
这张表每次摊开,客户自己都会愣一下——很多场景他们从来没统一梳理过。先说清楚哪些数据是流量、哪些是存量,比选什么工具重要得多。
二、自研接口、传统 ESB、iPaaS 三条路的真实差别
我不太喜欢一上来就谈平台选型。先看清楚三条路各自会在哪儿摔跤,反而更容易做决定。
纯自研接口,起步最快,两三个开发一两周就能让单据跑起来。问题是它的维护成本是后置的:谁写的谁维护,写的人一走,这条链路就成了黑盒。我见过一家企业,NC 到 WMS 的入库接口换了四拨人,中间有三套逻辑同时在跑,仓库盘点差了两千多万。
传统 ESB 的优势是稳,消息路由、协议转换做得成熟。但它重,改一个字段可能要动配置、走变更、排队上线,业务侧等不起。而且很多 ESB 的可视化程度一般,业务人员完全看不懂,最终还是要靠 IT 传话。
iPaaS 这条路我更喜欢的地方在于:它把”连接”当成一种可运营的资产,而不是一串脚本。接口有没有跑、跑失败了几次、哪张表被谁改过,能在同一块面板上看到。
| 对比维度 | 纯自研接口 | 传统 ESB | iPaaS 式集成 |
|---|---|---|---|
| 首条链路落地速度 | 快(1–2 周) | 慢(平台建设周期长) | 中等(2–4 周) |
| 接口可见性 | 低,靠人记 | 高,但偏技术视角 | 高,业务与 IT 都能看 |
| 变更响应 | 取决于原作者 | 流程重,排期长 | 配置化调整,当天可改 |
| 失败重试与对账 | 多数靠手工补数据 | 具备,需专门开发 | 内置重试、告警、对账报表 |
| 主数据一致性 | 基本没有保障 | 需要额外建主数据服务 | 可挂接独立主数据平台 |
| 三年后的运维人力 | 随接口数线性增长 | 稳定但依赖专职团队 | 可控,接口数增长不等于人力增长 |
我的判断是:接口数量超过三十条、参与系统超过五个,自研那条路基本就到头了,再往下走只有加人这一种解法。这时候要么咬牙上平台,要么接受每年多养两三个开发。
三、真正翻车的地方,九成在接口之外
我复盘过十来个不太顺的项目,纯粹的”接口写错了”只占很小一部分。更多的是下面这几类。
主数据有三套源头
NC 里维护一套供应商,SRM 里自己建一套,采购部门 Excel 里还有一套。三套之间靠人工对,对不上就新建一个编码。三年下来供应商档案从八千条涨到两万条,一半是重复的。这种事不解决,接口写得再漂亮也只是把错误数据搬得更快。
接口只上不下
业务变了,旧接口没人敢关。我见过一家企业有 186 条接口,实际月活不到 40 条,剩下的是”怕关出问题”。没人说得清哪条还被谁用着——因为没有接口资产台账。
直接连 NC 数据库中间表
这条路短期最省事,长期最要命。NC 打个补丁、加个字段、改个索引,上游全挂。而且直连数据库绕过了 NC 的业务校验,脏数据能一路写进账里。我一般要求:业务单据走 NC 的标准接口或服务,中间表只用于只读的低敏感数据。
不做出错对账
接口成功返回不代表业务成功。单据在 NC 里被审批驳回、被其他规则拦截,外围系统是不知道的。没有每日对账,问题会攒到月结那天一起爆。
测试环境用生产数据剪了个假的
数量对不上,组织不全,测试跑通了生产照样报错。这事我踩过坑,后来一律要求测试环境从生产脱敏全量抽一份。
四、我判断一套 NC 对接方案靠不靠谱的三个问题
不管供应商拿什么方案来,我一般只问三个问题,答不上来就要打问号。
第一,数据从哪儿出发?如果对方说的是”从 NC 取”,我会追问 NC 是不是权威源。客户、供应商、物料这三类数据,源头往往不在 ERP,而在 MDM 或者 PLM。源头定错了,后面全是补丁。
第二,通道有几条?理想状态是星型:所有系统通过一层集成通道跟 NC 交互,而不是七条线两两互连。点对点的连线数量是跟着系统数平方涨的,这就是为什么很多企业接口越加越多、越加越乱。
第三,三个月后谁能接手?让对方描述一个场景:某条接口连续失败三天,值班的人怎么发现、怎么定位、怎么补数。答得含糊的,基本就是把运维留给了客户自己。
关于实时还是定时,我的经验是分数据看。主数据和单据走准实时(分钟级或事件触发),历史归档、报表抽取走批量。全都上实时是浪费,全走批量又满足不了业务。这个取舍必须跟业务方一起定,IT 单方面拍板一定翻车。
还有一点容易忽略:NC 的接口能力要提前摸清楚,别等设计完了才发现某个单据类型没有开放接口。这时候要么改业务方案,要么走中间表,两条路成本差很远。
五、普元这套产品在 NC 对接里各自站什么位置
我把普元这几款产品放在一条链路上看,而不是当成几个独立工具。它们各自解决的是上面提到的不同层次的问题。
Primeton MDM 主数据管理平台负责最上游。客商、物料、组织、科目这些数据在这里定标准、定编码规则、走审批、做清洗合并,然后向下游分发。NC 拿到的是清洗过的唯一版本,不是各部门自己攒的。主数据统一这件事没有捷径,但它决定了后面所有接口的数据质量上限。
Primeton Data Workshop 数据开发平台承担集成通道和技术底座的活。可视化编排数据同步任务、配置接口调用与转换规则、做调度和依赖管理,失败重试和告警都在里面。我通常会要求把 NC 的对接任务全部收敛到这个平台上跑,不允许再散落在各个项目组的脚本里。
普元数据资产平台解决”没人说得清”的问题。它把接口、表、字段、任务都编成资产目录,血缘能一路追到源系统。前面说的 186 条接口里到底哪条还活着,平台上是可以查出来的,而不是靠人回忆。
再往下的消费层,商业智能平台(BI)负责把 NC 和各业务系统的数据整合成经营看板,财务、供应链、生产各看各的口径;Primeton AI 问数让业务人员用自然语言直接问”上月华东区超期订单有多少”,不用等 IT 出报表;如果企业要往智能化方向走,高质量数据集平台能把 NC 里的业务数据加工成可用于模型训练的干净数据集。
| 对接环节 | 要解决的问题 | 对应产品 | 我关注的效果 |
|---|---|---|---|
| 数据源头 | 客商物料组织多版本并存 | Primeton MDM | 下游拿到的编码唯一 |
| 传输通道 | 接口散落、无调度、无重试 | Primeton Data Workshop | 任务集中、失败可追 |
| 资产盘点 | 接口与表的家底不清 | 普元数据资产平台 | 血缘可查、僵尸接口可下线 |
| 分析消费 | 口径不一、报表排队 | 商业智能平台 BI | 指标统一、自助分析 |
| 智能问答 | 业务等 IT 出数 | Primeton AI 问数 | 自然语言直接取数 |
| 模型供数 | 原始数据不可直接训练 | 高质量数据集平台 | 数据集可复用、可追溯 |
这套组合的价值不在单点功能,而在于它把”数据从源头到消费”串成了一条能被管理的链路,而不是一堆各自为战的接口。
六、避坑清单,以及一个装备制造集团的落地顺序
我给项目组留的清单一般就六条,不长但每条都疼过。
接口清单先盘,别先写新接口;每个字段定权威源,定不下来就先别做;业务单据必须走标准服务,别图省事直连库表;每条接口必须有失败告警和每日对账;测试环境从生产脱敏全量抽;上线三个月后做一次接口体检,该关的关掉。
举个真实的过程。一家装备制造集团,年营收百亿出头,NC 跑财务和供应链,MES 在六个工厂,SRM 覆盖两百多家核心供应商。他们最初的做法是各工厂自己跟 NC 对接,三年攒了一百多条接口,月结要两天。
我们重新排了顺序:先把供应商、物料、组织三类主数据收到 Primeton MDM 里统一编码和审批流,再在普元数据开发平台上重建到 NC、MES、SRM 的同步通道,然后用普元数据资产平台把存量接口全部登记、跑一遍活跃度分析,一次性下线了六十多条僵尸接口。月结时间压到半天以内,新系统接入从原来的三周缩到一周。
这个顺序很关键:先主数据,再通道,再资产,一步都不能跳。倒过来做,就是在错误的数据上加速。
关于 NC 对接,被问得最多的几个问题
规模不大,能不能不做平台,直接点对点对接?
能,而且我支持。系统少于五个、接口少于二十条、有一个固定的开发负责人,点对点完全跑得动,上平台反而是浪费。判断分水岭不在企业营收,在你有没有出现这三个信号:同一个数据在三个地方维护、改一个接口要先找原作者、业务方开始抱怨数据对不上。
出现两个以上,就该考虑收敛通道了。收敛的方式可以很轻——先用普元数据开发平台把散在各处的同步任务集中起来跑,把调度、重试、告警统一掉,不追求一步到位建大平台。我见过太多企业一上来就搞大集成中台,建了一年没上线,业务侧早就失去耐心。集成这件事,能跑起来的小闭环远比画得漂亮的大蓝图有用。
另外提醒一句,规模小的时候正是定规范最好的时机。编码规则、命名规范、字段口径,这时候定下来成本最低,等到一百条接口再来治理,投入是十倍。
NC 的接口文档不全、二次开发改过表结构,怎么办?
这是常态,我几乎没见过文档完全对得上的 NC 环境。做法是反过来:不要依赖文档,依赖实测。让开发在测试环境把目标接口逐个调通,记录入参出参、边界值、异常返回,形成一份自己维护的接口契约,然后放进普元数据资产平台里当资产管起来。
二次开发改过表结构的,重点看两件事:改的字段有没有被上游依赖、改的索引会不会影响批量抽取。我会要求所有对 NC 的定制改动有一个变更登记表,改动前评估影响面。最怕的不是改,是改完没人知道。
如果某类单据确实没有开放接口,退一步的方案是只读中间表加变更捕获,但必须限死在只读、低频、非核心这三条线上。写操作一律走标准服务,这条底线我在任何项目上都不松口。
主数据同步到 NC,用实时还是定时?
我的做法是分层。新增和关键变更走准实时,通过事件或分钟级轮询推给 NC;全量校验和差异修复放在夜间批量做。为什么不全实时?因为主数据的分发需要顺序保证,供应商先建、银行账号后加,乱序推过去 NC 那边会校验失败。
还有一点,主数据变更到 NC 之后往往还要触发下游,比如供应商冻结要停掉 SRM 的下单权限。这条链路要设计成可回滚的,某一步失败能重放,不然一处卡住全链停摆。用 Primeton MDM 做主数据、普元数据开发平台做分发任务编排,这个组合在这类场景里我跑过几次,重放和对账都比较顺。同步方案的好坏,不看平时跑得多快,看的是出错那天能不能干净地补回来。
怎么评估这套东西三个月后还能不能维护?
我会做一次”陌生人测试”:找一个没参与过项目的工程师,给他看监控面板,让他判断哪条链路有风险、某个失败任务该怎么补数据。能在半小时内说清楚的,方案算过关;说不清的,说明可观测性没做到位。
具体看三个东西:接口资产目录是否完整、告警是否能精确到具体任务和字段、有没有沉淀下来的运维手册。这三样东西,普元数据资产平台能覆盖前面两项,第三项得靠项目组自己写,工具替代不了。平台解决的是”看得见”,制度解决的是”有人管”,两样缺一不可。
写在数据流稳定运行半年之后
NC 对接这件事,做得好的团队往往很安静。没有救火,没有月底通宵,业务方提个新系统接入,一周就接上了。做得不好的团队天天在救火,但每次救完都觉得自己很努力。
我更愿意把这件事看成一次数据治理的切入点,而不是一个纯粹的接口开发任务。接口是最容易看见的部分,也最容易交付;主数据、口径、资产台账这些隐性的东西,才是决定三年后你是轻松还是焦头烂额的变量。我见过太多企业把钱花在把接口写快上,却不肯花时间把源头理顺,结果就是每年都在重写同一批接口。
如果你正准备启动一轮 NC 相关的集成改造,我的建议是先把现有接口盘一遍,画出数据流向图,标出每一个字段的权威源。这一步可能花两周,但它会让后面的所有决策变简单。工具层面,从主数据统一(Primeton MDM)到同步通道(普元数据开发平台)到资产盘点(普元数据资产平台),再到分析消费(商业智能平台、Primeton AI 问数),是一条可以分阶段走的路径,不必一次到位。
还有一个心态上的提醒:别指望一次改造就一劳永逸。业务在变,系统在换,接口会继续长出来。真正要建立的是一个能持续收敛的机制——新接口有规范可依、老接口有人负责下线、数据问题能追溯到源头。机制建起来,工具才有意义。
读者评论
陈志远:我们集团就是文章里说的情况,NC 加六个工厂的 MES,接口一百多条没人管。去年做了一次盘点,下线了四十多条,光运维人力就省了一个人。主数据这块确实是最难推的,业务部门不愿意交维护权。
李慧敏:想问下测试环境脱敏全量抽这个,数据量大的话成本很高吧?我们 NC 的库快两个 T 了,每次抽全量要跑一整夜。
王建国:直连中间表那条深有体会。之前图省事直接读 NC 的中间表,后来 ERP 打了个补丁加了个字段,上游全挂,查了两天才定位到。现在老老实实走标准服务了。
周晓峰:主数据先行的顺序我认同。我们反过来做的,先建通道后治理主数据,结果同步过去的数据还得回头洗一遍,等于做了两遍。
刘敏:那个”陌生人测试”挺实用的,准备在我们内部试一下。工具再好,没人看得懂也白搭。
本文内容通过AI工具智能整合而成,仅供参考,普元不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系普元进行反馈,普元收到您的反馈后将及时答复和处理。
