Integration Solution Overview: Weaver OA-E9Http and Kingdee Cloud Cosmic Supply Chain
Scenario and Value
In one real project, we encountered a recurring problem: a manufacturing client's sales orders and delivery notices needed OA approval, and the approval result had to be written back to the ERP to generate outbound deliveries. At the same time, after a production order was approved, a purchase order needed to be generated in the ERP, and the purchase receipt depended on Excel/PDF attachments. If the approval flow didn't finish, downstream documents couldn't be created; if the ERP document status wasn't updated, the business team would keep chasing.
The issue wasn't a single data entry error — it was the lack of an automated closed loop between the OA approval flow and the ERP business documents. Everything relied on manual switching between the two systems.
This solution targets exactly that kind of scenario: end-to-end integration of Weaver OA approval flows (travel reimbursement, payment requests, production order approval, sales order approval, delivery notice approval, supplier information application) with Kingdee Cloud Cosmic supply chain documents (purchase orders, purchase receipts, sales orders, delivery notices, other payable documents, payment documents, bank transfer documents), covering a total of 85 strategies, deployed in a private environment.
Integration Architecture and Data Flow
The overall architecture is a three-layer "OA ↔ Integration Platform ↔ ERP" structure, where the platform handles data transformation, code mapping, scheduling orchestration, and exception handling. Both Weaver OA and Kingdee Cloud Cosmic act as source and target systems, with bidirectional data flow.
The data flow is divided into five business modules:
- Master Data Sync (about 16 strategies): Materials, customers, suppliers, expense items, departments, employees, users, organizations, warehouses, and auxiliary data sync from Kingdee to Weaver or the platform; after the code mapping is established, the platform writes back the corresponding ids to Kingdee; SD001 production order approval and SD004 supplier information application go bidirectionally between Weaver and Kingdee.
- Finance Sync (about 29 strategies): FD001 travel reimbursement, FD003 non-production payment request, FD004 individual expense reimbursement, FD006 fundraising account payment, FD007 monthly settlement payment — generated from Weaver into Kingdee other payable documents, payment documents, and bank transfer documents.
- Production Sync (3 strategies): SD003 outsourced production order goes from Kingdee to Weaver for initiation, with approval/rejection flowing from Weaver back to Kingdee.
- Purchase Order Sync (about 22 strategies): After SD001 production order approval, Weaver generates purchase orders in Kingdee (multiple versions); Excel/PDF → Kingdee purchase receipts (multiple business lines); Kingdee side submits purchase orders and reviews purchase receipts.
- Sales Order Sync (about 10 strategies): ERP sales orders/delivery notices push to OA MD0012/MD0013 approval flows; after OA approval, the ERP line status is written back.
On the customer site, we used Qeasy (轻易云 Data Integration Platform) as the middle layer. Its built-in iPaaS orchestration capabilities let us string together "Kingdee Save → Query → OA Initiate → Write Back to ERP" into a visual flow, with exception retry and dead-letter queues out of the box — no need to write our own scheduling framework.
Interface List
| Strategy ID Range | Data Object | Sync Direction | Notes |
|---|---|---|---|
| 1 | Materials/customer/supplier/employee/department/user | Kingdee → Weaver/Platform | Master data, code mapping establishment |
| 3, 17 | Expense items | Kingdee ↔ Weaver | id mapping for FD series |
| 5~7, FD001/FD004/FD006/FD007 | Other payable/payment/bank transfer documents | Weaver → Kingdee | Separate strategies per flow version |
| 8~10 (SD001) | Production order → Purchase order | Weaver → Kingdee | Multiple versions (429/432/448/488/test-auto) |
| 8~10 (SD003) | Outsourced production order | Kingdee ↔ Weaver | Approval/rejection |
| 14~16 (SD004) | Supplier information application | Kingdee ↔ Weaver | Approval/rejection |
| 19~22 | Write back modified ids | Platform → Kingdee | Code mapping takes effect |
| 24~85 | Finance/procurement/sales/system maintenance | Multi-directional | See index.json for complete list |
Implementation Highlights
Phased scheduling: Strategies are divided into three execution phases. Phase 1 (120) handles master data and queries, and must complete first to establish mappings; Phase 2 (2184) is business document sync, including three parallel branches for finance, procurement, and sales; Phase 3 (strategy 85) is daily 03:00 queue cleanup.
Incremental fields with full-volume fallback: Daily operations use FModifyDate, LAST_SYNC_TIME, or flow status for incremental sync; full-volume execution is used for initial deployment or data repair. Master data should have a daily full-volume validation, and business documents should only sync approved/confirmed status.
Centralized code mapping management: Mapping relationships for materials, customers, suppliers, expense items, and OA users are centrally maintained on the platform and called by downstream strategies. A common pitfall here is with suppliers — SD001 requires the OA supplier field to be changed to a hidden number; writing the visible number directly will cause ERP validation to fail.
Exception retry: Token 401 triggers connector refresh and retry once; network timeout uses exponential backoff retry 3 times (30s/60s/120s); missing code mapping is logged and skipped without blocking subsequent data; single record failures are written to the dead-letter queue.
Privacy handling: The code mapping table only stores business codes, no sensitive fields; queue data is periodically cleaned (older than three months) to avoid accumulation.
Scheduling frequency: Master data and queries every 30 minutes; sales orders and delivery notices → OA every 10 minutes; finance documents and production order approval → purchase orders every 10 minutes; Excel/PDF purchase receipts are scheduled per business line; Kingdee submit purchase order depends on upstream Save completion and can be flow-triggered or polled every 5 minutes.
Best Practices and Pitfall Retrospectives
1. Header and body written in phases
When pushing sales orders and delivery notices from Kingdee to OA, a typical mistake is stuffing the header and body all into the OA interface at once, resulting in OA flow template mismatch and full record failure. The safe approach is to Save the header first to get the flow instance id, then submit body lines in batches — failed lines don't block other lines.
2. Centralized code mapping management, avoid hardcoding
The most common anti-pattern we've seen on customer sites is each strategy maintaining its own material/customer mapping table — change one place and you need to sync seven or eight locations, very easy to miss. The Qeasy platform's mapping center supports one-place maintenance with multi-strategy reference; version changes only require editing one place.
3. Separate strategies for multi-version flows
FD003/FD001/FD004/FD006 etc. should build separate strategies per flow version (393/422/424/427/443/478/481/484/498/499/501/530/531/554/NEW); SD001 should be split per version (429/432/448/488/test-auto). Don't try to make one strategy compatible with all versions — field differences only surface at runtime, and troubleshooting cost is extremely high.
4. Fallback for OA user matching failure
When sales orders and delivery notices are pushed to OA, the initiator relies on "creator name → OA user id" mapping. When the mapping fails, throwing an error directly will stall the entire record. The safe approach is to log an alert + configure a default initiator, and the business can supplement later.
5. Rate limit backoff and alert thresholds
Kingdee's API has call frequency limits, and large-volume sync can easily trigger rate limiting. It's recommended to configure backoff wait + threshold-pause + alert notification on the platform, rather than letting tasks hang in the retry queue consuming resources.
When to Use Qeasy
If a project requires end-to-end integration of Weaver OA approval flows with Kingdee Cloud Cosmic supply chain documents, with dozens or more strategies, visual orchestration, centralized code mapping, robust exception retry, and dead-letter queues, Qeasy (轻易云 Data Integration Platform) is a suitable choice. It turns data movement, transformation, and scheduling between ERP/CRM/OA/WMS systems into out-of-the-box capabilities, reducing integration implementation and O&M costs in private deployment environments.