轻易云
注册体验

小满OKKICRM与金蝶云星空供应链集成方案设计

· 系统管理员· 集成方案库· 16 次浏览· 约 4 分钟读完
小满OKKICRM金蝶云星空供应链集成订单同步CRM与ERP集成iPaaS

场景与价值

在以订单驱动的供应链业务中,CRM 与 ERP 的协同效率直接决定订单履约与财务对账的及时性。某户外用品企业在日常运营中,需要在 CRM 中维护客户、产品、销售订单,并由 ERP 负责物料主数据、出库执行、即时库存与收款记账。

两端系统天然存在主数据分散、单据状态不同步、库存与回款信息割裂等问题:CRM 创建订单后,需要在 ERP 中手工二次录入;ERP 完成出库后,CRM 侧的订单状态无法自动更新;收款单录入 ERP 后,CRM 中缺少对应的回款记录。

本文给出一套覆盖基础资料、销售订单、库存、财务回款的双向集成方案,共 8 个集成策略,其中 6 个数据同步策略、2 个仅查询策略。通过标准化的字段映射、显式的执行依赖与可配置的调度策略,把 CRM 与 ERP 的关键单据打通,使订单履约状态、库存与回款信息在两端一致。

集成架构与数据流

整体架构遵循「基础资料先行 → 订单核心 → 状态回写与财务」的三阶段执行模型。基础资料阶段并行执行物料、客户、产品的同步与查询;订单阶段把 CRM 的销售订单下发到 ERP;状态回写阶段把 ERP 的出库数量、收款单回写到 CRM,并同步即时库存。

┌─────────────────────┐                    ┌─────────────────────┐
│   小满OKKICRM       │                    │    金蝶云星空       │
├─────────────────────┤                    ├─────────────────────┤
│ 产品 ←──────────────│ 物料               │ BD_MATERIAL         │
│ 客户 ──────────────→│ 客户               │ BD_Customer         │
│ 销售订单 ──────────→│ 销售订单           │ SAL_SaleOrder       │
│ 销售订单 ←──────────│ 出库状态           │ SAL_SaleOrder(FQty) │
│ 即时库存 ←──────────│ 即时库存           │ STK_Inventory       │
│ 回款单 ←────────────│ 收款单             │ AR_RECEIVEBILL      │
└─────────────────────┘                    └─────────────────────┘
         ↑                                           ↑
         └──────────── 仅查询(支撑联查) ────────────┘

执行依赖如下:

  • 基础资料先行:物料→产品、客户→客户 需先于订单、库存、财务执行,为后续单据提供主数据。
  • 销售订单核心:CRM→ERP 销售订单下发后,才能在出库状态更新、收款单联查时形成 order_no / order_id 对照关系。
  • 联查依赖:即时库存、出库状态、收款单都依赖通过业务键的跨系统联查,确保编码映射在同步时已经建立。

接口清单

序号源平台目标平台数据对象同步方向类型
1金蝶云星空小满OKKICRM物料→产品ERP→CRMSYNC
2小满OKKICRM金蝶云星空客户→客户CRM→ERPSYNC
3小满OKKICRM金蝶云星空销售订单CRM→ERPSYNC
4金蝶云星空小满OKKICRM销售订单出库状态ERP→CRMSYNC
5金蝶云星空销售出库单ERP→平台QUERY
6金蝶云星空小满OKKICRM即时库存ERP→CRMSYNC
7小满OKKICRM产品CRM→平台QUERY
8金蝶云星空小满OKKICRM收款单→回款单ERP→CRMSYNC

实施要点

字段映射原则。所有策略均以业务键作为主对照:物料/产品用 FNumber ↔ product_no,客户用 serial_id ↔ FNumber,销售订单用 order_no ↔ FBillNo,回款单用销售订单扩展字段关联 order_idcompany_id。常量字段(组织、分组、仓库、单据类型)统一通过「按业务配置」占位符管理,实施时按租户实际情况替换。

销售订单下发。主表将 order_no / account_date / company.serial_id / remark / company_address / customer_name / customer_phone 直接映射到金蝶的 FBillNo / FDate / FCustId / FNote / FReceiveAddress / FLinkMan / FLinkPhone,单据类型固定为 XSDD13_SYS。明细行通过 product_list[] 数组整体映射,把 product_no → FMaterialIdquantity → FQtyprice → FPriceamount → FAmountIsAutoSubmitAndAudit=true 触发金蝶自动提交与审核。

出库状态更新。从金蝶销售订单读取 FQtyFStockOutQty,按状态枚举回写:FStockOutQty=0 → 未出库0 < FStockOutQty < FQty → 部分出库FStockOutQty ≥ FQty → 全部出库。过滤条件为 FApproveDate 近 5 小时、FBillTypeID=XSDD13_SYS,并排除 FBillNo LIKE '%XSDD%' 的内嵌单据。该策略依赖【仅查询】金蝶出库单提供的 FSoorDerno 作为订单号联查入口。

即时库存。通过 FMaterialId_FNumber → product_id 的联查把金蝶物料转换为 CRM 产品 ID,把 FBaseQty 写入 real_count / enable_count。过滤依赖 FStockId.FNumberFUpdateTime>=LAST_SYNC_TIME

收款单→回款单。关键点在于金额字段:amount = FRECAMOUNTFOR + FHANDLINGCHARGEFOR + FSETTLEDISTAMOUNTFORreal_amount = FREALRECAMOUNTFOR + FHANDLINGCHARGEFOR + FSETTLEDISTAMOUNTFOR,必须做数值相加而非字符串拼接。销售订单号通过扩展字段 F_UJOP_Text_re5 提取,并通过 _findCollection 联查到 CRM 的 order_idcompany_id。前置条件是该销售订单已在 CRM→ERP 同步中存在。

编码映射维护。物料编码在同步时自动建立;客户分组、币别、销售员、销售模式、业务模式、销售渠道需要在客户同步前预维护映射表,缺失则不重试并人工维护。

最佳实践

异常处理。网络超时采用指数退避(30s/60s/120s,最多 3 次);目标系统 5xx 重试 2–3 次,间隔 60s;4xx 业务校验不重试,记录失败日志并告警;编码映射缺失同样不重试。重试耗尽后写入死信队列,同时在失败记录表中保留源主键、目标主键、错误码、时间戳。幂等控制以 order_no / FBillNo / product_no 等业务键为准,避免重复写入。

告警阈值。同步失败率超过 5%、单策略连续失败 ≥3 次、关键字段联查为空、增量延迟超过 2 个调度周期,均触发即时通知。

调度频率。基础资料(物料、客户、产品查询)建议每 5 分钟,业务单据(销售订单、收款单)每 5–10 分钟,出库状态每 10 分钟,即时库存每 30 分钟。所有调度集中在业务时段(7:00–22:00),减小对源系统的压力。

执行顺序。阶段 1 并行执行物料→产品、客户→客户、产品查询;阶段 2 执行销售订单下发;阶段 3 串行执行出库状态更新、出库单查询、收款单→回款单、即时库存。

全量与增量。生产环境默认增量,通过 LAST_SYNC_TIME / FApproveDate / FUpdateTime 等时间字段控制;物料、客户、产品支持全量(去掉时间过滤或使用足够早的起始时间),建议在非业务时段执行。

隐私与安全。方案文档不含真实客户名称、API Key、组织编码、仓库 ID 等敏感信息,所有可配置项均以占位符形式给出,实施时由项目方按租户实际值替换。

本文为原创内容,转载请注明出处:/insights/solutions/sol-okkicrm-kingdee-cloud-4500

评论