MES系统和ERP的对接,一句话讲清:主数据从ERP单向进MES,执行数据从MES按单据回ERP。物料、BOM、工艺路线这些基础数据以ERP为源,MES只接收不修改;领料出库、报工工时、完工入库、报废退料这些车间发生的事,MES做完按单据回传,带工单号和批次。两头各管一段,中间以单据衔接,谁都不改对方的核心表。

先划界线,各管一段

ERP管的是钱和账:销售订单、采购、库存总账、成本核算。MES管的是车间发生的事:工单派到哪道工序、每道工序做了多少、用了多少料、良品不良各多少。

界线划清之后,大部分对接矛盾就没了。常见的扯皮是库存数对不上,根子往往在两头都在记账:ERP记了一笔,MES也调了一笔,两边各改各的。规矩很简单,库存总账只在ERP一边记,MES只报发生了什么,账让ERP自己去过。

主数据:从ERP单向进MES

主数据一共四类:物料主数据、BOM、工艺路线、往来单位(供应商和客户)。

这四类的源头都在ERP,同步方向只能从ERP到MES。车间现场发现物料编码重了、BOM单位错了,正确做法是回ERP改,改完重新同步。MES里直接改,改完当月对不上账,这种坑踩一次就长记性。

主数据要带版本。BOM尤其要带版本号和生效日期,工单引用的是哪个版本的BOM,做完整条追溯链都得能回答这个问题。没有版本管理,变更一次,历史工单的成本全部对不上。

执行数据:按单据回ERP

车间里每天发生的事,回传给ERP的固定是四类单据:

单据

内容

回传时机

领料出库

工单领了哪些料、多少量、哪个批次

扫码领料的动作发生时

报工工时

工序、人员、工时、数量

每道工序报工时

完工入库

良品数量、批次、入库库位

完工检验通过、扫码入库时

报废退料

不良品数量、报废原因、退料明细

检验判退或报废确认时

回传的数据必须带三个字段:工单号、物料编码、批次号。缺一个,ERP那边的成本归集就断链。这三件套也是后期对账的锚点,哪张单据对不上,顺着工单号往下查就查得到。

对不上的时候,先查这三个断点

对接上线后对不上账,百分之八九十落在三个地方。

一是编码不一致。ERP里的物料编码和MES里的对不上,多数是MES初始化时导过一份旧表,后来ERP改了编码没重新同步。治本的办法只有一个:编码只在ERP维护,MES不定时导表,只走同步接口。

二是时间截点。ERP的库存账按天截,MES的报工按实时进。晚上八点之后的报工落在第二天,两边当天就对不上。这不是数据错了,是截点口径要先讲定:哪一刻之后的单据算下一天,写在对接方案里,两边照着执行。

三是单据重复回传。网络抖一下,同一张报工单传了两遍,ERP记了两次工时。防这个靠幂等键,单据号加来源系统做键,重复的单据直接拒掉。这个键要在对接设计阶段就定好,事后补很麻烦。

中间表还是接口,怎么选

两种常用方式:中间表定时同步,或者接口实时调用。

中间表适合变化不频繁的数据,比如主数据每天夜里同步一次,量大、稳定、出了问题好排查。接口适合时效要求高的单据,比如领料和报工,动作发生就回传,账面当天就能对上。

多数工厂的落法是混合:主数据走中间表,执行单据走接口。判断标准就一条,这条数据晚到一天会不会造成损失。BOM晚同步一天,工单照常开,问题不大;领料数据晚到一天,当天的成本就归不齐。

FAQ

问:ERP里已经有生产模块了,还需要MES吗?

答:ERP的生产模块管到工单和工序计划这一层,车间里谁做了多少、哪道工序停了多久、批次用到哪块料上,这些现场数据ERP拿不到。要管现场执行和追溯,需要MES补这一层。

问:两边都有一份BOM,以谁的为准?

答:以ERP为准,MES只读。车间工艺上有调整,走ERP的变更流程改BOM,同步下来MES跟着更新。MES里单独维护一份BOM,用不了多久两边就对不上。

问:对接要做多久?

答:主数据同步一到两周,四类单据的回传一到两周,加上联调测试,常规一到两个月。周期拉长多数卡在编码清理上,物料编码本身乱,对接之前先得理一遍。