销售订单同步实战:聚水潭销售出库单到畅捷通T+销货单(档口业务)
这个策略解决什么问题
档口批发场景下,门店/档口每天在聚水潭里录大量销售出库单,但财务对账和库存核算在畅捷通T+里完成。订单不实时回写,就会出现「库存虚高、财务延后、月底对账一锅粥」的局面。
我们做过的某零售企业,就是每天傍晚要把档口当天的出库单全部推到T+做销货单,作为当日结算依据。这条策略只解决一件事:聚水潭的销售出库单 → 畅捷通T+的销货单,聚焦、干净、不掺杂。
数据流向与字段映射
整体流向是 聚水潭(源) → 轻易云数据集成平台(中间层) → 畅捷通T+(目标)。中间层负责编码转换、字段重命名、过滤无效单据。
关键字段对照(只列容易出错的核心项):
| 语义 | 聚水潭(源) | 轻易云映射 | 畅捷通T+(目标) | 说明 |
|---|---|---|---|---|
| 单据编号 | io_id / io_no | 原值透传 | 销货单号 | 唯一,不能丢 |
| 出库时间 | io_date | 原值 | 单据日期 | 决定入账期间 |
| 客户编码 | shop_code / customer_code | 映射到T+往来单位编码 | 客户编码 | 必须先做往来单位同步 |
| 商品编码 | sku_id | 映射到T+存货编码 | 存货编码 | 取决于物料主数据是否先打通 |
| 数量、单价 | qty, price | 原值 | 数量、含税单价 | 注意T+是否含税 |
| 仓库 | warehouse_code | 映射 | 仓库编码 | 档口仓库 ≠ 总仓,别串 |
| 备注 | remark | 拼接:聚水潭单号+档口标记 | 备注 | 便于对账追溯 |
编码映射是这份策略里最容易出事的一环。我们在轻易云里把映射集中放在一张「编码对照表」里维护,后续如果某个客户或商品编码变了,改一处即可,不需要动策略主体。
在轻易云上如何配置
我们在轻易云数据集成平台里是这样搭这条策略的:
- 源端取数:从聚水潭拉销售出库单,按「修改时间」增量取,带上档口标记作为过滤条件(只取档口业务,屏蔽其他业态)。
- 数据清洗:在轻易云的中间层做三件事——过滤掉状态为「已取消」的单据、把客户和商品编码替换成T+体系里的编码、给每条单据打上来源标记(写进备注)。
- 目标写入:调用畅捷通T+的销货单接口写入,按单据日期入对应期间。
- 失败重试与告警:写入失败的先入死信队列,轻易云会按指数退避重试,超过阈值直接推送到企业微信/钉钉。
值得单独说一句:轻易云的「编码映射集中管理」是档口场景特别吃香的特性,因为档口客户的编码在聚水潭和T+里几乎一定不一致,但门店要稳定出货,不能让 IT 反复改代码。
实施步骤
我们把这套落地拆成三段式调度:
阶段一:增量起点 上线第一天,先在聚水潭里选定一个时间点(比如上线当天 00:00),从这一刻开始全量拉取历史未同步的档口出库单,作为「种子数据」一次性推过去,补齐基线。
阶段二:全量触发 种子数据推完后,把策略切换成「按修改时间增量」。第一次切换时,人工核对两边单据数量、金额是否对得上,确认无误后再放开调度频率。
阶段三:调度频率 档口业务一般每天傍晚和深夜各一波。我们常用的做法是:白天每 15 分钟跑一次(应对促销高峰),晚间改成整点(凌晨低峰)。轻易云的调度器直接配置 cron 即可,不用单独写调度服务。
稳妥起见,上线第一周采用「增量 + 全量双轨」:增量实时推,全量每小时再扫一遍兜底,保证不漏单。一周稳定后再下线全量兜底。
踩坑复盘
坑1:取消单据反向冲销 聚水潭里销售出库单支持作废。如果只过滤状态、没处理「已取消」单据,T+里会一直挂着。稳妥做法:状态从「已审核」变回「已取消」时,在T+端生成红字销货单冲销,而不是简单丢弃。
坑2:商品编码映射不到位 档口商品常出现「同一个 SKU 在聚水潭里建了两次,编码不同」。如果上游没合并,T+侧会出现重复存货。建议在轻易云里配置「疑似重复」预警,先把源头数据治理好,再谈同步。
坑3:税率与单价口径不一致 聚水潭默认传的是不含税单价,T+销货单接口要求的是含税单价。两边都校验一下税率字段,否则会出现「金额对得上、税额对不上」这种最难排查的差异。
坑4:调度窗口过密打挂源系统 档口业务白天高峰,每 15 分钟拉一次没问题;但千万别在聚水潭做月结/对账的时间点(通常凌晨 2-4 点)设密集调度,否则容易触发源端限流。我们踩过这个坑,后来改为夜间 2-4 点跳过调度。
坑5:表头表体分阶段上线 第一版只同步表头信息(单号、客户、时间、仓库),第二版再加表体明细。原因:表头出错,顶多整单重推;表体数量错了,容易出现「金额对得上、件数对不上」的隐蔽问题。分阶段上线,问题更容易定位。
适用场景与不适用场景
适用:档口批发、门店前置仓场景下,聚水潭做前端录单、T+做后端财务核算,需要日清日结。 不适用:需要分钟级实时库存联动的零售门店(应走即时库存同步,而不是出库单同步);也不适用客户/商品编码尚未在两边打通的项目——前置依赖没做完就跑订单同步,必出问题。