金蝶云星空库存余额(executeBillQuery)接口字段手册权威教程——线上仓库存查询实战
聚水潭金蝶云星空库存接口executeBillQuery线上仓供应链集成增量同步
这个接口解决什么问题
在某零售企业的电商业务里,线上仓库存需要在金蝶云星空与前端电商平台之间高频同步:聚水潭要拉取可售库存用于下单锁库,运营要对账、要监控临期批次。该接口(executeBillQuery 查询 STK_Inventory)只取线上拣货可用仓库的库存余额,按 FUpdateTime 增量返回,是电商仓可用库存同步与对账场景的核心入口。
接口能力总览
- 认证方式:金蝶云星空私有化部署下的用户/应用鉴权,需在请求头携带会话凭证;在轻易云里通常封装为适配器的「连接信息」,由平台托管刷新。
- 请求结构:
POST /executeBillQuery,Form 字段固定STK_Inventory,支持FID/FStockId/FMaterialId/FBaseQty/FBaseAVBQty/FLot/FUpdateTime等可选字段筛选;另支持FilterString(组合 SQL 风格过滤)、Limit(默认 20)、StartRow(默认 0)。 - 响应结构:返回二维结果集,首行为字段名,数据行从第二行起;metadata 中
id=FID、number=FMaterialId_FNumber。 - 分页模式:
Limit + StartRow翻页;本策略每 5 分钟(7:00–23:59)增量拉取,FilterString 自动替换{{LAST_SYNC_TIME|datetime}},由轻易云调度器持久化游标。 - 写入策略:Target 端配置为空操作,本策略为纯查询,仅落轻易云数据中台供下游订阅。
典型字段映射
| 字段名 | 类型 | 含义 | 实战注意事项 |
|---|---|---|---|
| FID | string | 库存记录主键 | 跨系统对账的唯一关联键,务必作为幂等键 |
| FStockId_FNumber | string | 仓库编码 | 仅返回线上拣货仓(F_POKM_onlinepicking='1'),与聚水潭仓库字典对齐 |
| FMaterialId_FNumber | string | 物料编码 | 轻易云字段映射器会自动取 _FNumber 末段作为业务编码 |
| FBaseQty | string | 账面库存量 | 基本单位数量,字符串传输需在映射器中显式转为数值 |
| FBaseAVBQty | string | 可用库存量 | 扣除预占/冻结,真正用于可售同步的字段 |
| FLot | string | 批次号 | 无批次管理的物料为空,下游需做空值兜底 |
| FUpdateTime | string | 最后更新时间 | 增量游标字段,字符串时间,谨慎处理时区 |
| FStockStatusId | string | 库存状态 | 决定是否计入可售,过滤冻结/待检很关键 |
| FOwnerId_FNumber | string | 货主编码 | 多货主场景必须带,否则会污染对外库存 |
| FKeeperId_FNumber | string | 保管者编码 | 多组织架构下用于责任追溯 |
| FStockOrgId_FNumber | string | 库存组织编码 | 跨组织时务必作为过滤维度 |
| FProduceDate / FExpiryDate | string | 生产/有效期至 | 临期监控字段,日期型建议映射为标准 ISO |
| FMtoNo | string | 计划跟踪号 | 批次+计划号组合可唯一定位一筆在库 |
| FSpecification | string | 规格型号 | 来自物料主数据,集成 SKU 显示用 |
| FStockLocId02~08 | string | 多级库位 | 实际值在 FStockLocId.FF10000x.FNumber,轻易云会展开 |
| FOwnerTypeId | string | 货主类型ID | 区分自有/客户/供应商货主 |
在轻易云上如何配置
- 数据源适配器:选「金蝶云星空-查询」类型,填入私有化地址、账套与认证信息;轻易云会自动封装
executeBillQuery调用。 - 业务对象选择:
STK_Inventory,平台会拉取字段元数据并预填主键与编码。 - 过滤模板:
FilterString直接配置FUpdateTime >= '{{LAST_SYNC_TIME|datetime}}' and FStockId.F_POKM_onlinepicking ='1',轻易云的占位符会在每次调度时由调度器替换。 - 字段映射器:把
_FNumber系列映射到下游业务编码;FBaseQty/FBaseAVBQty用to_number()表达式转数值;时间字段用parse_datetime()标准化。 - 目标端:配置「空操作」,查询结果落到轻易云中台,供销售出库、可售同步、对账等下游订阅。
- 调度:
3-59/5 7-23 * * *,轻易云调度中心会自动管理游标持久化与失败重试。
跨方案实战要点
- 线上仓 vs 线下拣货仓的过滤:金蝶通过
FStockId.F_POKM_onlinepicking='1'区分线上仓,这是电商业务的关键;切勿漏写,否则会拉回线下仓库存污染可售。 - 可售 ≠ 账面:务必映射
FBaseAVBQty,不要用FBaseQty同步可售,否则会出现超卖。 - 字符串数字要转:金蝶返回的数量都是 string,轻易云字段映射器里要加显式转换,否则下游会出现
100vs100.0的比对异常。 - 增量游标管理:
FUpdateTime是字符串,跨天/跨时区要测试一致性;多个仓库、多组织场景需把FStockOrgId_FNumber也带进过滤。 - 批次与库位是空值常态:
FLot、FStockLocId02~08在未启用批次或多级库位时为 null,下游写入要做空值兜底,不要把 null 当空串处理。 - 状态码过滤:
FStockStatusId不等于「可用」的记录(冻结、待检)在可售同步里必须剔除,稳妥做法是在映射器里写条件表达式二次过滤。
踩坑复盘
- 漏写
F_POKM_onlinepicking过滤:某客户首次上线没加线上仓过滤,把线下批发仓库存也同步到了电商前端,导致大面积超卖;修复:FilterString 强制带上该条件,并在轻易云里加单元测试断言。 - 增量重复拉取:
FUpdateTime为字符串时,>=比较在某些数据库实现里大小写敏感;稳妥的做法是在轻易云字段映射器里统一转大写并用>=精确时间戳。 _FNumber与_FName错配:有工程师把FNumber(编码)与FName(名称)混用,导致仓库/物料对账时显示为名称而非编码;务必在映射器里固定选*_FNumber。- 数量字段当字符串累加:聚水潭下游做库存汇总时,因为金蝶返回的是
"100.00",直接相加会出现字符串拼接而非求和;映射器必须转数值类型。 - 库位层级数错位:金蝶支持多级库位,客户系统只用到 3 级,却把所有
FStockLocId02~08都当成必填,导致非空校验失败;实际应按客户主数据配置启用层级处理。
何时选用
当你需要从金蝶云星空高频拉取线上电商仓的可售/账面库存并对外(电商平台、WMS、对账系统)分发时,executeBillQuery + STK_Inventory 是最稳的入口;若涉及库存写入或事务冻结,需切换到保存类 API,纯查询策略不适用。
本文为原创内容,转载请注明出处:https://www.qeasy.cloud/insights/engineering/hb-p2-362-8f3d