轻易云
注册体验

物料主数据从ERP到CRM:一条增量同步策略的实战拆解

· 陈洁琳· 集成方案库· 31 次浏览· 约 4 分钟读完
KIS私有云小满OKKICRM物料主数据增量同步KIS私有云轻易云私有化集成

这个策略解决什么问题

物料主数据从ERP推到CRM,看起来是基础资料同步里最朴素的一类。但我们一次实际项目中遇到过:上线3个月后两边物料数对不上,CRM里冒出几十条ERP里已经停用的"僵尸料",销售拿着错误型号给客户报价。

这条策略的核心价值就一句话:用时间窗增量把ERP里的物料变更按节奏推到CRM,保证两边主数据在'编码、名称、型号'等关键字段上长期一致,并且停用/修改能及时回流。

数据流向与字段映射

整体流向是单向的:源系统(KIS私有云物料)→ 轻易云数据集成平台 → 目标系统(小满OKKICRM产品)。

源端通过RESTful查询接口按时间窗拉取变更,平台做映射、清洗、去重后,调目标端的执行接口写入。下面是这次项目里我们重点对照的核心字段:

业务含义源端字段(KIS)目标字段(小满)备注
物料编码FNumberproduct_no双方唯一标识,建映射时以源为准
物料名称FNamename名称变更要可追溯
规格型号FModelmodelCRM里销售最关心
毛重FGrossWeightpackage_gross_weight单位需在映射里统一
净重FNetWeightpackage_net_weight同上

这里要特别说一句:编码映射集中管理是轻易云客户最常用的应对模式之一。所有KIS编码和小满产品ID的对应关系落在平台映射表里,后续无论谁改、哪边改,都不会乱。

在轻易云上如何配置

我们用轻易云(Qeasy)做这件事的时候,配置分三块:

源端配置。注册KIS私有云的API,调用物料列表查询接口。请求体里带四个关键参数:账套标识(AccountDB)、分页大小(ItemsOfPage,默认10)、当前页(CurrentPage)、以及时间窗(StartDate / EndDate)。这里SourceTimeStart和SourceTimeEnd用平台内置变量 ${LAST_SYNC_TIME} 和 ${CURRENT_TIME} 自动取窗,不要手写时间戳。

映射配置。把源字段按上面的对照表挂到目标字段上。轻易云里直接用 {{FNumber}}、{{FName}} 这种占位符引用源字段。idCheck 开 true,平台会根据编码判断是新建还是更新,避免重复插入。

目标端配置。注册小满OKKICRM的产品写入接口,method是POST,effect是EXECUTE。注意小满接口里 product_id 是平台自动维护的映射主键,不需要手工填。

另外两个开关值得点出来:buildModel = false 表示不自动建模型,靠我们手写的映射;autoFillResponse = false 表示响应不自动回填,保持映射表由平台统一管理。

实施步骤

我们通常把物料同步拆成三段式推进:

第一步:全量起点。首次上线前,用一个不带时间窗的查询把ERP里所有物料一次性推到CRM,建立初始映射表。这一步只在初始化时跑一次,后续不再触发。

第二步:增量切换。起点建好后,把 SourceTimeStart 切到 ${LAST_SYNC_TIME},调度跑起来。这次项目里我们配的是 0-59/45 7-20 * * *,也就是工作日7点到20点之间每45分钟一轮。上班时间密集同步,下班和周末停,典型的'增量与全量双轨'——全量负责初始化,增量负责日常变更。

第三步:调度收敛。稳定运行一两周后,观察实际变更量。如果变更稀疏,可以把频率降到每2小时或更低;如果变更密集且要求实时,再考虑事件触发。不要一上来就配高频,这是另一个常见翻车点。

踩坑复盘

几次项目下来,这条策略上典型的坑有这几个:

  1. 时间窗字段格式不对。KIS接口要求 T 分隔的ISO时间,平台变量默认是空格分隔。务必用 _function REPLACE('{{LAST_SYNC_TIME|datetime}}',' ','T') 显式转一次,否则源端会直接拒收。

  2. 分页太小漏数据。ItemsOfPage 默认 10 在物料量大的企业根本不够。一次客户现场我们改成 100 才稳定。改完之后必须重新核对总条数和分页次数。

  3. 单位不统一。KIS里重量单位是克,小满期望公斤或磅。这种字段映射不是字符串对字符串那么简单,一定要在映射脚本里做单位换算,或者提前在两边规范好单位字典。

  4. 停用物料没回流。增量只看变更时间,如果源端把物料停用但没改时间戳,CRM这边就一直以为是有效料。稳妥的做法是单独跑一个停用状态校准任务,每周一次全量对一遍状态字段。

  5. 依赖关系没声明。物料同步如果和销售订单同步存在上下游(比如订单要带产品ID),一定要在轻易云的依赖配置里把 depends_on 标好,否则顺序乱了目标端会拒单。这次素材里这条策略 depends_on 是空数组,是独立的基础资料同步,但下游策略要明确依赖它。

适用场景与不适用场景

适用:ERP与CRM之间物料主数据需要长期保持一致、变更频率不算极端(分钟级)的企业;私有化部署、对数据出域敏感的场景。

不适用:需要实时秒级同步的高频变更场景——这种应该走事件驱动;纯展示用的物料信息(无编码映射需求)——直接API拉取更轻;以及源端本身没有可靠时间戳字段的系统。

本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/solutions/strat-kis-okkicrm-6426-kis-dfbf1f99

评论