ERP/MES/QMS 流程编排——三套系统如何不「打架」

作者:卓越质量智库 发布时间:2026/7/16 阅读 30
目前评级: ★★★☆☆ 我要评级 等效 8 人评分

摘要:ERP 管订单、MES 管生产、QMS 管质量,三家数据各写各的,检验结果到月底才发现异常——这是大多数制造企业数字化转型中的真实阵痛。本文从流程编排的视角,梳理三套系统的数据流关系、常见冲突场景以及可落地的集成方案。


一、案例:一张不合格单走了六天「长征」

某汽车零部件厂全检工序发现一批产品尺寸超差,质检员在 QMS 中开具不合格品处理单。按制度,该单据需要依次经过:品质主管审批 → 技术工程师分析 → 生产计划调整 → 仓库冻结 → 财务扣款。理想情况下应在 4 小时内完成闭环。

实际情况是:不合格单在 QMS 里审批通过后,需要人工通知生管在 ERP 中锁定库存,再通知 MES 暂停对应工序的排产,最后还要手动修改车间看板。——系统之间没有流程联动,全靠人工传递信息。 最终该批产品在 MES 中继续被投入下一工序,造成 300 件返工。

这不是 IT 系统太少的问题,而是系统各自为政、流程编排缺失的典型后果。


二、ERP / MES / QMS 的定位差异

三套系统本质上是面向不同层级、不同时间粒度的管理需求:

维度 ERP MES QMS
核心关注 资源与订单 执行与追溯 符合性与改进
时间粒度 天/周级 分钟/秒级 批次/事件级
主要用户 财务、采购、销售 车间、工艺、设备 品质、实验室
数据流向 计划层(WBS/工单) 执行层(报工/投料) 检验层(检测/不合格品)

关键认知:这三套系统不是替代关系,而是互补关系。 ERP 告诉 MES「今天要做什么」,MES 告诉 ERP「实际做了什么」,QMS 则在每个检控节点验证「做得对不对」,并将不合格信息反馈给 MES 和 ERP 进行闭环处理。


三、五个高频冲突场景及编排方案

场景一:来料检验触发收货

冲突出在哪里?

采购订单在 ERP 中到货,仓库等待 QMS 的来料检验结果才能确认收货。结果:检验结果在 QMS 中已经判定合格,但 ERP 中该订单仍处于「待检」状态,仓库无法做后续的入库上架,采购部门也无法确认该批货款是否应进入付款流程。更糟糕的是,如果该批物料是急用料,生产线已经在等料开工,每多等一小时都是真金白银的产线停线损失。

编排方案:

采购到货 → ERP 创建待检状态 → QMS 分配到检任务
   ↓(检验完成,结果回传)
ERP 自动完成收货 + MES 自动释放库存可用量

关键实现:在 QMS 检验完成并判定为合格时,通过 API 向 ERP 推送「收货确认」信号,同时携带检验报告编号、批号、数量等必要字段。不合格则触发 ERP 退货流程(生成退货单),同时通知 MES 冻结该批次,避免被生产领用。

在无法实现 API 实时联动的过渡期,可以设置中间表方案:QMS 将检验结果写入共享数据库的 iqc_result 表,ERP 以每分钟一次的频率轮询该表,发现合格记录后自动执行收货动作。虽然有一分钟左右的延迟,但远优于人工手工操作数小时甚至跨天处理的问题。

场景二:过程检验触发产线停/放

冲突出在哪里?

QMS 发现过程异常,判定产线需停线整改。但 MES 仍在按原计划排产,因为没有收到停线信号。

编排方案:

QMS 判定异常 → MES 暂停对应工序/工单
   ↓(整改完成)
QMS 验证合格 → MES 恢复排产 + ERP 记录异常工时的调整

这里的核心是:MES 必须暴露「产线状态控制」接口,QMS 异常判定直接写入该接口,跳过人工转述。 如果 MES 不开放该接口,退而求其次的方案是在 QMS 判定后自动向 MES 操作员推送「建议停线」工单,由操作员一键确认。

场景三:不合格品处理跨系统

冲突出在哪里?

不合格品处理单在 QMS 内走完审批流后,需要跨系统执行的后续动作(库存冻结、工单返工、成本重算)停留在「人工通知」阶段——系统 A 做完了,系统 B 不知道。

编排方案:

建立统一的「不合格品处理事件」广播机制:

QMS 事件 下游动作
判定报废 ERP 冻结库存 + 财务调整成本
判定返工 MES 创建返工工单 + 设备重新分配
判定让步接收 ERP 更新批号等级 + 客户通知
判定退货 ERP 创建退货单 + 采购追责

场景四:变更通知波及在制品

工程变更(ECO/ECN)在 QMS 中审批通过后,影响范围可能涉及:

  • ERP 中未开工的采购订单需要切换新物料
  • MES 中正在加工的在制品需要判断是继续加工还是立即切换
  • 仓库中已入库但未上线的旧物料需要冻结或退回供应商

这一场景的复杂性在于:不同变更类型(材料变更、工艺变更、规格变更)对在制品的影响判定规则完全不同,很难用统一脚本覆盖。多数企业采取「QMS 审批 → 系统自动计算受影响的单号 → 人工逐条确认」的半自动模式,兼顾效率和风险控制。

编排方案:

QMS 变更审批通过 → 影响范围自动扫描
   ↓(按物料/工单号匹配)
ERP 标记受影响采购单 + MES 标记受影响在制品
   ↓
差异处置:继续用完 / 返工 / 报废,结果回传 QMS 形成变更闭环

场景五:供应商绩效自动采集

QMS 中积累了大量来料检验数据,但供应商绩效评分仍在采购部门用 Excel 手工统计。

编排方案:

QMS 来料检验合格率 → 按月自动聚合
   ↓
ERP 对应供应商记录 → 自动更新供应商绩效评分
   ↓
评分低于阈值 → 自动触发 ERP 供应商冻结 + 发送改进要求

此场景不需要实时联动,批处理即可(每日/每周定期同步)。关键是数据口径一致——ERP 和 QMS 中的供应商代码必须对齐,否则绩效数据对应不到正确的供应商。


四、流程编排的模式选择

模式 典型工具 适用场景 优缺点
点对点 API 调用 REST API / Webhook 实时性要求高的关键节点(停线、放行) 优点:响应快;缺点:端点多时维护成本高
中间表 + 定时同步 共享数据库 / 消息表 非实时场景(成本核算、绩效统计) 优点:解耦强;缺点:同步频率影响时效
ESB / 集成平台 Boomi / MuleSoft / 自研 多系统多场景的全面编排 优点:统一治理;缺点:实施成本高,中小型工厂可能过度
事件驱动(EDP) Kafka / RabbitMQ 需要广播通知多个下游的场景 优点:松耦合、可扩展;缺点:需要消息中间件运维能力

对于中小型制造企业来说,不建议一开始就上 ESB 或消息队列——先梳理好 5~8 个核心跨系统流程,用点对点 API 跑通,确认数据流转正确后再考虑引入统一编排平台。先治乱,再上工具。


五、流程编排落地四步法

第一步:绘制跨系统流程地图

选 3~5 个日常高频的跨系统场景(如来料检验、不合格品处理、变更管理),绘制 L2 级别的流程地图,明确每个节点归属哪个系统、哪个角色、输入输出是什么。

关键产出物: 跨系统流程「泳道图」,每条泳道对应一个系统,通道中标注数据接口和数据格式。

第二步:盘点现有系统接口能力

对照流程地图,检查每个系统的 API 能力:

  • ERP 是否开放了订单状态修改接口?
  • MES 是否提供了产线控制接口?
  • QMS 是否能主动推送事件?

对于不开放接口的旧系统,可考虑以下替代方案:系统脚本自动操作(RPA)、数据库触发器(只读库同步)、人工确认节点(系统推送待办任务由操作员确认执行),但每个替代方案都意味着编排链路中增加了一个「手动挡」。

第三步:按优先级依次上线

建议按「高频率 + 高风险 = 优先」的原则排序。优先级矩阵的横轴为频率(每日 / 每周 / 每月),纵轴为影响程度(造成停线 / 造成返工 / 只是效率损失):

  1. 来料检验 → 收货(日频、高影响)—— 这是最容易出现「等料停产」的场景,也是最多企业的切入口
  2. 不合格品 → 冻结/返工(周频、高影响)—— 库存冻结不及时会导致不合格品被继续投料,后果严重
  3. 工程变更 → 工单通知(月频、中影响)—— 频率不高但波及面广,一套规则处理好可以覆盖 80% 的变更场景
  4. 供应商绩效 → 评价自动更新(月频、低影响)—— 对时效性要求不高,适合作为最后一批上线

第四步:建立 Runbook 和异常处理

流程编排最大的风险在于:自动化链路中断了,没有人知道。 为每个编排流程建立 Runbook,明确:

  • 正常流转的确认信号是什么(监控指标)
  • 链路中断时由谁、在多少时间内介入处理
  • 手动降级流程是什么(当系统不可用时的人工备用路径)
  • 自动重试机制与重试上限

六、常见失败原因

原因一:只做了数据同步,没做流程同步

很多企业把系统打通理解为「数据从一个库复制到另一个库」,忽略了流程编排需要的状态同步。例如:ERP 收到了 QMS 的检验合格数据,但没有触发状态从「待检」到「已确认」的变更,后续的财务结算流程就不会自动触发。

纠正:每个数据接口都应附带明确的状态迁移指令,而非仅仅是数据拷贝。

原因二:编排逻辑写死在单一系统中

有的企业将跨系统流程逻辑全部实现在 QMS 的定制开发中。当 QMS 升级或切换时,整个编排网络瘫痪。

纠正:编排逻辑应位于系统之外——要么放在 ESB/集成平台,要么放在独立的流程引擎中,各系统只暴露原子操作接口。

原因三:忽视异常频率的监控

「自动化跑了三个月都没出问题」不是评估编排质量的正确方式。应该追问:中间件日志中有多少次重试?有多少次异常需要人工介入?QMS 推送到 ERP 的数据被原地修改过几次?某次 X 客户审核时发现因接口超时导致 200+ 张不合格单未被 ERP 接收,QMS 和 ERP 双方都不知道,直到客户追溯时才暴露出来——不是功能有问题,而是异常的可见性为零。

纠正:为每个编排流程设置异常率和手动介入次数的 KPI,持续监控改进。建议在集成看板上至少展示以下指标:接口成功率、平均响应时间、异常次数、待人工介入数量、末次成功运行时间。每个指标设定告警阈值,当成功率低于 98% 时触发通知。


打通系统的最终目的不是「数据在一个地方」,而是「人不当传话筒」。

知识编号:12.1.1

版本:v20260716

作者:卓越质量智库 卓越质量智库致力于为质量管理从业者提供系统化的专业知识、方法论与实战工具,助力企业质量能力持续提升。