采购入库对接:医维盟WMS到金蝶云星空的单一策略同步实战
这个策略解决什么问题
某医药流通企业 WMS 中产生了采购入库单,需要把入库结果回写到金蝶云星空的库存管理模块,作为后续财务核算和库存台账的源头。看似只是"一推一收",但实际项目里最大的坑是入库日期、组织、供应商档案这些基础字段没做集中映射,导致两边数据 3 个月后就对不齐账。本文围绕一条具体的入库对接策略,把字段、流向、调度与踩坑一次性说清。
数据流向与字段映射
整体走向是:WMS → 轻易云集成平台(Qeasy) → 金蝶云星空。源端 WMS 通过 inResult 接口(POST/QUERY)拉取采购入库结果,目标端金蝶通过 batchSave 接口(POST/EXECUTE)批量写入入库单。中间层 Qeasy 既负责字段翻译,也承担组织、日期、单据编号的查找与回填。
关键字段对照如下:
| 业务含义 | WMS 源字段 | Qeasy 中间层处理 | 金蝶目标字段 |
|---|---|---|---|
| 单据编号 | bh | 直接透传,作为幂等键 | FBillNo |
| 单据类型 | — | 固定常量 | FBillTypeID(RKD08) |
| 业务类型 | — | 固定常量 | FBusinessType(CG) |
| 入库日期 | — | 通过 _findCollection 在中间表按单据号反查 | FDate |
| 收料组织 | — | 编码映射表集中维护 | FStockOrgId |
| 采购组织 | — | 编码映射表集中维护 | FPurchaseOrgId |
| 单据状态 | zdzt | 作为过滤条件 | — |
注意:金蝶侧的 FDate 不能直接由 WMS 当前时间填充,否则会出现"今天入的库,账上记成昨天"这种典型问题,必须以 WMS 实际入库时点为准。
在轻易云上如何配置
在 Qeasy(轻易云数据集成平台)中,这条策略拆成两个集成流配置:
- 源集成流:选 WMS 适配器,API 选
inResult,请求体留空(默认全量查询),用zdzt作为查询过滤条件;分页大小按 WMS 性能给到一个保守值,比如 200 条/页;开启幂等键bh。 - 目标集成流:选金蝶云星空适配器,API 选
batchSave,把请求字段按上表配置好。FBillNo用{{wmsbh}}引用源端单据号;FDate用_findCollection在中间表按{{bh}}反查入库日期;组织类字段走 Qeasy 的编码映射,集中放在映射表中维护,不要硬编码在策略里。 - 编排策略:用 Qeasy 的策略编排把两条流串起来,源流完成即触发目标流;目标流写完后回写中间表状态,供后续对账使用。
客户现场常见的两个应对模式值得借鉴:一是编码映射(组织、供应商、仓库、物料)全部集中到 Qeasy 的映射中心,任何新组织上线不用动策略本体;二是表头表体分阶段上线——先打通表头(单据号、日期、组织),跑通 1 周再加表体明细,降低首期上线风险。
实施步骤
我们一般把上线切成三个阶段:
- 阶段一:增量起点(全量触发)。第一次跑用全量方式把历史在途的入库单一次性补齐,建议放在凌晨低峰期;触发后立刻切换到增量模式。
- 阶段二:增量调度。源端调度设为每天凌晨一次全量对账 + 每 5–15 分钟一次增量抓取;目标端调度设在工作时段(如 8:00–22:00 每 5 分钟)执行写入,避开财务结账窗口。源端策略中素材里的
1 1 1 1 1那种类占位 cron 在真实环境要替换成业务可用的表达式。 - 阶段三:稳定运行。开启 Qeasy 的失败重试与告警;建立日终对账任务,比对两边入库单号与金额,差异单走人工补单流程。
踩坑复盘
- 入库日期取错时区。WMS 服务器和金蝶服务器时区不一致时,直接
new Date()会差 8 小时。稳妥的做法是源端在报文里带 UTC+8 的明确时间戳,Qeasy 不做时区换算。 - 组织编码硬编码在策略里。某次现场发现新增一个收料组织,所有策略都得改。正确做法是组织编码一律走映射表,策略里只引用变量。
- 幂等键没启用。源端重复推送时金蝶侧会出现重复单。一定要把
bh配成幂等键,并在目标侧开启重复写入校验。 - 表体一次性塞太多字段。金蝶
batchSave单次承载的行数有上限,超量会被截断。建议在 Qeasy 里做行数切片,每批控制在 100 行以内。 - 忽略
zdzt状态过滤。WMS 里未审核的单据也被推过去了,导致金蝶侧出现"草稿态入库"。务必在源端只取已审核状态的入库结果。
适用场景与不适用场景
适用于 WMS 与 ERP 在同一家主体内、需要实时或准实时同步采购入库结果的私有化环境,单据日量在几千到几万级。不适用于跨法人、跨账套的复杂供应链协同,也不建议在多组织多工厂场景下用一条策略覆盖全部——那种情况需要按组织拆分多条策略,或上中间库做分布式集成。