泛微OA-E9Http与金蝶云星空供应链集成方案总览
场景与价值
在一次实际项目中,我们遇到这样的问题:某制造业客户的销售订单、发货通知单需要走OA审批,审批结果再回写到ERP生成出库;同时生产订单审批后要在ERP生成采购订单,采购入库单又依赖Excel/PDF附件上传。审批流程没结束,下游单据就出不来;ERP的单据状态不更新,业务又重复催办。
问题不是某一笔抄表抄错了,而是OA审批流与ERP业务单据之间没有形成自动闭环,全靠人工在两个系统间来回切换。
本方案针对的就是这一类场景:把泛微OA的审批流(差旅报销、付款申请、生产订单审批、销售订单审批、发货通知单审批、供应商资料申请)与金蝶云星空的供应链单据(采购订单、采购入库单、销售订单、发货通知单、其他应付单、付款单、银行转账单)进行端到端集成,共覆盖 85 条策略,部署在私有化环境。
集成架构与数据流
整体架构是「OA ↔ 集成平台 ↔ ERP」三层,平台承担数据转换、编码映射、调度编排和异常处理职责。泛微OA与金蝶云星空既作为源系统也作为目标系统,数据流向是双向的。
数据流按业务模块分为五大块:
- 基础资料同步(约16条策略):物料、客户、供应商、费用项目、部门、员工、用户、组织、仓库、辅助资料从金蝶同步到泛微或平台;编码映射建立后,由平台回写金蝶对应 id;SD001 生产订单审批、SD004 供应商资料申请走泛微↔金蝶双向。
- 财务同步(约29条策略):FD001 差旅费报销、FD003 非生产性付款申请、FD004 对个费用报销、FD006 募投账户付款、FD007 月度结算付款,从泛微生成金蝶其他应付单/付款单/银行转账单。
- 生产同步(3条策略):SD003 委外类生产订单金蝶→泛微发起,审核/驳回泛微→金蝶。
- 采购订单同步(约22条策略):SD001 生产订单审批通过后泛微→金蝶生成采购订单(多版本);Excel/PDF→金蝶采购入库单(多业务线);金蝶侧提交采购订单、审核采购入库单。
- 销售订单同步(约10条策略):ERP 销售订单/发货通知单推送 OA MD0012/MD0013 审批,OA 审核通过后回写 ERP 明细行状态。
在客户现场,我们用的是 轻易云数据集成平台(Qeasy) 来承接中间层。它内置的 iPaaS 编排能力让我们把「金蝶 Save→查询→OA 发起→回写 ERP」串成一个可视化流程,异常重试和死信队列开箱即用,不用自己写调度框架。
接口清单
| 策略编号区间 | 数据对象 | 同步方向 | 备注 |
|---|---|---|---|
| 1 | 物料/客户/供应商/员工/部门/用户 | 金蝶→泛微/平台 | 基础资料,编码映射建立 |
| 3, 17 | 费用项目 | 金蝶↔泛微 | id 映射供 FD 系列使用 |
| 5~7, FD001/FD004/FD006/FD007 | 其他应付单/付款单/银行转账单 | 泛微→金蝶 | 按流程版本分策略 |
| 8~10 (SD001) | 生产订单→采购订单 | 泛微→金蝶 | 多版本(429/432/448/488/测试自动) |
| 8~10 (SD003) | 委外生产订单 | 金蝶↔泛微 | 审核/驳回 |
| 14~16 (SD004) | 供应商资料申请 | 金蝶↔泛微 | 审核/驳回 |
| 19~22 | 修改 id 回写 | 平台→金蝶 | 编码映射生效 |
| 24~85 | 财务/采购/销售/系统维护 | 多向 | 见 index.json 完整清单 |
实施要点
分阶段调度:策略分为三个执行阶段。阶段 1(120)负责基础资料与查询,必须先跑完建立映射;阶段 2(2184)是业务单据同步,包括财务、采购、销售三个并行分支;阶段 3(策略 85)是每日 03:00 的队列清理。
增量字段与全量兜底:日常运行基于 FModifyDate、LAST_SYNC_TIME 或流程状态做增量;首次部署或数据修复时执行全量。基础资料建议每日一次全量校验,业务单据只同步已审核/已确认状态。
编码映射集中管理:物料、客户、供应商、费用项目、OA 用户的映射关系,统一在平台上集中维护,供下游策略调用。这里容易翻车的是供应商——SD001 要求 OA 供应商字段改为隐藏编号,直接拿可见编号写入会导致 ERP 校验失败。
异常重试:Token 401 触发连接器刷新后重试 1 次;网络超时指数退避重试 3 次(30s/60s/120s);编码映射缺失记录并跳过,不阻塞后续;单条失败写入死信队列。
隐私处理:编码映射表只存业务编码,不存敏感字段;队列数据定期清理(三个月前),避免堆积。
调度频率:基础资料与查询每 30 分钟;销售订单、发货通知单→OA 每 10 分钟;财务单据、生产订单审批→采购订单每 10 分钟;Excel/PDF 采购入库按业务线定时;金蝶-提交采购订单依赖上游 Save 完成,可流程触发或每 5 分钟轮询。
最佳实践与踩坑复盘
1. 表头表体分阶段写入
销售订单和发货通知单从金蝶推 OA 时,典型错误是一次性把表头表体全部塞进 OA 接口,结果 OA 流程模板不匹配导致整笔失败。稳妥的做法是表头先 Save 获取流程实例 id,再分批提交表体行,失败行不阻塞其他行。
2. 编码映射集中管理,避免硬编码
在客户现场我们见过最常见的反模式是每条策略各自维护一份物料/客户映射表,改一处要同步七八个地方,极易漏改。轻易云平台的映射中心支持一处维护、多策略引用,版本变更时只改一处。
3. 多版本流程分开建策略
FD003/FD001/FD004/FD006 等按流程版本(393/422/424/427/443/478/481/484/498/499/501/530/531/554/NEW)分别建独立策略,SD001 按版本(429/432/448/488/测试自动)分策略,不要试图用一条策略兼容所有版本——字段差异会在运行时才暴露,排查成本极高。
4. OA 用户匹配失败的兜底
销售订单、发货通知单推 OA 时,发起人靠「创建人姓名→OA 用户 id」映射。映射不到时,直接报错会让整笔数据卡住。稳妥做法是记录告警 + 配置默认发起人,业务可在事后补录。
5. 限流退避与告警阈值
金蝶侧 API 有调用频率限制,大批量同步时容易触发限流。建议在平台上配置退避等待 + 超阈值暂停 + 告警通知,而不是让任务一直挂在重试队列里消耗资源。
何时使用轻易云
如果项目需要把泛微OA审批流程与金蝶云星空供应链单据进行端到端集成,且策略超过几十条、需要可视化编排、集中编码映射、完善的异常重试与死信队列,轻易云数据集成平台(Qeasy)是合适的承接方。它把 ERP/CRM/OA/WMS 等系统间的数据搬运、转换、调度做成开箱即用的能力,降低私有化环境下的集成实施与运维成本。