Qeasy Cloud
Get Started

Authoritative Tutorial: Kingdee Cloud Bank Account Query Interface Field Handbook

· 何金辉· Engineering Best Practices· 10 views· 3 min read
小满OKKICRMKingdee Cloud银行账户executeBillQuery轻易云供应链集成字段手册

What This Interface Solves

In supply chain integration between Kingdee Cloud and Xiaoman OKKI CRM, bank account master data is the common reference base for payment receipts, collection documents, and invoicing information. The CN_BANKACNT interface is used to batch-pull bank account master data from the Kingdee side on schedule, which downstream systems use for CRM bank account reconciliation and customer/supplier payment account references. It is a pure query strategy with an empty write operation on the target side.

Interface Capability Overview

  • API: executeBillQuery (Kingdee Cloud universal document query interface)
  • FormId: CN_BANKACNT (bank account master data form)
  • Request Parameters: FormId, FilterString, FieldKeys, Limit, StartRow, supporting field-set paginated retrieval
  • Pagination Mode: Controlled via {{PAGINATION_PAGE_SIZE}} and {{PAGINATION_START_ROW}} variables
  • Scheduling: Scheduled task, crontab 3 2 * * * (daily at 02:03)
  • Response Structure: Returns three base fields: FNumber, FName, FBANKID
  • Integration Role: QUERY_ONLY (query only, no target write)

Typical Field Mapping

Field NameTypeMeaningField Notes
FNumberstringAccount code, business-side unique identifierBoth number and id in Kingdee point to this field; always use FNumber as the primary key for cross-system reconciliation
FNamestringBank account name / display nameUsed for display in business documents; may share the same value as FNumber in some scenarios but should not be used interchangeably
FBANKIDstringOpening bank association identifierPitfall point: depending on FieldKeys configuration, may return FBANKID.FNumber or FBANKID.FName; downstream must be compatible with both forms

Generic concept mapping: FNumber → bank_account_code, FName → bank_account_name, FBANKID → opening_bank_id.

How to Configure on Qeasy Cloud

In the Qeasy Cloud Data Integration Platform, the Kingdee Cloud source side has been encapsulated as a standard adapter. Calling executeBillQuery requires only three steps:

  1. Select Form: In the source adapter dropdown, select CN_BANKACNT; the platform will automatically load the default field set
  2. Configure FieldKeys: In the Qeasy field mapper, check FNumber, FName, FBANKID; if the opening bank name is needed, expand FBANKID.FName in Kingdee metadata
  3. Configure Pagination Variables: Bind Limit to {{PAGINATION_PAGE_SIZE}} and StartRow to {{PAGINATION_START_ROW}}; Qeasy Cloud will automatically iterate page by page until empty

Since this strategy is QUERY_ONLY, simply configure the target side as an empty write operation. Qeasy Cloud will not perform any database writes—it only pushes data to downstream strategies or temporary storage areas.

Cross-Solution Practical Points

  1. FNumber is the unique anchor: All cross-system reconciliation and customer/supplier payment account references must go through FNumber—do not match by FName
  2. Dual-form compatibility for FBANKID: Downstream parsing must be compatible with both FBANKID.FNumber and FBANKID.FName, otherwise data flow will break across different customer environments
  3. Use FilterString for incremental sync: Filtering by FModifyDate > last_sync_time is more stable than full re-pull; Qeasy Cloud variables can directly inject timestamps
  4. Avoid the dawn window: 02:03 avoids Kingdee's own settlement and backup windows to prevent long-transaction blocking
  5. Trim FieldKeys first: Only check business-required fields to significantly reduce per-call response payload size
  6. Empty write is not useless: QUERY_ONLY strategies often serve as data sources or reconciliation baselines for downstream sync strategies

Pitfall Retrospective

  • FBANKID nested object parsing failure: When FieldKeys is written as FBANKID, it returns the association ID string; when written as FBANKID.FNumber, it returns the code—both formats must be handled separately downstream, otherwise opening banks will all be empty
  • FNumber and FName confusion: Business teams mistakenly use FName as the reconciliation key, causing accounts with identical names to be conflated—the safe approach is to reject non-FNumber primary keys at the interface layer
  • Pagination variables not substituted: In early Qeasy Cloud versions, hardcoded Limit/StartRow caused only the first page to be retrieved; be sure to use platform pagination variables
  • Dawn settlement collision: When crontab overlaps with Kingdee's daily settlement task, executeBillQuery will time out; recommend leaving a 30-minute buffer before and after
  • Empty result due to insufficient permissions: If the Kingdee integration user lacks CN_BANKACNT query permissions, the system silently returns empty data—integration monitoring needs zero-data alerts

When to Use

Suitable for scenarios where Kingdee Cloud serves as the ERP master data source and bank accounts need to be synchronized to downstream systems such as CRM/SCM. If the downstream does not depend on opening bank details, or if Kingdee already has a standard API alternative, evaluate whether to consolidate it into a master data sync strategy for reuse.

Original content. Please credit the source when reposting: https://www.qeasy.cloud/insights/engineering/hb-p2-159-ok-61d2

Comments