销售出库单从金蝶云星空同步到WMS的实战配置
WMS金蝶云星空供应链集成销售出库WMS增量同步轻易云
这个策略解决什么问题
销售出库单需要把金蝶云星空里已经审核的出库结果,反向同步给WMS作为线下出库订单,用于物流发货与库存扣减确认。常见痛点是:单据头与单据体字段语义不一致、增量起点没定好导致漏单重传、两个系统调度撞车触发并发冲突。我们用轻易云数据集成平台(Qeasy)承接后,把这一类反向同步做成可复用的策略模板。
数据流向与字段映射
数据流向:金蝶云星空(源)→ 轻易云中间层 → 小蜜蜂WMS(目标)。
源端通过 executeBillQuery 接口按 FBillTypeID_FNumber + FBillNo 维度查询;目标端通过 /outOrders/v4_1 写入。关键字段对照如下:
| 语义 | 金蝶云星空(源字段) | WMS(目标字段) | 备注 |
|---|---|---|---|
| 单据编号 | FBillNo | outOrderNo | 直接透传 |
| 仓库编码 | F_dps_wmsstock | houseCode | 字典映射 |
| 仓库名称 | F_dps_wmsstock | houseName | case 条件映射 |
| 货主编码 | 固定值 | shipperCode | 配置常量 |
| 客户/日期/组织 | FCustomerID_FNumber、FDate、FSaleOrgId_FNumber | 各自目标字段 | 基础资料映射 |
| 表体行ID | FEntity_FENTRYID | id | 幂等键 |
仓库编码→仓库名称是典型的编码映射,轻易云客户的常见做法是把这部分集中维护在一张字典表里,避免策略里写死case分支。
在轻易云上如何配置
- 接入源平台:选择金蝶云星空适配器,配置应用地址与认证。
- 接入目标平台:选择小蜜蜂WMS适配器,配置API前缀
/outOrders/v4_1。 - 请求体组装:按目标结构填写,仓库名称使用case函数,货主编码使用配置常量。
- 响应解析:开启
autoFillResponse,由平台回填查询/写入结果,便于排查。 - 幂等控制:启用
idCheck,以单据编号+行ID作为唯一键,避免重复推送。
实施步骤
- 阶段一:全量触发。首次上线以全量方式把历史出库单补齐,结束后切换为增量。
- 阶段二:增量起点。以源端
FDate+ 单据状态作为增量游标;稳妥的做法是向前回溯一段时间,避免边界单据漏掉。 - 阶段三:调度频率。源端调度
0-59/5 * * * *(每5分钟整点),目标端调度3-59/5 * * * *(错开3分钟),避免两侧同时触发造成回压。 - 阶段四:表头表体分阶段。先把表头稳定下来,再单独跑表体;上线初期两路并行验证,确认无误后合并为一个调度链。
踩坑复盘
- 编码映射散落在case里。仓库名称用
case when直接写在请求模板里,后续新增仓库需要改策略。稳妥的做法是抽到集中字典表维护。 - 增量起点选错字段。曾有人用
FDate但没考虑跨天单据,造成凌晨单据漏推。建议用FDate+ 单据状态双条件。 - 两端调度撞车。源端和目标端都是
0-59/5,触发瞬间并发请求把中间队列打满。错峰3分钟后明显改善。 - 幂等键设计缺失。未启用
idCheck时,重跑会产生重复出库订单。务必把单据编号+行ID作为幂等键。 - 表体与表头一锅炖。表体字段变动频繁时,连带表头重跑成本高。分阶段处理后,回滚代价小很多。
适用场景与不适用场景
适用:销售出库结果需要实时回流WMS做发货确认、库存扣减复核的场景。不适用:需要WMS主动创建出库单并回写金蝶云星空的场景,那是另一种推式同步策略。
本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/solutions/strat-wms-kingdee-cloud-2669-wms-03527d6d