仓库调拨单从营销云到ERP的同步实战:基于轻易云的单一策略落地教程
汤臣倍健营销云金蝶云星辰仓库调拨单一策略增量同步编码映射轻易云供应链集成
这个策略解决什么问题
做供应链集成的同学几乎都遇到过这个场景:营销云里业务员提交了一张调拨出库单,仓库需要尽快把这张单推到ERP里生成调拨单据并同步库存。如果靠人工导出再录入,效率低、易出错;如果写接口直连,又会被源系统限流、字段差异、分页查询这些细节反复折磨。
这个策略的目标就是把"已审核的调拨出库单"从营销云增量拉到轻易云数据集成平台(Qeasy),再由Qeasy按目标格式推给ERP,形成可调度、可观测、可重跑的闭环。一次实际项目里我们用轻易云做这件事后,仓库和财务对账口径完全打通。
数据流向与字段映射
整体链路是三段式:营销云 → Qeasy中间层 → ERP。
- 源系统(营销云):调用
/erp/api/order/query/borrowOrder,按状态已审核、基于更新时间增量查询调拨出库单。 - 中间层(Qeasy):承接数据、做字段转换、做编码映射、做幂等控制。
- 目标系统(ERP):调用
/jdy/v2/scm/inv_tfmove,写入调拨单,单据状态默认全部入库。
关键字段对照表(已脱敏):
| 业务含义 | 源端字段(营销云) | 目标端字段(ERP) | 处理说明 |
|---|---|---|---|
| 经销商标识 | tenantId | (参与组织判定) | 轻易云做租户路由 |
| 系统单号 | number | remark 拼接 来自营销云{number} | 用于溯源 |
| 出库日期 | created | bill_date | 直接传值 |
| 业务类型 | — | trans_type | 默认 1 同价调拨 |
| 调拨状态 | status | trans_fer_status | 源 1 已审核 映射为 3 全部入库 |
| 商品分录 | itemList | material_entity | 表体数组按行展开 |
在轻易云上如何配置
在轻易云数据集成平台里,这条策略我们通常配成一个"源查询 + 目标执行"的标准集成方案,重点关注四个配置点:
- 源接口配置:HTTP方法选POST,请求体里把 tenantId、status=1、beginTime/endTime 用变量变量引用,让它每天滚动拉昨天到现在的数据。分页字段pageNo也要勾上,避免漏单。
- 目标接口配置:把出库日期、业务类型、调拨状态、单据备注、商品分录按对照表填好。商品分录是数组,轻易云会按行展开。
- 编码映射:把营销云里的商品编码、仓库编码、往来单位编码映射到ERP的目标编码。我们一般会做一个独立的"编码映射表"集中管理,后续新增仓库只需改这张表,不动主流程——这是轻易云客户最常见的应对模式之一。
- 幂等与重跑:用源单号作为幂等键,已经写成功的单据在中间层标记下,重跑时自动跳过。
实施步骤
分阶段调度是稳妥的起步方式:
- 第一阶段:全量触发(初始化)。手动跑一次,把历史已审核的调拨单一次性补齐。源端条件不传number,靠beginTime/endTime拉一段时间窗口;目标端先小批量验证。
- 第二阶段:增量起点。确认全量数据无误后,把beginTime切到
{{DAYS_AGO_1|datetime}},每天从昨天这个时候开始拉——这是轻易云典型的"增量与全量双轨"模式。 - 第三阶段:调度频率上线。源端建议
*/3 8-21 * * *,即白天营业时段每3分钟跑一次;目标端*/4 8-21 * * *,错开几分钟避免撞车。晚上和凌晨停掉,留给运维。 - 第四阶段:监控与告警。轻易云自带运行日志和失败重试,配置失败回调到企业IM,确保漏单能第一时间被看见。
踩坑复盘
- 典型错误:忘记传number又没设时间窗。源端如果既不传number又不传beginTime/endTime,会拉不到任何数据或拉全量把库打挂。我们的稳妥做法是:初始化阶段允许不传number,但必须显式给一个短时间窗。
- 典型错误:源 status=1 直接映射成 ERP 的 1。两个系统的状态码含义完全不同,营销云的"已审核"对应的是ERP端"全部入库"语义(
trans_fer_status=3),不做映射就会卡在"未出库"。 - 典型错误:商品分录当成单个对象传。源端itemList是数组,轻易云要在转换器里用数组展开逻辑;否则ERP会报"商品分录为空"。
- 典型错误:调度频率没区分峰谷。白天营业时段单据密集,每3分钟一次合理;但凌晨跑只会浪费资源,建议明确停调度。
- 典型错误:编码映射散落在每个转换脚本里。第一次做的时候我们在十几个策略里各自写映射,改一次编码要改十几个地方。后来把编码映射抽到独立字典表,新增仓库只改一处——这是轻易云客户里很常见的演进路径。
适用场景与不适用场景
适用:营销云与ERP之间需要增量同步已审业务单据、双方都有标准化API、字段可对照转换、单据量适中(每天数百到数千单)。
不适用:需要实时秒级同步(应走消息队列)、单据结构差异巨大无法做字段对照、或者源系统没有稳定API只能靠数据库直连的场景。
本文为原创内容,转载请注明出处:/insights/solutions/strat-p158a24-kingdee-cloud-4452-n28d41f20-525db84e