Authoritative Tutorial on the Kingdee Cloud Staged Transfer-Out Order Interface (Wongdiantong Supply Chain Integration)
What This Interface Solves
In Wongdiantong–Kingdee Cloud supply chain integration, the Staged Transfer-Out Order carries the core business facts of inventory transfer-out. This interface operates in query-only mode, pulling staged transfer-out orders and their line items from Kingdee Cloud for reconciliation, status tracking, and source-document tracing against Wongdiantong outbound orders. It does not write back to the target system, making it ideal as a "fact table" layer for downstream distribution.
Interface Capability Overview
- Authentication: Standard Kingdee Cloud OAuth/WebAPI authentication; tenant credentials and security tokens must be configured within the Qeasy adapter.
- Request Structure: Built on Kingdee's QueryService with form ID
STK_TRANSFEROUT. Filtering is passed viaFilterString(e.g.,FApproveDate>='{{LAST_SYNC_TIME|dateTime}}'), and pagination is handled withLimit/StartRow. - Response Structure: Nested header (FID, FBillNo, FDocumentStatus, etc.) and entry (FSTKTRSOUTENTRY_FEntryID, FQty, FSrcStockID_FNumber, etc.) payloads.
- Pagination/Incremental Mode: Recommended incremental cursor is approval date (FApproveDate), combined with a
C(approved) status filter to avoid syncing draft or in-review data.
Typical Field Mapping
| Field Name | Type | Meaning | Practical Notes |
|---|---|---|---|
| FID | string | Header primary key | Cross-system reconciliation anchor; links to Wongdiantong outbound orders |
| FSTKTRSOUTENTRY_FEntryID | string | Entry primary key | Minimum unique identifier for incremental sync; use as the dedup key |
| FBillNo | string | Document number | Business-readable number; usable for direct reconciliation |
| FDocumentStatus | string | Document status | Only take C (approved); filter out Z/A/B/D |
| FStockOrgId_FNumber | string | Receiving inventory org | Required in cross-org transfers; affects settlement path |
| FTransferBizType | string | Transfer type | Distinguishes InnerOrgTransfer / OverOrgTransfer, etc. |
| FTransferDirect | string | Transfer direction | GENERAL (normal) / RETURN (return) require branching |
| FBizType | string | Business type | NORMAL / VMI / CONSIGNMENT |
| FBillTypeID | string | Document type | FBDC01_SYS (standard) / FBDC02_SYS (VMI) |
| FSrcStockID_FNumber | string | Source warehouse | Key field for mapping against Wongdiantong warehouse codes |
| FDestStockID_FNumber | string | Destination warehouse | Locations (FSrcStockLocId / FDestStockLocId) must be synced together |
| FMaterialID_FNumber | string | Material code | Primary index for mapping to Wongdiantong SKUs |
| FCMKBarCode | string | Retail barcode | Auxiliary match key in retail scenarios |
| FQty / FExtAuxUnitQty | string | Main / auxiliary unit qty | Dual units coexist; distinguish when deducting inventory |
| FPrice / FAmount | string | Unit cost / total cost | Used for cost accumulation |
| FOwnerID_FNumber | string | Receiving owner | Affects inventory ownership when owner differs |
| FLOT / FDestLot | string | Source / destination lot | Required for batch-managed scenarios |
| FProduceDate / FEXPIRYDATE | string | Production / expiry date | Critical for shelf-life goods |
| FThirdSystem / FThirdSrcId / FThirdSrcBillNo / FThirdSrcEntryId | string | Third-party tracing quartet | Core of bidirectional reconciliation with Wongdiantong |
| FStockOutFlag / FStockInFlag | string | Out/in inventory update flag | Indicates whether transfer has actually affected inventory |
| FBusinessDate | string | Inbound date | May differ from FDate in cross-org scenarios |
| FSrcBillNo / FSrcBillDate / FSRCBILLNAME | string | Upstream source info | Bridge to trace upstream delivery/transfer orders |
| FVirIsSameAcctOrg | string | Same accounting org flag | Determines whether internal settlement applies |
| FRowId / FParentRowId | string | Row / parent row id | Parent-child structure used for BOM expansion |
How to Configure on Qeasy
On the Qeasy data integration platform, this interface is typically accessed via the Kingdee Cloud query adapter: select form STK_TRANSFEROUT and configure tenant, user, and security token. In the field mapper, the platform automatically recognizes FID / FSTKTRSOUTENTRY_FEntryID as primary keys — no manual marking needed. The recommended incremental strategy is "by approval date + approved-only" combined filtering; Qeasy's scheduler automatically injects {{LAST_SYNC_TIME}} in a Kingdee-compatible datetime format. Pagination is handled automatically via Limit/StartRow, with 2000 rows per page typically sufficient.
Cross-Project Practical Points
- Use FApproveDate as the incremental cursor: Across multiple customer projects, creation date can be affected by un-approve/re-approve operations, causing data loss; approval date is the more stable anchor.
- Always layer FDocumentStatus='C' into the filter: Otherwise draft and in-review data will be pulled, causing reconciliation misalignment.
- Persist the full third-party tracing quartet: FThirdSystem, FThirdSrcId, FThirdSrcBillNo, FThirdSrcEntryId — all four are required for bidirectional reconciliation.
- Retain dual-unit quantities separately: FQty (main unit) and FExtAuxUnitQty (auxiliary unit) must both be persisted in box-spec/auxiliary-unit scenarios to avoid inconsistent downstream calculations.
- Branch logic for cross-org transfers: When FTransferBizType is
OverOrgTransfer / OverOrgSale / OverOrgPurchase, settlement paths and inventory impacts are entirely different; integration logic must branch accordingly. - Determine via owner + inventory org combination: When FOwnerID_FNumber and FStockOrgId_FNumber differ, this represents consignment/managed business — do not deduct inventory directly.
Pitfall Remediation
- Pitfall 1: Pulling unapproved documents — Missing
FDocumentStatus='C'caused downstream consumption of draft/in-review data, breaking reconciliation upon un-approve. Safe practice: Force-append the status condition in FilterString; Qeasy also recommends an "approved-change push" event as a fallback trigger. - Pitfall 2: Flattening parent-child rows — Entries have a parent-child structure (FParentRowId); direct mapping flattens them, losing hierarchy. Safe practice: Preserve FRowId and FParentRowId in Qeasy's field mapper and reconstruct downstream as needed.
- Pitfall 3: Auxiliary unit quantity dropped — Only FQty was synced, ignoring FExtAuxUnitQty, causing inventory deduction inconsistencies for box-spec goods. Safe practice: Persist both quantity fields and document the unit conversion in the mapping.
- Pitfall 4: Source-tracing fields not written back — After downstream sync, FThirdSystem and similar fields were empty, making reverse lookup of Wongdiantong-side documents impossible. Safe practice: Confirm the upstream writes the full quartet; Qeasy can add a "null-value alert" in the mapper to intercept.
- Pitfall 5: Cross-org transfer inventory misalignment — Failing to recognize OverOrg* types and treating cross-org transfers as intra-org led to phantom inventory deductions. Safe practice: In Qeasy's routing strategy, branch by FTransferBizType so cross-org transfers flow through a dedicated channel.
When to Use
Suitable for Wongdiantong–Kingdee Cloud supply chain integration scenarios requiring scheduled pull of inventory transfer-out facts from Kingdee for reconciliation wide tables or downstream distribution. Not suitable for scenarios requiring reverse write-back to Kingdee or real-time strongly-consistent inventory sync — those should use event push or inventory transaction interfaces instead.