调拨单同步实战:旺店通到金蝶云星辰的库存调拨集成方案
这个策略解决什么问题
调拨单跨系统同步看似只是把一张单据从 A 推到 B,但在多仓零售或分销场景里,调拨单承担着"库存位移+财务成本结转"的双重职责。源端调拨一旦完成,目标端必须实时拿到出库明细,否则账实差异会逐日放大。本文聚焦一条具体策略——把旺店通已完成状态的调拨单同步到金蝶云星辰,落地为调拨出库单。
数据流向与字段映射
数据流向:旺店通(源端,状态过滤 status=90)→ 轻易云数据集成平台(中间层,承担字段映射、编码对照、状态控制)→ 金蝶云星辰 V2(目标端,写入调拨出库单)。
主表字段对照:
| 源字段(旺店通) | 目标字段(金蝶云星辰) | 映射类型 | 转换说明 |
|---|---|---|---|
| created | bill_date | TRANSFORM | 提取日期部分 yyyy-MM-dd |
| remark | remark | DIRECT | 备注透传 |
| — | dept_id / out_dept_id | CONSTANT | 固定 "0" |
| — | trans_fer_status | CONSTANT | 固定 "3"(全部入库) |
| — | trans_type | CONSTANT | 固定 "1"(同价调拨) |
| details_list | material_entity | ARRAY | 明细数组整体映射 |
明细行字段对照:
| 源字段 | 目标字段 | 说明 |
|---|---|---|
| spec_no / goods_no | material_number | SKU 编码→物料编码 |
| goods_name | material_name | 货品名称 |
| num / goods_count | qty | 调拨数量 |
| price / amount | price / amount | 成本价透传 |
| from_warehouse_no | stock_number | 调出仓库,需对照金蝶仓库主数据 |
在轻易云上如何配置
在轻易云数据集成平台里,这条策略通常以"集成方案→策略"的方式落地,几个关键配置点:
- 源端取数:选用旺店通
wdt.stock.transfer.query接口,请求参数固定status=90,只取已完成调拨单。增量起点用start_time控制。 - 目标端写入:调用金蝶云星辰
/jdy/v2/scm/inv_tfout,目标单据为调拨出库单。 - 字段映射:主表用声明式配置完成,常量字段直接赋值;明细行通过
material_entity.value = "details_list"数组整体引用,逐行展开。 - 编码映射集中管理:仓库→仓库、SKU→物料的对照关系,轻易云客户常见做法是建一张独立的映射方案(仓库方案、物料方案),用
_findCollection联查。例如:_findCollection find id from 仓库方案 where number={{from_warehouse_no}}。这种"编码映射集中管理"的方式,比把映射逻辑散落在每条策略里要好维护得多。 - 依赖顺序:调拨单依赖物料主数据先到位(sequence B),否则
material_number找不到对应档案,会写不进去。
实施步骤
我们建议分三阶段调度,避免一上来就高频跑全量。
阶段一:物料与仓库主数据先行 先把物料同步、仓库同步跑稳,确保目标端档案齐全。这一步是后面所有业务单据同步的地基。
阶段二:调拨单全量回灌 首次上线时,用一次全量触发把历史已完成调拨单回灌到金蝶,便于账实对齐。全量触发通常手动跑一次,不进日常调度。
阶段三:增量常态化
按业务量设置调度频率(一般 5-15 分钟一轮),只拉 status=90 的新单。增量起点用上次同步成功时间 +1 秒,避免漏单。轻易云客户常见的做法是"增量与全量双轨":日常增量跑得轻,历史问题用全量修复。
踩坑复盘
坑一:状态过滤没做,导致中间态单据涌入。
典型错误是直接同步全量调拨单,把"已审核"、"待出库"等中间状态也推过去,目标端库存被提前扣减。我们稳妥的做法是源端 status=90 硬过滤,目标端 trans_fer_status 固定 "3",双重保险。
坑二:明细行只声明了数组映射,没展开字段。
如果 material_entity 只配了 value: "details_list",运行时明细字段对不上会报错。建议明细字段显式映射一遍,尤其是 qty 和 stock_number,不要指望默认值兜底。
坑三:仓库编码没对照就直接写入。
源端 from_warehouse_no 是字符串编号,目标端要的是金蝶仓库 id。这里容易翻车,必须先在仓库方案里建好映射,再用 _findCollection 联查。
坑四:跨系统时区不一致。
旺店通 created 是时间戳,金蝶 bill_date 只要日期。建议在转换里用 {{created|date}} 抽取日期部分,避免跨天单据被归到次日。
坑五:调拨单方向(调入/调出)混了。
本策略只同步调拨出库,调入由金蝶端另一张单据承接。源端 to_warehouse_no 不要塞到 stock_number,否则库存方向会反。
适用场景与不适用场景
适用:多仓零售、分销网络,旺店通做库存调度、金蝶做账务核算,调拨完成后需把成本价单据同步到 ERP。
不适用:异价调拨(需扩展 trans_type=2)、部门级调拨(需替换 dept_id 常量)、实时性要求秒级的库存查询场景(应走即时库存接口而非单据同步)。