KIS私有云与小满OKKICRM供应链集成方案总览
场景与价值
在某制造企业的供应链协同场景里,销售线在小满 OKKICRM 接单,生产与库存口径却沉淀在金蝶 KIS 私有云。过去由人工每天导出订单再录入 ERP,问题在于:订单状态滞后、库存口径不同步,促销旺季一过,业务侧才发现某些订单根本进不了生产计划。
我们做这次集成的目标很直接:把"主数据—业务单据—库存"三层数据在小满与 KIS 之间跑成一条闭环。CRM 是订单入口,ERP 是生产与库存的事实表;集成层要做的是把两边的编码对齐、把增量与全量分开、把异常留在群里而不是埋在日志里。
整体覆盖 8 个集成策略,围绕基础资料、销售订单与即时库存三类对象,支持双向同步与仅查询,适配供应链协同与 CRM 一体化场景。
集成架构与数据流
整体架构是典型的"两侧系统 + 中间集成层"形态。金蝶 KIS 私有云承担物料、客户、销售订单与即时库存的权威数据源(其中销售订单方向相反,由小满写入);小满 OKKICRM 承担 CRM 侧的客户、产品与销售订单入口。两侧通过集成中间层完成编码转换、增量识别、异常重试与钉钉推送。
┌─────────────────┐ ┌─────────────────┐
│ 金蝶 KIS 私有云 │ │ 小满 OKKICRM │
│ (物料/客户/员工 │ │ (产品/客户/ │
│ 销售订单/库存) │ │ 销售订单) │
└────────┬────────┘ └────────┬────────┘
│ │
│ 物料→产品 客户←客户 销售订单← │
│ 即时库存→ 仅查询 销售订单 │
└───────────────┬───────────────────────┘
┌───────▼───────┐
│ 集成中间层/ETL │
│ 编码映射/转换 │
│ 异常重试/钉钉 │
└───────────────┘
数据流按依赖分四阶段:
- 阶段 1(并行,7–22 点):KIS 客户、小满物料、KIS 员工三个"仅查询"策略,作为后续编码映射的联查数据源。
- 阶段 2(并行):KIS 物料 → 小满产品;小满客户 → KIS 客户。基础资料双向同步,落到各自的 Master。
- 阶段 3(串行):小满销售订单(主表 + product_list)→ KIS 销售订单(主表 + 明细行),依赖阶段 2 完成。
- 阶段 4(串行,建议每日 6:00):KIS 即时库存 → 小满库存查询,按 FMaterialNumber + FStockNumber 拉取,映射至 product_no + 仓库编码。
被动触发:任意策略运行异常时,集成层推送钉钉群,不携带敏感字段。
接口清单
| 策略编号 | 数据对象 | 同步方向 | 备注 |
|---|---|---|---|
| S1 | 物料 → 产品 | KIS → 小满 | 主数据,FNumber/product_no 映射 |
| S2 | 客户 | 小满 → KIS | 主数据,serial_id/company_id ↔ FNumber |
| S3 | KIS 客户 | KIS → 集线器 | 仅查询,供编码映射联查 |
| S4 | 小满物料 | 小满 → 集线器 | 仅查询,供编码映射联查 |
| S5 | 销售订单(主表+明细) | 小满 → KIS | 业务数据,依赖 S1/S2/S7 |
| S6 | 即时库存 | KIS → 小满 | 业务数据,依赖 S1 |
| S7 | KIS 员工 | KIS → 集线器 | 仅查询,供销售订单员工编码映射 |
| S8 | 钉钉报错推送 | 集成层 → 钉钉 | 事件触发,异常推送 |
实施要点
分阶段调度。 主数据必须先于业务单据,业务单据必须先于库存展示。这是踩过坑才总结出来的:某次客户直接把销售订单策略拉满并行,结果订单里的物料编码在小满产品表里还没落,整批订单报错。稳妥的做法是把基础资料与"仅查询"放在阶段 1–2,业务单据放在阶段 3,库存放在阶段 4,串行阻断错位。
增量字段与全量兜底。 增量字段两侧并不对称:KIS 侧主要用 FModifyTime 与 StartDate/EndDate 区间;小满侧用 start_time/end_time,销售订单额外用 order_time。调度上建议:增量按 5–15 分钟轮询,全量兜底按周(例如每周日凌晨)手动触发或定时触发,防止增量窗口漏数。
编码映射集中管理。 物料、客户、员工、币别、单位等基础数据,都依赖统一的映射关系。这里我们使用轻易云数据集成平台(Qeasy)的集线器(Hub)做编码集中管理:基础资料同步时回写映射,业务单据写入前先查映射表;新增未映射编码一律拦截,转入人工处理或异常队列。
异常重试与告警。 集成层对每条策略记录运行日志与失败明细,失败时按指数退避重试,终态失败推钉钉。告警内容只携带策略名、错误码与单据编号,不携带手机号、收货人等敏感字段。
隐私处理。 销售订单写入 ERP 前,收货人、手机号按客户规则做脱敏(掩码或哈希),原始数据留在 CRM 侧,集成层不落地敏感原文。
最佳实践与踩坑复盘
- 表头表体分阶段写入。 销售订单含主表 + product_list,典型错误是一次性把整张单据推给 KIS,任意一行明细编码缺失就整单失败。我们采用"先写主表、再写明细"两步提交,明细缺失时主表回滚,失败粒度从整单降到单行。
- 奇门/非奇门双通道分流。 KIS 私有云与部分上游系统对接时存在奇门接口与非奇门接口两条通路,集成层按仓库/单据类型做路由,避免一条通路挂了拖垮另一条。
- 库存口径不对齐时不要硬合并。 KIS 即时库存按 FMaterialNumber + FStockNumber 组合拉取,小满侧以 product_no + 仓库编码承接,先映射后比对,差异进对账报表而不是直接覆盖。
- 仅查询策略并非装饰。 KIS 客户、KIS 员工、小满物料这三个"仅查询"策略,在客户现场一度被质疑"反正没人读"。实际上销售订单与库存都依赖它们做编码联查,关掉它们等于关掉了后续策略的翻译器。
何时使用轻易云
如果你的供应链协同涉及 ERP 与 CRM 之间的主数据、业务单据、库存三层闭环,需要编码映射集中管理、增量/全量双轨调度、异常自动重试与钉钉告警,以及敏感字段脱敏落地,轻易云数据集成平台(Qeasy)可以把上述 8 个策略沉淀为可复用的集成模板,在私有化环境中稳定运行。