其他入库(负数)对接其他出库单:基于轻易云的库存单据同步实战
吉客云金蝶云星空供应链集成库存同步其他入库单其他出库单轻易云负数入库
这个策略解决什么问题
在库存账务里,有些企业把"调减、退料、调整"这一类业务,习惯用负数其他入库单来表达。但在目标系统里,负数入库并不是一个被普遍支持的写法,通常需要落到其他出库单上,业务语义才能对得上。
我们要解决的,就是把源端带负数的其他入库单,按行项目拆解,正负符号取反,转译成目标端的"其他出库单",并保证数量、仓库、日期、库存方向、单据编号等关键字段在跨系统后仍能对账。这是供应链集成里最容易被低估、却最影响库存台账准确性的一个策略。
数据流向与字段映射
数据流向:源系统(其他入库单,数量可能为负) → 轻易云数据集成平台(Qeasy)中间层(符号取反、字段映射) → 目标系统(其他出库单)。
关键字段对照(从我们客户现场的通用实践抽取):
| 源端字段(其他入库) | 转换逻辑 | 目标端字段(其他出库) |
|---|---|---|
| goodsdocNo(入库单号) | 原值回写,作为追溯号 | FJKYNo(吉客云单号) |
| 创建时间 | 原值透传 | FDate(日期) |
| 仓库编码 | 映射到目标系统仓库档案 | FStockOrgId / FBillTypeID |
| 商品明细 | 按行项目展开 | 表体 FBizBillEntry |
| 数量 | 符号取反,绝对值写入 | FQty |
| 库存方向(入库) | 写"GENERAL"或对应方向 | FStockDirect |
几个要点:负号必须在表体行项目层面逐行处理,不要在表头一刀切;单据号要保留源端原始号,目标端再让系统自行编号,以便对账。
在轻易云上如何配置
在轻易云(Qeasy)里,这个策略通常拆成两段:查询源单 + 写入目标。
源端配置要点:
- 数据源选择"吉客云",接口定位到入库类目,筛选条件勾选"其他入库"且数量小于 0。
- 分页采用
pageIndex/pageSize,建议每页 50 条,过小会拖慢、过大会受单次响应体限制。 - 时间窗口用
startDate/endDate,分别绑定{{LAST_SYNC_TIME}}与{{CURRENT_TIME}},便于后续做增量。
中间层要点:
- 在轻易云的字段映射面板里,把"数量"列加上取绝对值 + 符号翻转的表达式。
- 编码映射集中管理:仓库、商品、原因代码、库存方向等,单独建一张映射表,不要散落在每条策略里。这是客户现场最常见的应对模式之一。
- 表头表体分阶段:先写表头(FJKYNo、FDate、FBillTypeID、FStockOrgId),再循环写入表体行项目。
目标端配置要点:
- 调用
batchSave这类批量保存接口,主实体为其他出库单。 - 单据编号字段留空,让目标系统自动生成,避免冲突。
FStockDirect按目标系统的下拉列表填写,FJKYNo写入源端原始单号,用于跨系统对账。
实施步骤
我们建议分三步走,逐步放量:
- 冷启动全量:先以历史时间窗口做一次全量,核对两端单据数量、金额、库存方向是否一致。这一步只跑一次,目的是建立基线。
- 增量起点切换:把
startDate切到上一次成功同步的时间点,以后只拉增量。建议用轻易云的"上次同步时间"变量,而不是写死时间戳。 - 调度频率:源端 cron 一般设在白天高频、晚间降频的节奏;目标端写入可以稍微错峰,例如源端每 2 小时一次、目标端每 2 小时一次的偏移调度,避免两端同时跑满压垮下游。
稳妥做法是增量与全量双轨:增量负责日常同步,全量作为每月或每季度的兜底对账脚本,发现漂移就用全量重跑一段窗口。
踩坑复盘
- 负号处理位置不对:典型错误是在整张单据层面对总数量取反,导致多行项目时只有最后一行生效。稳妥做法是逐行项目翻转。
- 字段映射写死在策略里:仓库、原因代码一旦散落在每条策略,后续变更时要改 N 个地方。建议编码映射集中管理,做一张可维护的映射表。
- 忽略目标端的单据编号规则:把源端单号直接当目标端单号写入,会出现重复或被风控拦截。稳妥做法是源端号写入自定义字段(如 FJKYNo),目标端单号留空。
- 调度时间窗过短:如果只拉过去 1 小时,跨午夜的负数单可能被遗漏。建议至少覆盖过去 24 小时作为滑动窗口,牺牲一点点性能换准确性。
- 没有对账闭环:写完就算完,3 个月后两边数字对不上才发现。建议在轻易云里挂一个轻量的对账作业,定期按
FJKYNo反查源端,把差异写进一张"待核查"表。
适用场景与不适用场景
适用:源端用负数其他入库单表达调减/退料,目标端要求其他出库单;需要逐行符号取反的库存账务同步;跨系统库存方向(IN/OUT)语义不一致的项目。
不适用:源端本身已经拆分成正向的"其他出库单",无须再做符号翻译的场景;目标端同样支持负数入库,无需迂回转换的场景;以及需要实时(<1 分钟)同步的高频交易链路,本策略以批量、准实时为设计前提。
本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/solutions/strat-p2ea595-kingdee-cloud-5924-nc9405605-becdf3e2