旺店通 Transfer-In Orders to Kingdee Direct Transfer Orders: 3000-Warehouse Backorder Inventory Sync in Practice
What This Strategy Solves
A retail enterprise runs multiple warehouses spread across two systems: Kingdee Cloud Sky (Kingdee) handles finance and formal ledger inventory, while 旺店通 handles physical inbound and outbound at stores and regional warehouses. In day-to-day operations, the 3000 warehouse serves as a transit replenishment point, and a common pain point is "goods have physically arrived, but the system inventory has not," which distorts the store stockout alert and delays purchase replenishment. This article focuses on one very specific strategy: syncing 旺店通 transfer-in orders to Kingdee direct transfer orders, using King's standard transfer logic to backorder real-time inventory in the 3000 warehouse so that the inventory numbers in both systems converge to the same level as quickly as possible.
Data Flow and Field Mapping
The entire chain is one-way: 旺店通 → Qeasy data integration platform → Kingdee Cloud Sky. Qeasy plays four roles in the middle: data fetching, cleansing, mapping, and pushing.
Key field mapping (excerpt):
| Dimension | 旺店通 (Source) | Qeasy Middle Layer | Kingdee Cloud Sky (Target) |
|---|---|---|---|
| Document type | Transfer-in order | Standardized as inbound event | Direct transfer order (document type code must be preconfigured in Kingdee) |
| Document number | ERP document number | Original number preserved + source system marker added | FBillNo |
| Item code | Product number | Code mapping (旺店通 SKU ↔ Kingdee material code) | FMaterialId |
| Quantity | Inbound quantity | Unit unified to base unit of measure | FQty |
| Destination warehouse | Inbound warehouse | Warehouse mapping table | FDestStockId |
| Source warehouse | Outbound warehouse | Warehouse mapping table | FSrcStockId |
| Business date | Document date | Original value preserved | FDate |
| Remarks | Business remarks | Prefix "Source: 旺店通" appended | FNote |
Code mapping is the most error-prone part of this chain. It must be maintained centrally in Qeasy's mapping table rather than scattered in scripts.
How to Configure on Qeasy
Configuring this strategy on Qeasy comes down to four steps: source table configuration → field mapping → target interface → trigger and scheduling.
-
Source table configuration: Pull 旺店通 transfer-in orders (usually incrementally by update time). Be sure to use "approved" as a filter condition so that draft documents do not flow through.
-
Target interface: Kingdee's direct transfer order interface (save + approve). A common pattern is to split save and approve into separate calls. Qeasy first calls the save interface, then asynchronously calls the approve interface. This prevents a single HTTP timeout from failing the entire batch.
-
Field mapping: In addition to the table above, pay close attention to: (a) unit conversion (旺店通 uses "pieces" while Kingdee uses "base units," so a conversion is needed in the middle layer); (b) document type code, which must be preconfigured with the corresponding business type in Kingdee; (c) warehouse mapping, because the 3000 warehouse very likely has different codes in the two systems. A centralized mapping table is more robust than hardcoding.
-
Fault tolerance and retries: Qeasy retries by default based on interface results, but we still recommend adding an idempotency check based on document number in the configuration — when the same transfer-in order is pushed repeatedly, it must not produce two direct transfer orders in the target system.
Implementation Steps
We usually split the rollout of this strategy into three phases:
Phase 1: Incremental Starting Point Do not push historical data first. Only push documents dated from the go-live day onward. The purpose is "first stabilize the pipeline, then handle the backlog." At the customer site, we usually take a baseline snapshot in the early morning — recording the inventory quantity in Kingdee's 3000 warehouse on that day as a comparison baseline.
Phase 2: Full Trigger Once the pipeline is stable, trigger a one-time historical full backfill. We recommend running this during a low business period (for example, early morning on a weekend) and in batches, to avoid crushing King's interface with one oversized batch. The Qeasy data integration platform usually ships with built-in pagination and rate limiting for batch pushing, so the engineer only needs to tune the batch size to a threshold the target system can accept.
Phase 3: Scheduling Frequency In steady state, we recommend an incremental schedule every 5 to 15 minutes. Transfer-in orders require relatively high real-time accuracy, but polling every minute is unnecessary — too frequent overwhelms the interface, too slow leaves the store-facing inventory lagging. Five minutes has proven to be a comfortable interval at most customer sites.
Pitfall Retrospective
Pitfall 1: Warehouse codes differ between the two systems; initial hardcoding blows up three months later when business is adjusted. The robust approach is to maintain the mapping centrally in Qeasy's mapping table. When the business side adds a new warehouse, only one mapping row needs to be added; no script changes are required.
Pitfall 2: Unit conversion is missed. 旺店通's "pieces" and Kingdee's "base unit" are often not 1:1. Without a conversion in the middle layer, the inventory quantity will double or halve. This kind of error is usually discovered only at month-end reconciliation, and the cost is high.
Pitfall 3: Draft documents are pushed through. If 旺店通 does not filter by approval status, unapproved documents will also be pushed, and subsequent approval in Kingdee will fail. Adding one filter at the source side can save a lot of downstream trouble.
Pitfall 4: Save and approve are combined into a single call; once it times out, the entire batch rolls back. Splitting them into two calls, retrying only on save failure, and alerting separately on approve failure produces a more stable chain.
Pitfall 5: Idempotency is missing. When a network jitter causes Qeasy to push the same transfer-in order repeatedly, and the target system has no deduplication logic, the 3000 warehouse inventory will be accumulated twice. We usually use "source document number + document date" as the idempotency key, implemented in Qeasy's preprocessing script.
Applicable and Non-Applicable Scenarios
Applicable: Retail or distribution scenarios where inventory is dispersed across multiple systems and the core warehouse needs to be backordered through transfer logic; environments where the source-side document state machine is stable and the target side has a standard direct transfer order interface.
Not applicable: Scenarios that require strict control via purchase inbound or sales outbound documents (use purchase or sales sync strategies instead); scenarios where the source-side documents are frequently unapproved or modified, causing idempotency keys to fail; and cases where the target side has no standard direct transfer order interface and only a custom document can be used as a substitute.