轻易云
注册体验

收料通知单对接旺店通采购订单:金蝶云星空到旺店通的增量同步实战

· 高金凤· 集成方案库· 15 次浏览· 约 4 分钟读完
旺店通金蝶云星空供应链集成采购订单同步增量同步轻易云

这个策略解决什么问题

在供应链协同场景里,某零售企业常出现这种断层:金蝶云星空已经审核了一批收料通知单,但下游的旺店通采购订单里却没有对应的入库预告,导致仓库收货时核对困难、批次与效期信息丢失。这个策略的核心,就是把金蝶云星空的收料通知单(PUR_ReceiveBill)按增量方式推到旺店通,生成对方系统里的采购订单,并自动审核,为后续收货入库提供一致的单据基础。

数据流向与字段映射

数据流向是 金蝶云星空 → 旺店通·企业奇门,采用 POST 接口。源端走 executeBillQuery(FormId: PUR_ReceiveBill),目标端走 wdt.purchase.order.push。

关键字段对照:

层级源字段(金蝶)目标字段(旺店通)映射类型说明
主表FBillNoouter_noDIRECT收料通知单编号作为外部单号传入
主表FSupplierId.fnumberprovider_noDIRECT供应商编码直接传递
主表FStockID.fnumberwarehouse_noDIRECT仓库编码直接传递
主表FNoteremarkDIRECT表头备注
主表—is_use_outer_noCONSTANT固定 "1",使用 outer_no 作采购单号
主表—is_checkCONSTANT固定 "1",创建后自动审核
明细FMaterialId.fnumberdetails_list.spec_noDIRECT商品规格编码
明细FActlandQtydetails_list.numDIRECT实到数量
明细FTaxPricedetails_list.price / tax_priceDIRECT含税单价
明细FSupplierLotdetails_list.batch_noDIRECT供应商批号
明细FProduceDate / FExpiryDatedetails_list.production_date / expiration_dateDIRECT生产/有效期
明细FEntryTaxRate / FEntryTaxAmountdetails_list.tax / tax_amountDIRECT税率与税额
明细FDiscountRatedetails_list.discountDIRECT折扣率

源端返回的是扁平化数据,同一张单据的多条分录会以多行形式返回,主表字段在每行重复。集成层需要按 FBillNo 分组,把分录行聚合为 details_list 数组后再下发,这一点在配置明细行映射时尤其关键。

在轻易云上如何配置

在轻易云数据集成平台(Qeasy)上,这个策略一般拆成两段:Source 元数据负责从金蝶拉数,Target 元数据负责把数据写入旺店通。

配置要点:

  1. Source 端:选择金蝶云星空适配器,API 选 executeBillQuery,FormId 填 PUR_ReceiveBill。主键字段用 FDetailEntity_FEntryID,编码字段用 FBillNo,开启 idCheck 与 autoFillResponse,buildModel 设为 false,这样可以拿到扁平化的明细数据,方便在数据处理层按单据编号聚合。
  2. 过滤条件:金蝶侧的过滤语句是 FApproveDate>='{{LAST_SYNC_TIME|dateTime}}' and FStockOrgId.FNumber='106',既保证只取上次同步之后审核的单据,又把范围收窄到具体收料组织,避免多组织数据串台。
  3. Target 端:选旺店通·企业奇门适配器,API 用 wdt.purchase.order.push,方法 POST。主表字段用 {{字段名}} 模板取值;明细 details_list 的 value 直接写 details_list,告诉平台这是一个按 FBillNo 分组后的明细数组。
  4. 常量字段:is_use_outer_no、is_check 固定写 "1",表示用 outer_no 作采购单号并自动审核;contact、telno、receive_address、expect_arrive_time 等暂时未启用,可先填 null,后续按业务再补。
  5. 主数据依赖:本策略强依赖供应商、物料、仓库三套主数据已同步完成,否则下游会因为找不到编码直接报错。

实施步骤

我们建议分三个阶段上线:

  1. 第一次启动(全量触发 + 增量起点) 在轻易云里手动触发一次全量,把历史上所有 FStockOrgId=106、审核时间早于当前的收料通知单一次性补齐。同时记录这次运行的 LAST_SYNC_TIME,后续所有调度都从这一刻往后取增量,避免重复。
  2. 日常调度(增量运行) 源端 crontab 配 2-59/2 * * * *,即每 2 分钟从第 2 分钟开始拉一次增量。目标端推荐配 2-59/5 * * * *,每 5 分钟触发一次写入,既能让源端有时间完成分组聚合,也能避免高频请求打到旺店通。
  3. 回灌与对账 上线后第一个星期,每天抽 1–2 个时间点,把金蝶侧已审核单据号与旺店通侧 outer_no 做一次比对,确认无遗漏。后续稳定后可改为每周对账一次。

踩坑复盘

  1. 编码不一致是最常见的翻车点。金蝶供应商编码和旺店通供应商编号如果不统一,采购单会直接创建失败。我们用过的稳妥做法是把编码映射放在轻易云的「统一编码中心」集中管理,而不是写死在策略里,后续新增供应商也只改一处。
  2. buildModel: false 容易被忽略。金蝶默认返回扁平数据,如果在 Source 里把它打开成 true,明细会被聚合成嵌套结构,反而和旺店通的 details_list 期望对不上,出现"主表对了但明细丢了"的现象。
  3. 常量字段不要留空字符串。is_use_outer_no 和 is_check 如果忘了写 "1",旺店通默认会自己生成单号、不自动审核,导致下游需要再走一遍人工审核,与预期不一致。
  4. 过滤条件必须带组织。第一次上线时如果只用 FApproveDate >= LAST_SYNC_TIME,很容易把其他组织的收料通知单也拉过来。稳妥的做法是默认带上 FStockOrgId.FNumber 过滤,把范围锁死在一个组织里。
  5. 批次与效期类型要严格匹配。金蝶返回的是日期时间字符串,旺店通侧如果是日期类型,要在轻易云的数据处理节点里做一次格式化,否则会出现"同步成功但有效期为空"的隐性问题。

适用场景与不适用场景

适用:金蝶云星空作为 ERP 主数据源、旺店通作为下游 WMS/电商中台,需要在收料环节就建立一致采购单据的零售、电商、连锁业态。 不适用:旺店通侧已存在人工维护的采购订单;或者供应商、物料主数据尚未在两系统打通,此时即使策略配置正确也会因编码缺失失败,需先完成基础资料同步。

本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/solutions/strat-wdt-kingdee-cloud-2585-n12eaf92e-33cfe43b

评论