Sales Order Sync from Kingdee Consignment Order to Outbound Order: A Strategy Walkthrough on Qeasy
What This Strategy Solves
In one real engagement with a retail customer, the recurring pain point was clear: consignment business lives in Kingdee as a "Consignment Order," but warehouse shipping has to be triggered by an "Outbound Order" pushed to WanDianTong. The two systems speak different coding rules, different field semantics, and different document structures. Manual export/import is slow, and within a quarter the inventory numbers stop matching — customers get miscoded, prices go missing.
The goal of this single strategy is to automatically convert Kingdee Consignment Orders into WanDianTong Outbound Orders via the Qeasy integration platform, so the configuration is done once and the pipeline keeps running without data drift.
Data Flow and Field Mapping
The overall flow follows the "Source → Qeasy Middleware → Target" three-layer model, which is the most common and most stable way to structure integration logic on Qeasy.
- Source (Kingdee Cloud Constellation): Consignment Order. Key fields include bill number, customer code, material code, quantity, tax amount, unit price, and total amount.
- Middleware (Qeasy Integration Platform): Responsible for field cleansing, code mapping, format normalization, and conditional filtering (e.g., "only sync approved documents").
- Target (WanDianTong): Outbound Order. The receiving side cares about warehouse code, SKU, batch, ship quantity, and receivable amount.
A typical mapping reference (illustrative):
| Business Meaning | Kingdee (Source) | Qeasy Middleware | WanDianTong (Target) |
|---|---|---|---|
| Document No. | bill_no | doc_no (preserved) | order_no |
| Customer Code | customer_code | cust_code (mapped) | receiver_code |
| Material Code | material_code | sku_code (unified) | goods_no |
| Quantity | qty | qty (unit converted) | num |
| Tax-Inclusive Price | tax_price | unit_price | price |
| Document Status | audit_status | filter: approved only | (n/a) |
How to Configure on Qeasy
When configuring this strategy in the Qeasy console, we usually follow four steps in the customer workshop:
- Register both connectors: Source side selects the Kingdee Cloud Constellation V2 connector; target side selects the WanDianTong web version connector. Credentials are maintained on the customer's internal system, not stored on the Qeasy side.
- Configure metadata: Import the source document template (Consignment Order) and target document template (Outbound Order). This step lets the platform understand field types and required entries.
- Build field mappings: Use Qeasy's visual mapping to drag source fields to target fields. Code translations should be placed in a centralized "Code Mapping Table" — this is the most common pattern among Qeasy customers; one edit propagates through the entire chain.
- Attach cleansing scripts: Typically a lightweight JS snippet for unit conversion, amount precision, and null-value fallback. We recommend bringing the header online first, then layering the line items on top, in stages — this dramatically shortens troubleshooting time.
Implementation Steps
In practice we usually split this strategy into three phases:
- Incremental starting point: Use the source's "last modified time" as the incremental cursor. For the first run, manually pick a historical anchor and replay only the last 7 days to confirm the pipeline.
- Full-volume backfill: Once the incremental flow is stable, open the historical window and run a one-time full backfill to drain accumulated documents. Full backfills are usually scheduled during low business hours.
- Scheduling frequency: For customers with moderate order volume, we recommend polling every 5–10 minutes. Larger workloads can be tightened to 1–3 minutes by combining the source-side change-notification mechanism. Qeasy supports visual crontab configuration, so schedule changes do not require redeployment.
Lessons from the Field
- Missing status filter: A typical mistake is "push everything regardless of status," which ends up sending draft Consignment Orders to the warehouse and causing incorrect shipments. The safe approach is to add an "approved only" filter in the middleware layer.
- Inconsistent unit conversion: Kingdee may record units in "box," but WanDianTong needs "piece." If the middleware does not convert, quantities can be off by an order of magnitude, and reconciling after the fact is painful.
- Customer code mismatch: Without unified customer master data, the customer code on the outbound side often comes through empty. Always maintain the mapping in a centralized place on Qeasy — never hardcode it inside a script.
- Pushing the entire line array at once: Sending the whole line-item array in one shot tends to drop packets during network jitter. Configure Qeasy to "split by row" or "submit in batches" so that only the failed batches need to be retried.
- No write-back mechanism: After the target generates the outbound order, the outbound number is not written back to the source, which makes reconciliation between the two sides difficult. The safe move is to add a lightweight write-back strategy that mirrors the outbound number back to Kingdee.
When to Use and When Not to
Use it for: mid-volume retailers and distributors running consignment business, who need to automatically turn Kingdee Consignment Orders into WanDianTong shipments. Skip it for: real-time (sub-second) high-volume order flows, or scenarios where complex approval workflows are deeply entangled — those should go through a more specialized middleware stack.