Qeasy Cloud
Get Started

Kingdee Cloud Skyline Supplier API Field Handbook: YiKuaibao→Kingdee Supply Chain Integration Tutorial

· 卢剑航· Engineering Best Practices· 19 views· 4 min read
易快报Kingdee Cloud供应商接口供应链集成轻易云主数据同步

What This Interface Solves

In the YiKuaibao↔Kingdee Cloud Skyline supply chain integration, the Kingdee Supplier master data is the most heavily queried table: purchase orders, payment applications, daily expense reports, and purchase returns all rely on the supplier code to determine currency and payee. If the supplier master is delayed or a code is missing, every downstream document stalls. This tutorial aggregates the lessons learned from 26 strategies into one authoritative handbook.

Interface Capabilities Overview

  • Authentication: Kingdee Cloud Skyline uses OAuth2 with a built-in user (KDCloudStdKong) signature. Connection parameters include acctId, appId, appSecret, user, and orgId, all managed by the connector in Qeasy.
  • Request / Response: Queries call Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.View; saves call Save with FormId=BD_Supplier. Responses return ResultType and Status.
  • Pagination / Incremental: Supports Limit/StartNum pagination (≤ 100 per page). The incremental field is updateTime, advanced via a LAST_SYNC_TIME cursor. Full validation iterates by orgId.

Typical Field Mapping

FieldTypeMeaningPractical Notes
FNumberStringSupplier codeUnique ID; map from YiKuaibao entityId after code mapping
FNameMLStringSupplier nameRequired multilingual keys 1033/2052; 2052 mandatory, 1033 as fallback
FSupplierIdStringSupplier primary keyUsed for lookup; maps to YiKuaibao entityId
FCurrencyIDStringSettlement currencyComputed dynamically by domestic/foreign supplier branch
FBankAccountStringBank accountClean rule: trim spaces, keep digits only
FSupplierOrgIdStringApplicable orgMust match FUseOrgId/FCreateOrgId
FAddressStringAddressFrom YiKuaibao extension fields; skip if empty
FTelStringPhoneFrom YiKuaibao cellphone/officeTel
FPayConditionStringPayment termsDirect map from YiKuaibao u_付款条件说明
FStatusStringStatusUse updateTime to filter incremental sync

How to Configure on Qeasy

In Qeasy, Kingdee Supplier sync is typically packaged as a "Kingdee Cloud Skyline adapter + master data strategy." We use one Supplier Sync connector to host authentication and pagination, and the field mapper handles one-to-one mapping of entityId, name, bankAccount from YiKuaibao to FNumber/FName/FBankAccount on BD_Supplier. Qeasy's field mapper runs the bank account cleaning script automatically and writes the result into the platform cache, which strategies G/H/K/R/V query for the domestic/foreign currency branch. The incremental cursor LAST_SYNC_TIME lives as a strategy-level variable; failures land in StrategyErrorDetail and are merged into an email alert by strategy Y.

Cross-Scenario Best Practices

  1. Master data first: Suppliers, departments, and employees must run before business documents, otherwise downstream lookups miss codes and the whole batch fails.
  2. Centralize code mapping: Material, customer, supplier, and department codes should live in dedicated mapping tables, not scattered across strategies. The platform cache is the safest shared dictionary.
  3. Derive currency via lookup, not hardcoding: FCURRENCYID is always computed from supplier master data by the domestic/foreign branch—hardcoding is a recipe for failure once cross-border business goes live.
  4. Use updateTime for incremental sync: YiKuaibao has no dedicated "last modified" field; the safe pattern is updateTime + sorted paging, persisted as a cursor.
  5. Payment writeback must pass through the report tables: When writing Kingdee payments back to YiKuaibao, route through Purchase Order Report (P) and Expense Audit Report (U) caches, then expand by fsrcbillno into multiple dataLinks. Direct writeback misaligns documents.
  6. Clean sensitive fields via scripts: Strip spaces and keep digits only on bank accounts. Never store plaintext in production; enforce HTTPS plus encrypted storage.

Pitfalls and Lessons Learned

  • Pitfall 1: Downstream purchase orders fire before the supplier master is ready, leaving FCURRENCYID empty and triggering 4xx on save. Fix: Promote strategy E to phase one in the scheduler with explicit stage orchestration.
  • Pitfall 2: Employees arrive later than suppliers, so daily expense reports can't find the employee code when branching by payee type. Fix: Strategy I must precede R; on miss, fall back to "unknown employee" and alert.
  • Pitfall 3: Bank accounts written with spaces cause downstream payment row validation to fail. Fix: Add a cleaning script in AfterSourceInvoke—do not rely on Kingdee-side auto-trim.
  • Pitfall 4: Using createTime for incremental sync misses records whose updateTime is later. Fix: Standardize on updateTime with orderBy=updateTime in every strategy.
  • Pitfall 5: No backoff on 429 rate-limit responses triggers temporary bans. Fix: Exponential backoff 60s/120s/300s up to 3 retries; on exhaustion, route to dead-letter queue and alert.

When to Use

This interface applies whenever YiKuaibao or the Qeasy middleware syncs supplier master data into Kingdee Cloud Skyline, and the dependent purchase orders, payment applications, daily expense reports, and purchase returns. If the source is not YiKuaibao, field names change, but the methodology—master data first, code mapping, currency branching, incremental cursor—still holds. If the target is Yonyou or SAP instead, repackage pagination and FormId.

Original content. Please credit the source when reposting: https://www.qeasy.cloud/insights/engineering/hb-p6-160-8397-3abd

Comments