金蝶云星空结算方式查询接口字段手册权威教程
金蝶云星空钉钉executeBillQuery结算方式字段手册增量同步轻易云集成
这个接口解决什么问题
在金蝶与钉钉集成场景里,结算方式是收付款单据、费用报销、审批流选择的必备基础资料。该接口(ExecuteBillQuery / FormId: BD_SETTLETYPE)用于按修改时间增量拉取金蝶云星空的结算方式主数据,落地到下游系统供业务选择,解决跨系统支付方式编码不统一、新增/禁用结算方式无法及时同步等痛点。
接口能力总览
- 认证方式:金蝶云星空 OAuth / 第三方 Token(在轻易云连接器中统一托管)。
- 请求方法:POST,接口路径形如
/kapi/v2/bd/settletype风格,实际走 Kingdee 通用查询 API。 - 请求体:包含
FormId=BD_SETTLETYPE、FilterString、FieldKeys、Limit、StartRow、TopRowCount。 - 响应结构:返回
Result.ResponseStatus.IsSuccess与Result.Result数组,每行包含 Number、Name、SETTLECATEGORY、TYPE、PAYTYPE 等业务字段。 - 分页模式:采用 Limit + StartRow 循环分页,TopRowCount 用于判断总量。
- 增量模式:FilterString 使用
FModifyDate>='{{LAST_SYNC_TIME|datetime}}',定时任务1 8-22 * * *每小时拉取。
典型字段映射
| 字段名 | 类型 | 含义 | 实战注意事项 |
|---|---|---|---|
| Number | string | 结算方式业务编码(对应 FNumber) | metadata 中 id/number 都映射到此字段,是跨系统匹配主键 |
| Name | string | 显示名称 | 钉钉侧展示与审批流选择器直接使用 |
| SETTLECATEGORY | string | 结算方式大类 | 现金类/票据类/银行类,用于前端分组展示 |
| TYPE | string | 业务分类 | 区分收/付款场景,过滤时不可遗漏 |
| PAYTYPE | string | 具体支付方式 | 与渠道网关(如银企直连)映射 |
| ISNEEDPAYCHARGE | string | 是否需支付手续费 | 影响报销单与付款单的成本归集 |
| PAYCHARGEPERSON | string | 手续费承担方 | 与费用承担部门逻辑联动 |
| FRECBILLTYPE | string | 票据类型 | 支票/汇票/本票,影响票据模块联动 |
| FACCOUNTTYPE | string | 银行账号类型 | 银行类结算方式必填 |
| FISDEFAULT | string | 是否默认结算方式 | 新建单据自动带出,需谨慎更新 |
| IsSysPreset | string | 是否系统预设 | 预设项通常不可删除,只能禁用 |
| IsSupBankPay | string | 是否支持网银付款 | 决定能否走网银支付通道 |
| ForbidStatus | string | 禁用状态 | 下游需过滤禁用项,避免选择失效 |
| DocumentStatus | string | 数据/审批状态 | 暂存/提交/审核,建议同步仅取已审核 |
| FModifyDate | string | 最后修改时间 | 增量同步的水位字段,务必用 datetime 类型 |
| CreateOrgId_Id/Name/Number | string | 创建组织三件套 | 多组织隔离,跨组织同步需明确 UseOrg 权限 |
| UseOrgId_Id/Name/Number | string | 使用组织三件套 | 实际可见组织,以 UseOrg 为主 |
| CreatorId/ModifierId/AuditorID/ForbidderID | string | 审计链四件套 | 三件套结构(Id/Name/Number),下游建议只取 Name 即可 |
在轻易云上如何配置
- 适配器:在轻易云连接器市场选用「金蝶云星空·ExecuteBillQuery」适配器,FormId 直接填 BD_SETTLETYPE。
- 字段映射器:轻易云字段映射器会自动把 Number、Name、SETTLECATEGORY 等金蝶字段名映射为通用名(settlement_type_code 等),支持一键转换 Id/Name/Number 三件套。
- 增量变量:平台内置
{{LAST_SYNC_TIME|datetime}}变量,首次同步置零,后续自动滚动。 - 触发与定时:策略调度中配置
1 8-22 * * *,轻易云的调度器会负责断点续跑与超时重试。 - 落地目标:本策略为 QUERY_ONLY,落地到轻易云数据池即可,后续由钉钉侧订阅使用。
跨方案实战要点
- 主键必须用 Number 而非 FNumber:金蝶 ExecuteBillQuery 返回的字段名是 Number,metadata 中 id/number 都指向 Number,千万别写成 FNumber,否则增量匹配会全量复活。
- 增量水位一定要走 FModifyDate:多个项目踩过这个坑——用 CreateDate 做增量会导致后续修改永远同步不到下游。
- 禁用态要过滤:ForbidStatus='B' 表示禁用,下游(钉钉选择器、报销单)必须过滤禁用项,否则会出现选了结算方式却落不到付款单的尴尬。
- 多组织三件套要看 UseOrgId:跨组织可见性由 UseOrgId 控制,CreateOrgId 仅表示创建方;做权限过滤时务必以 UseOrgId 为主。
- 预设项不要试图删除:IsSysPreset='Y' 的结算方式是金蝶系统预设(如现金),只能禁用,删除会报业务校验错误。
- 审计字段三件套下游建议取 Name:轻易云映射器可一键拆解,减少下游系统冗余字段。
踩坑复盘
- 坑1:FieldKeys 没声明导致返回字段空。稳妥做法是在请求体里显式列出所有需要的字段(包括 Id/Name/Number 后缀),不要依赖默认全量返回。
- 坑2:FModifyDate 时区错位。金蝶返回的是 UTC+8 字符串,如果下游用 UTC 解析会差 8 小时,导致增量漏单。务必在轻易云变量格式化时指定
|datetime并锁定时区。 - 坑3:票据类结算方式没填 FRECBILLTYPE。某零售企业的「银行承兑汇票」结算方式漏配票据类型,后续生成付款单时票据模块无法关联,排查了两天才定位到这里。
- 坑4:默认结算方式被覆盖。同步时若直接拿全量覆盖下游配置,FISDEFAULT='Y' 的记录一旦被禁用,下游就找不到默认项了。稳妥做法是仅同步启用项,默认项变更通过单独策略下发。
- 坑5:定时窗口外的修改漏同步。crontab 设的 8-22 点窗口,凌晨修改的结算方式要等第二天 8 点才被捞到;对结算方式这种低频变更可接受,但务必在 SLA 文档里写明。
何时选用
适合金蝶云星空与钉钉(或异构系统)集成,需要在下游做收付款选择、报销审批的基础资料同步场景。不适合需要双向同步、字段深度自定义、或非金蝶单据的结算体系;此类情况应走自定义连接器或单据映射策略。
本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/engineering/hb-p2-424-5704