轻易云
注册体验

返利单ERP单号回写策略:用友NCC到纷享销客的闭环实现

· 何金辉· 集成方案库· 22 次浏览· 约 3 分钟读完

这个策略解决什么问题

返利单审批在ERP(用友NCC)完成后,业务人员仍需在CRM(纷享销客)里跟进开票、对账与客户沟通。一旦ERP单号回不来,CRM侧就要人工补录,跨系统对账也会失真。我们在客户现场常见的需求是:把ERP侧已生效的返利单据号、审批状态回写到CRM对应单据上,让业务侧以ERP为最终口径。本策略不传输明细行,只做单号+状态字段的轻量回写。

写入队列池 - /jdy/v2/scm/inv_tfout(含错误重试明细)

数据流向与字段映射

整体流向是:用友NCC(源,中间轮询)→ 轻易云数据集成平台(中转、过滤、映射)→ 纷享销客(目标,调用数据更新接口)。

维度源端(用友NCC侧)中间层目标端(纷享销客侧)
主键id(平台内置)内部ID单据object_id(CRM侧)
业务号number(返利单单号)直接透传返利单ERP单号(自定义字段)
状态status=2(已完成)过滤仅取2流程状态/审批结果
时间窗created_at_begin/endLAST_SYNC_TIME / CURRENT_TIME—

策略关键在于:status=2 作为过滤条件只拉已完成的单据,number 直接作为回写字段值,源端以 id 做幂等键。

写入队列池 - /jdy/v2/scm/inv_tfout(含错误重试明细)

在轻易云上如何配置

源端是查询类接口,目标端是写入类接口,这是典型的"查→改"二段式。在轻易云数据集成平台(Qeasy)上配置时,把策略拆成源注册、目标注册、映射编排三块:

  1. 源注册:API 选 QueryStrategyData,方法 POST,作用 QUERY。请求体固定传 strategy_id、status=2、created_at_begin={{LAST_SYNC_TIME}}、created_at_end={{CURRENT_TIME}}。number 字段标记为业务号,id 字段开启 idCheck 用于后续去重。
  2. 目标注册:API 选 /cgi/crm/v2/data/update,方法 POST,作用 EXECUTE。请求体由 data(表头对象)、triggerWorkFlow=true、triggerApprovalFlow=false 三部分组成。
  3. 映射编排:把源端 number 写入目标端 data 内的 ERP单号字段;源端 id 与目标端 data.object_id 做关联。触发流程而不触发审批,是这类"轻量回写"的稳妥选择——避免CRM侧二次审批导致状态来回跳。

实施步骤

  1. 增量起点:把 LAST_SYNC_TIME 初始化为ERP返利单正式上线日零点,首次跑批取全量,后续按15分钟节奏增量。
  2. 全量触发:对历史数据一次性回灌,通常用临时调度在夜间执行,跑完后 LAST_SYNC_TIME 切到当前时间。
  3. 调度频率:按素材里的 crontab 即 */15 6-23 * * *,业务时段每15分钟一次,夜间停跑以降低ERP压力。
  4. 异常处置:源端返回失败或目标端 data 为空时,策略进入重试队列;连续3次失败转人工。

踩坑复盘

  1. 别忘了 status 过滤:早期版本没加 status=2,把"等待中"的单据也回写了,CRM侧流程被错误触发,业务投诉。稳妥的做法是源端查询时硬过滤状态。
  2. 时间窗别用响应时间:素材里 response_at_begin/end 留空,只用 created_at 窗,避免回写过的单据被重复处理。
  3. 编码映射集中管理:某零售企业的ERP单号和CRM字段名不一致,我们把映射表放在轻易云里集中维护,后续扩区域只需新增规则,不再改流程。
  4. 触发流程还是审批:CRM侧只触发流程、不触发审批(triggerApprovalFlow=false),否则已结案单据会被再次推审批。
  5. 幂等键必须开:开启 idCheck 后,重复数据会被去重,避免对同一CRM单据多次写入。

适用场景与不适用场景

适用:ERP为返利/费用结算唯一口径,CRM仅做跟进与展示;需要把ERP单号作为后续对账锚点。 不适用:明细行较多的返利结算(本策略只回写表头字段);双向实时联动的场景,需要走事件驱动而不是定时轮询。

适用场景与不适用场景(英文同段,保留为总结)

适用:ERP is the single source of truth for rebate settlement, CRM is only for follow-up and display, and the ERP document number needs to serve as the reconciliation anchor. 不适用:Scenarios with many line items (this strategy only writes back header fields), or bidirectional real-time scenarios that require event-driven rather than scheduled polling.

本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/solutions/strat-ncc-p2d57ef-7239-erp-0c2ef7a9

评论