Integration Overview: Jiandaoyun and Kingdee Cloud Cosmic Sales Order Sync (16 Strategies, Phased Closure)
Scenario and Value
In one of our retail/manufacturing engagements, the business side kept running into the same wall: sales orders are entered in Kingdee Cloud Cosmic, but the approval step lives in Jiandaoyun. Inventory and delivery notices have to be chased manually in the ERP. When the post-promotion reconciliation finally happens, finance and operations never quite agree — not because anyone typed it wrong, but because there is no automatic closed loop between the two systems.
What made it worse: the customer runs multiple organizations (103/109/114). Each organization has different approval templates for sales orders, sample orders, and miscellaneous outbound orders. If the integration strategy is one-size-fits-all, cross-wiring is inevitable.
This integration addresses three concrete problems:
- Stable delivery of master data (materials, suppliers, customers, employees) from Kingdee to Jiandaoyun, as a prerequisite for business documents.
- Routing of sales orders, delivery notices, and outbound orders by organization and status, pushing only what is needed to the right Jiandaoyun form or approval node.
- Resilience against missing codes, duplicate documents, and network hiccups — observable, retryable, and recoverable, without polluting downstream systems.
We run this on the Qeasy iPaaS platform (轻易云数据集成平台), breaking the 16 strategies into three phases — master data, material update, and business documents — and orchestrating them into a single observable pipeline.
Integration Architecture and Data Flow
Kingdee Cloud Cosmic acts as the master data and transaction source, Jiandaoyun carries the business-facing forms, and the integration platform sits in the middle handling transport, transformation, scheduling, and monitoring.
Kingdee Cloud Cosmic (ERP)
├── Master Data: Materials / Suppliers / Customers / Employees
└── Business Docs: Sales Orders / Delivery Notices / Outbound Orders / Misc Outbound
│
▼
┌────────────────────────┐
│ Qeasy iPaaS Platform │
│ · Schedule Orchestration
│ · Code Mapping (FNumber etc.)
│ · Incremental / Full Filters
│ · Retry / Dead-Letter / Alert
└────────────────────────┘
│
▼
Jiandaoyun
├── Forms: Material / Supplier / Customer / Employee
└── Forms: Sales Order / Approval / Misc Outbound
The data flow advances in three phases:
- Phase 1: Master data readiness. Materials, suppliers, customers, and employees are pushed in parallel as the dictionary for subsequent transactions.
- Phase 2: Material write-back. Using the mapping between Jiandaoyun's
_idand King'sFNumber, material changes are written back to Jiandaoyun to close the loop. - Phase 3: Business document routing by organization. Sales orders are split by organization (103/109) and status (approved/unapproved) into multiple parallel strategies; sample orders use an independent channel; delivery notices and outbound orders carry warehouse codes; misc outbound runs one strategy per organization (103/114).
Interface Inventory
The table below lists all 16 strategies. Field mapping must be tuned to the customer's actual dictionaries.
| Strategy ID | Data Object | Direction | Notes |
|---|---|---|---|
| 1 | Material Master (BD_MATERIAL) | Kingdee → Jiandaoyun | Every 10 min, master data |
| 2 | Supplier Master (BD_Supplier) | Kingdee → Jiandaoyun | Every 10 min, master data |
| 3 | Query Jiandaoyun Material Form | Jiandaoyun → Platform | Every 17 min, builds _id mapping |
| 4 | Jiandaoyun Material Write-Back | Kingdee → Jiandaoyun | Every 15 min, depends on Strategy 3 |
| 5 | Customer Master (BD_Customer) | Kingdee → Jiandaoyun | Every 10 min, master data |
| 6 | Sales Order → Approval (Demo) | Kingdee → Jiandaoyun | Every 10 min, demo scenario |
| 7 | Sample Sales Order | Kingdee → Jiandaoyun | Every 10 min, independent channel |
| 8 | Sales Delivery Notice | Kingdee → Jiandaoyun | Every 10 min, depends on warehouse map |
| 9 | Sales Outbound (Unapproved) | Kingdee → Jiandaoyun | Every 10 min, depends on warehouse map |
| 10 | Sales Order Unapproved (103) | Kingdee → Jiandaoyun | Every 10 min, org-isolated |
| 11 | Sales Order Approved (103) | Kingdee → Jiandaoyun | Every 10 min, org-isolated |
| 12 | Sales Order Approved (109) | Kingdee → Jiandaoyun | Every 10 min, org-isolated |
| 13 | Sales Order Unapproved (109) | Kingdee → Jiandaoyun | Every 10 min, org-isolated |
| 14 | Misc Outbound Unapproved (103) | Kingdee → Jiandaoyun | Every 13 min, depends on warehouse/org |
| 15 | Misc Outbound Unapproved (114) | Kingdee → Jiandaoyun | Every 13 min, depends on warehouse/org |
| 16 | Employee Master | Kingdee → Jiandaoyun | Every 30 min, master data |
Implementation Highlights
Phased scheduling. Master data first; business documents parallel after master data is ready. A common pitfall is letting sales orders run before materials finish loading — downstream null pointers everywhere. The safe approach is to run a one-shot strategy that fully populates materials, then release business documents.
Incremental field selection. On the Kingdee side, use FCreateDate and FApproveDate as the incremental cursor; on the Jiandaoyun side, use updateTime. The FilterString should exclude voided documents to prevent sync-then-delete loops.
Full sync as fallback. Run a full sync on initial deployment or data repair; rely on incremental for daily operation. Master data is recommended for weekly full reconciliation as a sanity check.
Centralized code mapping. Material FNumber ↔ Jiandaoyun material code, customer FCustId ↔ customer code, supplier FSupplierID ↔ supplier code, warehouse FStockId ↔ warehouse, organization 103/109/114 must be centrally maintained. Business strategies should reference the mapping rather than hardcode values inside each strategy.
Tiered retry handling. Network timeouts and target-system 5xx errors use exponential backoff (30s/60s/120s, max 3 attempts); missing code mappings skip and log; business validation failures (e.g., duplicate document number) go straight to the dead-letter queue to avoid blocking the stream.
Privacy handling. All credentials between Kingdee and Jiandaoyun go through secret management; logs must mask sensitive fields such as phone numbers and customer names. The integration platform and target systems should connect over an internal network or private line; public-network scenarios must enable HTTPS and IP allowlists.
Best Practices and Lessons Learned
-
Centralize code mapping — never scatter it across strategies. Once
FNumberis hardcoded inside a strategy, material retirement or code changes trigger cascading errors. On Qeasy, code mapping usually lives in a dedicated mapping table; business strategies reference it via lookup components, so one change propagates everywhere. -
Split sales order strategies by
organization × status. During one implementation, the customer reported "approved orders for organization 103 didn't sync." Root cause: a single big strategy usedorganization in (103,109) and status = approved, but a case-conversion in a Jiandaoyun field caused silent drops. Splitting into 4 independent strategies (Strategies 10–13) fixed the issue and made per-organization alerting much easier. -
Two-phase write for header and line items. Sales orders have a header (customer, order number) and line items (material rows, quantities). One-shot commits have high rollback cost. On Qeasy, the typical pattern is to write the header first to obtain
_id, then push line items using_idas the foreign key; either step can be resumed independently on failure. -
Dual-channel routing for Qimen vs. non-Qimen warehouses. If the customer has both Qimen and non-Qimen warehouses for delivery notices, add a routing decision before Strategy 8 to dispatch to different mapping templates instead of mixing them together.
-
Don't guess monitoring thresholds. Pause dependent strategies after 3 consecutive master-data failures; alert on >10 missing-code records in a single run; alert on >10% per-strategy failure rate; manually process dead-letter queues with >100 entries; alert on sync lag >30 minutes — these thresholds have been validated across multiple projects and can be reused as-is.
When to Use Qeasy
If your scenario is "Kingdee Cloud Cosmic + Jiandaoyun + multi-organization + multi-status sales chain," with daily document volumes in the tens of thousands to hundreds of thousands, and you need stable incremental sync, strict code mapping, and an observable scheduling pipeline — the Qeasy iPaaS platform (轻易云数据集成平台) provides ready-made Kingdee and Jiandaoyun connectors, a built-in code mapping center, flexible schedule orchestration, and monitoring/alerting, materially reducing implementation and operational cost in multi-organization scenarios.