WMS集成方案书
启源ERP与WMS软件集成方案书
1 前言
企业在仓库建立了自动立体仓库系统,包括带自动导轨车的多层货架立体库,有多层货架、入出库靠叉车取货的半自动仓库,甚至没有多层货架、只有库位概念的全平面库等。
ERP中的仓库与WMS系统的仓库,有如下区别:
1、ERP对库位管理的要求不高,可以管到库位,也可以不管库位。WMS对库位有严格的管理要求。若仓库连库位都不管,不能称为WMS系统。
2、ERP中的仓库主要管理账务,包括入库、出库、库存帐等。WMS系统除了管理仓库的账务,更侧重于仓库入出库物理动作的管理。例如:WMS用自动导轨车完成入出库的自动定位、取货、回送等,用自动叉车完成仓库的入出库动作,用AGV辅助仓库导轨车完成物料入出库及物料搬运动作。
3、WMS更侧重于仓库本身的管理和优势。例如:多层货架用于节约空间、自动导轨车主要用于取货的高效、AGV解决物料搬运问题等。
启源ERP与WMS的系统集成主要解决如下问题:
1、ERP的入库任单(如:物料检验单、物料免检单),传递给WMS后,WMS完成库位分配,生成WMS的入库单(可能是多个入库单),并完成入库动作。入库动作完成后,传递WMS的结果数据给ERP,ERP形成自身的入库单。入库过程为:检验单àWMS系统入库单àERP系统入库单。
2、ERP的出库任务单(如:物料配送单等),传递给WMS后,WMS从不同的库位中取货,形成WMS的出库单(可能是多个出库单),并完成出库动作。出库动作完成后,传递WMS的结果数据给ERP,ERP形成自身的出库单。出库过程为:配送单àWMS系统出库单àERP系统出库单。
3、周末对账,每周末ERP中的仓库与WMS中的仓库进行对账。ERP中以当前库存账面数向WMS发起对账任务,WMS把对账结果回传给ERP系统。
4、盘点,在公司约定的盘点时段,ERP把账面库存数(盘点表)作为盘点任务传递给WMS系统,WMS把盘点结果(实盘数据)回传给ERP系统。
2 集成内容
ERP与WMS集成内容包括如下6个方面的内容:
(1)物料基本信息。
(2)入库集成。包括入库任务和入库结果。
(3)出库集成。包括出库任务和出库结果。
(4)对账集成。
(5)盘点集成
(6)调拨集成。
详细内容见下表:
接口名称 | 接口方向 | 数据内容 | 备注 |
物料基本信息 | ERP→WMS | 物料编码、名称、型号规格、单位、制造商、项目库存管控、批次库存管控等 | ERP调用WMS接口向WMS系统传入物料信息 |
入库任务 | ERP→WMS | 送检单号、采购合同、供应商、采购员、项目信息、批次号、物料编码、入库数量、仓管员等 | ERP调用WMS接口向WMS系统传入物料任务数据 |
入库结果 | WMS→ERP | 入库单号、采购合同、供应商、采购员、项目信息、批次号、物料编码、入库数量、仓管员等 | WMS调用ERP接口向ERP系统传送物料入库结果数据 |
出库任务 | ERP→WMS | 配送指令号、施工单号、大部件、要求到料日期、物料编码、批次号、配送数量等 | ERP调用WMS接口向WMS系统传送物料出库任务数据 |
出库结果 | WMS→ERP | 出库单、出库日期、出库仓库、接收人、仓管员、物料编码、批次号、项目信息、出库数量等 | WMS调用ERP接口向ERP系统传送物料出库结果数据 |
周对账单 | ERP→WMS | 对账单号、对账日期、物料编号、项目信息、批次号、本期入库数量、本期出库数量、期末结存数量等 | WMS调取ERP接口,将固定时间点的物料库存数据传给ERP |
盘点表 | ERP→WMS WMS→ERP | 盘点单号、盘点人、存放仓库、物料编号、账面数量、实际数量等 | ERP调用WMS接口生成盘点任务 WMS调用ERP接口返回盘点结果 |
仓库调拨 | ERP→WMS | 申请单号、申请日期、申请人、调拨入仓库、调拨出仓库、项目信息、批次号、物料编码、调拨数量等 |
3 集成原则
1、内部逻辑互相独立原则。对自身的内部逻辑和数据规则由两个系统各自进行内部负责。WMS和ERP系统分别负责各自系统和接口的编写、测试,对各自系统的数据和业务逻辑负责;各自系统的属性由各自系统内部维护,特例属性项单独说明。
接口数据格式按本方案约定的格式执行。
2、松耦合原则。为了提高系统的稳定性和可维护性,将尽可能降低WMS和ERP系统之间的耦合性,通中间服务传递数据,存储各自系统数据库。
3、数据传递方法。系统间通过WebAPI实现数据同步。
4 集成内容细则
4.1 物料基本信息
1、业务场景:ERP新增或修改物料基本属性时触发WMS接口,ERP调用WMS提供的WebAPI接口进行数据传输。
2、接口方法名称:Erp2WmsMateriaBase。
3、接口地址:http://192.168.88.13:1042/api/MateriaBase/Erp2WmsMateriaBase。
4、接口传递主要字段。
序号 | 参数 | 格式类型 | 允许为空 | 描述 |
1 | wlbh | Varchar(50) | 否 | 物料编码 |
2 | wlmc | Varchar(100) | 否 | 物料名称 |
3 | wlxhgg | Varchar(250) | 否 | 型号规格 |
4 | zzs | Varchar(50) | 是 | 制造商 |
5 | jldw | Varchar(50) | 否 | 计量单位 |
6 | flag_xm | int | 是 | 按项目管理标志 |
7 | flag_pc | int | 是 | 按批次管理标志 |
4.2 入库任务
1、业务场景: ERP办理入库时触发WMS接口,ERP调用WMS提供的WebAPI接口进行数据传输。
2、接口方法名称:Erp2WmsIn。
3、接口地址:http://192.168.88.13:1042/api/ErpInStockBill/Erp2WmsIn。
4、接口传递主要字段:
序号 | 参数 | 格式类型 | 允许为空 | 描述 |
1 | idd | int | 否 | 主键,种子列 |
2 | batchid | Varchar(50) | 否 | 任务号 |
3 | csdh | Varchar(50) | 否 | 送检单号 |
4 | rkfs | Varchar(50) | 否 | 入库方式 |
5 | rkck | Varchar(50) | 否 | 入库仓库名称 |
6 | rkrq | Datetime | 否 | 入库日期 |
7 | wlgys | Varchar(250) | 是 | 物料供应商 |
8 | cgy | Varchar(50) | 是 | 采购员 |
9 | ckgly | Varchar(50) | 否 | 仓库账管员 |
10 | wlbh | Varchar(50) | 否 | 物料编号 |
11 | wlmc | Varchar(100) | 否 | 物料名称 |
12 | wlxhgg | Varchar(250) | 否 | 型号规格 |
13 | zzs | Varchar(50) | 是 | 制造商 |
14 | jldw | Varchar(50) | 否 | 计量单位 |
15 | rksl | decimal(38, 4) | 否 | 入库数量 |
16 | xshth | Varchar(50) | 是 | 销售合同号 |
17 | xmmc | Varchar(250) | 是 | 项目名称 |
4.3 入库单结果
1、业务场景:WMS根据采购到货入库任务完成物料入库后,触发ERP接口,WMS调用ERP提供的WebAPI接口进行数据传输。
2、接口方法名称:AddWlrkd。
3、接口地址:http://192.168.88.1:805/IF_QyErpApi.ashx?action=AddWlrkd。
4、接口传递主要字段:
序号 | 参数 | 格式类型 | 允许为空 | 描述 |
1 | idd | int | 否 | 主键,种子列 |
2 | batchid | Varchar(50) | 否 | 任务号 |
3 | csdh | Varchar(50) | 否 | 送检单号 |
4 | rkdh | Varchar(50) | 否 | 入库单号 |
5 | rkfs | Varchar(50) | 否 | 入库方式 |
6 | rkck | Varchar(50) | 否 | 入库仓库名称 |
7 | rkrq | Datetime | 否 | 入库日期 |
8 | wlgys | Varchar(250) | 是 | 物料供应商 |
9 | cgy | Varchar(50) | 是 | 采购员 |
10 | ckgly | Varchar(50) | 否 | 仓库账管员 |
11 | wlbh | Varchar(50) | 否 | 物料编号 |
12 | wlmc | Varchar(100) | 否 | 物料名称 |
13 | wlxhgg | Varchar(250) | 否 | 型号规格 |
14 | zzs | Varchar(50) | 是 | 制造商 |
15 | jldw | Varchar(50) | 否 | 计量单位 |
16 | rksl | decimal(38, 4) | 否 | 入库数量 |
17 | xshth | Varchar(50) | 是 | 销售合同号 |
18 | xmmc | Varchar(250) | 是 | 项目名称 |
4.4 出库任务
1、业务场景:MES根据生产加工节奏指定要求到料日期或者其他原因需要办理出库操作时(如取消入库),触发WMS接口,ERP调用WMS提供的WebAPI接口进行数据传输。约定事项:
(1)所有不可分割材料统一要求从二级库(线边库)中按项目限额扣料,涉及从二级库(线边库)中配料数据不传递给WMS系统。
(2)不可分割材料从MES给二级库(线边库)配料是通过仓库调拨业务完成。
批次管控物料按先进先出原则处理。
2、接口方法名称:Erp2WmsOut。
3、接口地址:http://192.168.88.13:1042/api/ErpOutStockBill/Erp2WmsOut。
4、接口传递主要字段:
序号 | 参数 | 格式类型 | 允许为空 | 描述 |
1 | psdh | Varchar(50) | 否 | 出库任务编号 |
2 | xdr | Varchar(50) | 否 | 出库任务下达人 |
3 | cklb | Varchar(50) | 否 | 出库类别:生产配送出库、取消入库出库等 |
4 | xlck | Varchar(50) | 否 | 出库仓库名称 |
5 | deptname | Varchar(100) | 否 | 出库部门名称 |
6 | zzdy | Varchar(100) | 是 | 制造单元名称 |
7 | xshth | Varchar(50) | 是 | 销售合同号 |
8 | xmmc | Varchar(250) | 是 | 项目名称 |
9 | sgdh | Varchar(50) | 是 | 施工单号 |
10 | yqdlrq | Varchar(50) | 否 | 要求到料日期 |
11 | wlbh | Varchar(50) | 否 | 物料编码 |
12 | wlmc | Varchar(100) | 否 | 物料名称 |
13 | wlxhgg | Varchar(250) | 否 | 型号规格 |
14 | jldw | Varchar(50) | 否 | 计量单位 |
15 | zzs | Varchar(50) | 是 | 制造商 |
16 | pssl | decimal(38, 4) | 否 | 配送数量 |
4.5 出库单结果
1、业务场景:WMS根据配料计划发料,物料出库后,触发ERP接口,WMS调用ERP提供的WebAPI接口进行数据传输。
2、接口方法名称:AddWlckd。
3、接口地址:http://192.168.88.1:805/IF_QyErpApi.ashx?action=AddWlckd。
4、接口传递主要字段:
序号 | 参数 | 格式类型 | 不能为空 | 描述 |
1 | psdh | Varchar(50) | 否 | 出库任务编号 |
2 | ckdh | Varchar(50) | 否 | 出库单号(单号规则:‘C’+出库仓库编码+YYYYMMDD+4位流水号,如C01201907190001) |
3 | ckrq | Varchar(50) | 出库日期 2021-06-21 | |
4 | ckgly | Varchar(50) | 否 | 仓库账管员 |
5 | deptname | Varchar(50) | 否 | 出库部门名称 |
6 | zzdy | Varchar(100) | 否 | 制造单元名称 |
7 | wlbh | Varchar(50) | 否 | 物料编号 |
8 | wlmc | Varchar(100) | 否 | 物料名称 |
9 | wlxhgg | Varchar(250) | 否 | 型号规格 |
10 | jldw | Varchar(50) | 否 | 计量单位 |
11 | zzs | Varchar(50) | 是 | 制造商 |
12 | cksl | decimal(38, 4) | 否 | 出库数量 |
13 | xshth | Varchar(50) | 是 | 销售合同号 |
14 | xmmc | Varchar(250) | 是 | 项目名称 |
15 | sgdh | Varchar(50) | 是 | 施工单号 |
4.6 库存对账单
1、业务场景:WMS每周固定时间将WMS系统的库存数据通过调用ERP的接口传递给ERP。
2、接口方法名称:AddWlkc。
3、接口地址:http://192.168.88.1:805/IF_QyErpApi.ashx?action=AddWlkc。
4、接口传递主要字段:
序号 | 参数 | 格式类型 | 不能为空 | 描述 |
1 | batchid | Varchar(50) | 否 | 流水号 |
2 | cdrq | Datetime | 否 | 传递日期 |
4 | cfck | Varchar(50) | 否 | WMS仓库名称 |
5 | wlbh | Varchar(50) | 否 | 物料编号 |
6 | wlmc | Varchar(100) | 否 | 物料名称 |
7 | wlxhgg | Varchar(250) | 否 | 型号规格 |
8 | jldw | Varchar(50) | 否 | 计量单位 |
9 | zzs | Varchar(50) | 是 | 制造商 |
10 | xshth | Varchar(50) | 是 | 销售合同号---项目管控物料需要 |
11 | xmmc | Varchar(250) | 是 | 项目名称---项目管控物料需要 |
12 | kcs | decimal(38, 4) | 否 | WMS库存数量 |
4.7 盘点任务
1、业务场景:盘点业务开始时ERP系统产生盘点表,触发ERP接口,WMS调用ERP提供的WebAPI接口进行数据传输。约定事项:
(1)ERP盘点表体现仓库账面库存数,传递给WMS后,WMS填写实际库存数,自动形成差异数后,传递数据给ERP。
(2)盘点业务开始时,ERP系统、WMS系统禁止发生入出库业务。
(3)WMS系统对所填实际库存数准确信自行保障。(如果WMS系统发现账面数正确,实际数错误,自行修正实际数,无需传递数据)
ERP根据差异数据,做仓库盘点,形成盈亏处理单,此单据不再反馈给WMS。
2、接口方法名称:Erp2WmsCheak。
3、接口地址:http://192.168.88.13:1042/api/ErpCheak/Erp2WmsCheak。
4、接口传递主要字段:
序号 | 参数 | 格式类型 | 不能为空 | 描述 |
1 | pddh | Varchar(50) | 否 | 盘点单号 |
2 | pdrq | Datetime | 否 | 盘点日期 |
3 | zdr | Datetime | 否 | 制单人 |
4 | cfck | Varchar(50) | 否 | 盘点仓库名称 |
5 | wlbh | Varchar(50) | 否 | 物料编号 |
6 | wlmc | Varchar(100) | 否 | 物料名称 |
7 | wlxhgg | Varchar(250) | 否 | 型号规格 |
8 | jldw | Varchar(50) | 否 | 计量单位 |
9 | zzs | Varchar(50) | 是 | 制造商 |
10 | xshth | Varchar(50) | 是 | 销售合同号---项目管控物料需要 |
11 | xmmc | Varchar(250) | 是 | 项目名称---项目管控物料需要 |
4.8 盘点单结果
1、业务场景:WMS接收ERP传递的盘点单后,形成WMS系统的盘点任务,完成盘点后生成实盘结果,将实盘结果数据通过调用ERP系统的接口传递给ERP系统。
2、接口方法名称:AddWlpdd。
3、接口地址:http://192.168.88.1:805/IF_QyErpApi.ashx?action=AddWlpdd。
4、接口传递主要字段:
序号 | 参数 | 格式类型 | 不能为空 | 描述 |
1 | pddh | Varchar(50) | 否 | 盘点单号 |
2 | pdrq | Datetime | 否 | 盘点日期 |
3 | zdr | Datetime | 否 | 制单人 |
4 | cfck | Varchar(50) | 否 | 盘点仓库名称 |
5 | wlbh | Varchar(50) | 否 | 物料编号 |
6 | wlmc | Varchar(100) | 否 | 物料名称 |
7 | wlxhgg | Varchar(250) | 否 | 型号规格 |
8 | jldw | Varchar(50) | 否 | 计量单位 |
9 | zzs | Varchar(50) | 是 | 制造商 |
10 | xshth | Varchar(50) | 是 | 销售合同号---项目管控物料需要 |
11 | xmmc | Varchar(250) | 是 | 项目名称---项目管控物料需要 |
12 | sjkcsl | decimal(38, 4) | 否 | WMS实际盘点库存数量(没有时填为0) |
4.9 仓库调拨
1、业务场景:物料在同一个仓库内部发生项目之间或批次之间相互转移,或者不同仓库之间发生转移时,触发MES接口,ERP调用MES提供的WebAPI接口进行数据传输。约定事项:
(1)ERP仓库调拨申请单传递给WMS后,WMS根据申请单自行在WMS系统内部处理,达到物料项目或批次的相互转移,或者不同仓库之间的转移后。给ERP系统处理完成标志。
(2)ERP系统按此标志处理ERP系统账务数据。
(3)WMS系统确保处理完成后才能给ERP发送处理完成标志。
2、接口方法名称:Erp2WmsChange。
3、接口地址:http://192.168.88.13:1042/api/ErpChange/Erp2WmsChange。
4、接口传递主要字段:
序号 | 参数 | 格式类型 | 允许为空 | 描述 |
1 | ykdh | Varchar(50) | 否 | 移库申请单号 |
2 | ykrq | Datetime | 否 | 移库日期 |
3 | ycck | Varchar(50) | 否 | 移出仓库名称 |
4 | yrck | Varchar(50) | 否 | 移入仓库名称 |
5 | wlbh | Varchar(50) | 否 | 物料编号 |
6 | wlmc | Varchar(100) | 否 | 物料名称 |
7 | wlxhgg | Varchar(250) | 否 | 型号规格 |
8 | jldw | Varchar(50) | 否 | 计量单位 |
9 | zzs | Varchar(50) | 是 | 制造商 |
10 | yksl | decimal(38, 4) | 否 | 移库数量 |
11 | xhth_yc | Varchar(50) | 是 | 移出销售合同号---项目管控物料需要 |
12 | xmc_yc | Varchar(250) | 是 | 移出项目名称---项目管控物料需要 |
13 | xhth_yr | Varchar(50) | 是 | 移入销售合同号---项目管控物料需要 |
14 | xmc_yr | Varchar(250) | 是 | 移入项目名称---项目管控物料需要 |
5 注意事项
上述ERP与WMS系统集成方案是基于WebAPI技术实现的相对完满的集成方案,有些立体仓库厂家,软件力量较弱,不会使用WebAPI技术,或者自身的软件结构不支持WebAPI结构,这时候要根据现场的具体情况,确定接口方案,但接口的内容仍然是上述内容。
撰稿人:赵辉
2022年6月20日第一版