金蝶其他入库单同步至旺店通委外入库单:单策略实战教程
这个策略解决什么问题
在某零售企业的仓储一体化项目中,金蝶云星空作为 ERP 后台,负责财务记账与库存账面计算;旺店通作为仓储执行系统,记录实际入库作业。委外加工场景下,金蝶生成的「其他入库单」(反映委外收回的成品/半成品)需要同步到旺店通的「委外入库单」中,作为下游仓库收货与上架的执行依据。如果不同步,仓库作业员看不到委外任务,账面库存与实物库存长期对不上。
数据流向与字段映射
数据流是单向的:金蝶云星空 → 中间层(轻易云数据集成平台)→ 旺店通企业版。我们建议不要把映射关系散落在多个脚本里,而是在中间层做一次「编码映射集中管理」,源系统的单据编号、组织编码、仓库编码、物料编码在中间层完成标准化,再写入目标系统。
下面给出一份关键字段对照表(仅列常见字段,实际项目以源系统元数据为准):
| 业务含义 | 金蝶云星空(源) | 旺店通(目标) | 处理要点 |
|---|---|---|---|
| 单据编号 | FBillNo(其他入库单单号) | external_order_no | 原样透传,作为幂等键 |
| 单据类型 | 业务单据类型字段 | order_type=委外入库 | 在中间层常量映射 |
| 仓库 | FStockId(仓库内码) | warehouse_code | 通过编码映射表转换 |
| 供应商 | FSupplierId | provider_code | 委外加工供应商,必须映射 |
| 商品编码 | FMaterialId | goods_id | 物料主数据需先于本策略同步 |
| 数量 | FQty | num | 单位需统一,建议在中间层换算 |
| 备注 | FNote | remark | 文本字段直接透传 |
这里有一个非常容易翻车的点:物料编码。如果物料主数据策略没跑完就跑单据策略,旺店通会报「商品不存在」。稳妥的做法是,物料策略设为本策略的依赖,调度顺序先 A 后 B。
在轻易云上如何配置
在轻易云数据集成平台(Qeasy)中,本策略以一条独立的集成流承载,配置要点如下:
- 源系统连接:选择金蝶云星空适配器,通过查询接口拉取「其他入库单」。增量起点通常按最后修改时间(FModifyDate)字段做时间窗过滤,避免每次重拉历史单据。
- 目标系统连接:选择旺店通企业版适配器,调用其委外入库单创建接口。
- 数据处理:在中间层加入「表头表体分阶段」处理节点——先处理表头(仓库、供应商、单据号),再循环处理表体(行项目)。这种分阶段的好处是,单据头先落地后,行项目可以分批写入,避免一次性大事务。
- 编码映射:单独建一张「金蝶-旺店通编码对照表」,由物料主数据策略维护,库存策略只读取。这样编码映射集中在中间层,不会出现多个策略各自维护导致的不一致。
- 幂等控制:以金蝶单据编号作为 external_order_no,旺店通侧据此做去重,重复推送不会产生多张单据。
实施步骤
我们建议把上线过程拆成三段式调度:
第一步:全量初始化。 在某个夜间窗口,把历史未同步的「其他入库单」一次性推送到旺店通。这一步必须人工确认源系统数据已冻结,避免漏单。
第二步:增量起点切换。 记录下全量同步完成的最后修改时间,从这个时间点之后开始走增量调度。建议第一次增量跑两次:第一次确认无新增数据(验证窗口),第二次开始正式抓取。
第三步:调度频率。 委外入库不像销售订单那样要求秒级响应,但财务对账要求日清。我们一般建议 15 分钟一次增量,夜间低峰期可放宽到 1 小时。轻易云的调度器可以直接配置 cron 表达式。
需要强调的是,全量和增量是「双轨并行」关系,不是替代关系——全量用于初始化,增量用于日常滚动,两者通过时间窗字段严格区分。
踩坑复盘
一次实际项目中,我们踩过这些坑,供后来人参考:
- 单位不一致导致数量翻倍。金蝶默认单位是「基本单位」,旺店通入库时是「入库单位」。如果没有在中间层做单位换算,仓库收 100 件会变成 100 基本单位(可能是箱),造成盘亏。
- 组织编码多分支冲突。集团企业有多个组织,金蝶组织编码和旺店通店铺编码不是一一对应。如果不做映射,所有分公司的单据都会写到一个仓库。
- 审批流状态不同步。金蝶单据需要审核后才能作为正式入库依据。如果不抓审核状态字段,会把草稿状态的单据也推过去,旺店通出现无效入库。
- 删除单据无法回滚。金蝶支持作废单据,但旺店通入库单创建后很难删除。建议在中间层加一道状态判断:源单据作废则跳过推送,已推送的需要人工在旺店通侧冲销。
- 委外供应商为空导致接口报错。如果委外加工供应商在金蝶未维护,推送到旺店通必失败。建议在源头做强制校验,非空才进队列。
适用场景与不适用场景
本策略适用于:金蝶云星空与旺店通企业版共存的私有化部署、委外加工业务稳定、有专门运维团队维护编码映射表的场景。不适用于:跨集团多账套、需要实时秒级同步(建议走中间库直连)、物料主数据尚未标准化或频繁改单位的项目。