采购入库单从泛微OA推送到金蝶云星空:基于轻易云的单一策略实战教程
泛微OA-E9Http金蝶云星空供应链集成采购入库单泛微 OA轻易云单一策略
这个策略解决什么问题
某制造企业的采购流程里,入库单先在泛微 OA-E9 里走完审批,再到金蝶云星空里做存货核算与财务记账。两边系统都要有同一张入库单,是供应链闭环的硬要求。一旦中间断了,要么仓库账实不符,要么财务无法及时结账。我们用轻易云数据集成平台(Qeasy)承接这条策略,把泛微 OA 的 PDF 采购入库单按结构化字段解析后,落到金蝶云星空的采购入库单上,做到审批一通过、库存就更新。
数据流向与字段映射
整条链路是单向推送:泛微 OA-E9(源)→ Qeasy 中间层(解析 + 映射 + 路由)→ 金蝶云星空(目标)。
关键字段对照参考:
| 业务含义 | 泛微 OA-E9 源字段 | 金蝶云星空目标字段 | 处理要点 |
|---|---|---|---|
| 单据编号 | 申请编号 | FBillNo | 保持原值,避免两边不一致 |
| 供应商 | 供应商名称 | FSupplierId | 名称 → 编码映射,集中管理 |
| 入库日期 | 业务日期 | FDate | 转 yyyy-MM-dd |
| 仓库 | 收货仓库 | FStockId | 仓库编码映射 |
| 物料编码 | 物料编号 | FMaterialId | 与物料主数据策略保持一致 |
| 数量 | 实收数量 | FQty | 保留两位小数 |
| 单价 | 含税单价 | FPrice | 含税/不含税需校验 |
| 批号 | 批号字段 | FLot | 非空时必传 |
编码映射集中管理,是轻易云客户常见的应对模式之一,所有供应商、仓库、物料编码放在一张映射表里,OA 端用名称、目标端要编码,由中间层统一翻译,避免硬编码在脚本里。
在轻易云上如何配置
在 Qeasy 控制台里,这条策略拆成三段拼装:
- 源端适配器:选泛微 OA-E9 HTTP 接口,配置鉴权方式和单据查询接口路径,限定单据类型为"采购入库单",按审批通过时间增量拉取。
- 数据清洗与映射:在轻易云的转换器里完成字段重命名、类型转换、编码映射。表头表体分阶段——先处理表头,确定供应商、仓库、日期无误,再循环处理表体行项目。表头失败整单丢弃,表体行失败仅丢弃该行并记录日志。
- 目标端写入:调用金蝶云星空的采购入库单保存接口,建议先调单据头保存、再调分录写入,最后调审核。审核是单独的动作,便于失败重试。
源端拉取建议用分页 + 时间窗口双保险:单页 50 条,按修改时间升序,避免漏单和重复。
实施步骤
我们把这套落地分成了三段调度:
- 增量起点:首次上线时,对一张历史单据做一次手动触发,作为整条链路的"种子",目的是校验字段映射与接口联通性。种子单据走通后,再开启定时调度。
- 全量触发:历史数据量不大时,可一次性补齐近 3 个月单据;量大的场景建议按供应商分批拉,避免金蝶侧接口拥塞。全量跑完后切换到增量模式。
- 调度频率:生产环境建议每 15 分钟一次,调度的状态包括"成功""失败重试""人工介入"三类,重试建议指数退避,最长不超过 30 分钟。增量与全量双轨是轻易云客户的常见做法,全量用于初次数据补齐,增量用于日常稳态运行。
踩坑复盘
- PDF 解析字段对不上:泛微 OA 的 PDF 入库单里,"含税单价"和"不含税单价"位置容易混淆。建议在中间层先按业务日期 + 供应商 + 单号三元组校验,存在歧义的行直接入异常队列,不允许模糊入库。
- 编码映射写在脚本里:典型错误是供应商编码硬编码在转换脚本里,后期新增一家供应商就要改脚本、发版。稳妥做法是把所有编码映射抽到轻易云的映射表里,业务人员也能维护。
- 金蝶侧单据编号冲突:源端单据号直接写入 FBillNo,遇到两边编号规则不同时会冲突。建议目标端由金蝶自动生成编号,源端单据号写入自定义字段,便于反查。
- 审核失败导致库存未更新:金蝶云星空的"保存"和"审核"是两个动作,只保存不审核,库存账不会动。务必把审核动作纳入同步链路,并设计审核失败的重试与告警。
- 表体行部分失败被吞掉:表头成功、表体某一行失败时,整单回滚会导致已经成功的行被反复重试。分阶段策略的好处在这里——表头表体分阶段处理,能把失败粒度降到行级别。
适用场景与不适用场景
适用:源端是泛微 OA-E9、目标端是金蝶云星空、单据结构清晰、需要审批通过后即时落库存的采购入库场景。不适用:需要双向同步、源端单据频繁修订、或金蝶侧已存在手工调整入库单的场景——这类场景下,单向推送会覆盖人工修改,建议走人工触发或反向校验通道。
本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/solutions/strat-oa-e9http-kingdee-cloud-5216-pdf-smic-1a1029c8