Qeasy Cloud
Get Started

Other Outbound Stock Order Sync Strategy: Wangdiantong to Kingdee Cloud Stock Document Flow

· 冯潇· Integration Solutions· 69 views· 3 min read
WDTKingdee CloudInventory Sync其他出库单供应链集成Incremental Sync

What This Strategy Solves

In retail and distribution scenarios, the WMS generates a large number of "non-sales" outbound orders every day: inventory shrinkage, internal usage, transfer outbound, sample outbound, and so on. These documents do not flow through the CRM sales order chain, but finance and inventory organizations must book them in real time. We use the Qeasy Data Integration Platform to deliver this strategy, aiming to sync other outbound orders from WMS to the ERP's miscellaneous outbound document in one shot, ensuring inventory direction, owner, and organization codes are fully consistent on both sides, and avoiding the end-of-month stocktake reconciliation headache of "a few cents off and nothing matches."

Data Flow and Field Mapping

Data flows from WMS → intermediate layer → ERP. The main table and detail field mapping (key fields) is as follows:

Source (WMS) FieldTarget (ERP) FieldMapping TypeBusiness Description
order_noFBillNoDIRECTDocument number passthrough
consign_timeFDateTRANSFORMdatetime format conversion
warehouse_noFStockIdDIRECTWarehouse code passed from header to each line
operator_nameF_UBGN_TextDIRECTDocument creator
remarkF_UBGN_LargeTextDIRECTRemarks
detail_list.sku_noFMaterialIdDIRECTMaterial code
detail_list.numFQtyDIRECTOutbound quantity
detail_list.priceFPriceDIRECTCost unit price
detail_list.total_priceFAmountDIRECTCost amount

In addition, fields such as document type, inventory organization, picking organization, owner, and keeper are written as fixed constants on the target side, preventing dirty data on the source side from interfering with target-side master data.

How to Configure in Qeasy

In the Qeasy platform, this strategy is split into a source Query and a target Execute. The source calls wdt.wms.stockout.otherquery.querywithdetail to pull other outbound orders with header and detail rows. The target calls batchSave (FormId is the miscellaneous outbound document), with Operation=Save, IsAutoSubmitAndAudit=true, IsVerifyBaseDataField=true. Centralized management of code mappings is a common pattern among Qeasy customers: place all fixed constants (document type, organization, department) into one mapping table for cross-strategy reuse, avoiding editing each strategy one by one. For detail row handling, the source detail_list and the target FEntity are array structures, mapped row-by-row in a loop, and header fields (such as warehouse_no) are passed through to each detail row.

Implementation Steps

We recommend a phased rollout, in three steps:

  1. Incremental starting point: Before first launch, perform a historical full-data backfill. Enable idCheck on the source side and deduplicate by stockout_id to avoid duplicate pulls.
  2. Full trigger: On launch day, manually trigger a full run to push all stock other outbound orders to the ERP in one pass. Use the id returned by Kingdee as the subsequent deduplication key on the target side.
  3. Scheduling frequency: For daily increments, use */50 7-20 * * *, covering daytime business peaks and polling every 50 minutes. A common Qeasy customer pattern is the dual-track approach: run increments during the day and a fallback full sync at night.

On the configuration side, first build the source and target data flows in Qeasy, do the field mapping, then bind the schedule, and finally enable auto-submit and audit.

Pitfall Review

  1. Raw date format passthrough: The source consign_time is a timezone-bearing timestamp; pushing it as-is to the ERP triggers "invalid date format." The safe approach is to add {{consign_time|datetime}} conversion in the mapping.
  2. Constants scattered across strategies: If values like document type, organization, and department are scattered across multiple strategies, changing the organization code once means editing 20 places. Centralize them in one mapping table and finish in one edit.
  3. Detail row warehouse lost: warehouse_no is on the header, but FStockId is on each detail row. Forgetting the "header passthrough to detail" step will cause errors on the Kingdee side. This is a typical mistake.
  4. Auto-audit switch not enabled: IsAutoSubmitAndAudit defaults to false; documents stay in draft state after save, and you only discover a batch un-audited at month-end.
  5. Source has no remark: Some legacy documents have empty remarks, and forcing them through writes an empty string. The recommendation is to add a fallback in the mapping: if remark is empty, take reason (outbound reason) instead.

Applicable and Non-Applicable Scenarios

Applicable: non-sales outbound business such as inventory shrinkage, internal usage, transfer outbound, and sample outbound; scenarios requiring real-time inventory consistency and month-end reconciliation. Not applicable: sales outbound (should go through the sales order strategy chain); cross-organization transfers that require transfer order generation (need a separate strategy); documents with dirty source data or missing cost price/quantity (govern the data first, then sync).

Original content. Please credit the source when reposting: https://www.qeasy.cloud/insights/solutions/strat-wdt-kingdee-cloud-2161-08-def0649e

Comments