对公预付预计到票日期批量变更接口
说明
按报销单号批量修改普通对公未清预付费用的预计到票日期。同一请求中的目标费用统一使用传入的新日期,同时更新普通预付费用日期、对公未清台账,刷新尚未发送的预计到票提醒,并记录操作人、修改时间、各费用的原日期、新日期及修改原因。已经发送的历史消息保持不变。
责任人变更请参见对公预付责任人批量变更接口。
注意事项
- 企业身份由开放平台鉴权确定。
operatorId为当前企业的操作人工号,操作人须具有对公未清台账权限。 formCodeList使用对外报销单号,至少 1 个,默认最多 10 个,实际上限以服务端配置为准。不允许空单号或重复单号。- 报销单须属于当前企业,处于
COMPLETED(已完成)状态且未作废。 - 仅修改普通对公未清预付费用:费用为对公
NO_RECEIPT类型,未清记录类型为NORMAL或历史空值;目标费用须已完结(CLOSED),且至少存在一条未核销完成(DEDUCTION_UNCOMPLETED)的记录。 - 费用已完结且其全部未清记录均已核销完成(
DEDUCTION_COMPLETED)时,该费用不参与修改。押金、保证金及非预付费用也不参与修改。筛选后整张单据没有目标费用时,请求失败。 - 所有单据和目标费用均校验通过后才执行更新;任一校验失败,整批返回
NACK,不修改任何费用,不触发本批提醒刷新或成功操作日志。错误信息返回首个校验错误,单据或费用错误包含对应单据号。 - 同一单据包含两笔未清普通预付费用、一笔已清预付费用和一笔非预付费用时,仅两笔未清普通预付费用更新为新日期,其余费用保持原值。更新按费用编码匹配,不受各费用原日期或排列顺序影响。
接口地址
/api/openapi/form/reimburse/prepayment/expected-arrival-date/change
请求类型
POST
请求参数
请求头
先通过接口认证获取 tokenId 和 entCode,调用时放入请求头。
| 字段名称 | 字段类型 | 是否必填 | 字段说明 |
|---|---|---|---|
| tokenId | String | 是 | 接口认证返回的有效令牌 |
| entCode | String | 是 | 接口认证返回的企业编码 |
| Content-Type | String | 是 | application/json |
请求体
| 字段名称 | 字段类型 | 是否必填 | 字段说明 |
|---|---|---|---|
| operatorId | String | 是 | 当前企业的操作人工号,须具有对公未清台账权限 |
| formCodeList | List<String> | 是 | 报销单号列表,至少 1 个,默认最多 10 个(以服务端配置为准),不允许重复 |
| expectedArrivalDate | String | 是 | 新预计到票日期,格式 yyyy-MM-dd,须为合法日期,支持过去、当天和未来日期 |
| modifyReason | String(1000) | 是 | 修改原因,不能为空或仅含空白字符,最多 1000 个字符 |
请求样例
{
"operatorId": "EMP001",
"formCodeList": ["MK26100001", "MK26100002"],
"expectedArrivalDate": "2027-01-15",
"modifyReason": "项目验收延期,预计到票日期调整已审批通过"
}
响应参数
响应参数说明
| 字段名称 | 字段类型 | 字段说明 |
|---|---|---|
| code | String | 成功为 ACK,业务校验失败为 NACK |
| message | String | 失败原因,按开放平台多语言机制返回 |
| data | Object | 成功结果;业务校验失败时为 null |
| data.successFormCodeList | List<String> | 本批全部修改成功的报销单号 |
| data.failures | List<Object> | 成功时为空数组;业务校验失败直接返回顶层错误 |
| requestId | String | 请求追踪标识,可能为空 |
| errorCode | String | 错误编码,可能为空 |
| success | Boolean | 成功为 true,业务校验失败为 false |
成功响应样例
{
"code": "ACK",
"message": null,
"data": {
"successFormCodeList": ["MK26100001", "MK26100002"],
"failures": []
},
"requestId": null,
"errorCode": null,
"success": true
}
失败响应样例
{
"code": "NACK",
"message": "预计到票日期不能为空",
"data": null,
"requestId": null,
"errorCode": null,
"success": false
}
错误场景
下表为中文错误信息示例;{单据号}、{上限}、{数量} 会替换为本次请求的实际值。
| 场景 | 错误信息 |
|---|---|
| 操作人工号为空、单据号列表为空或包含空单号 | 传入参数错误 |
| 单据数量超过配置上限 | 单次请求最多允许传入 {上限} 个单据号,本次传入 {数量} 个,请分批提交。 |
| 单据号重复 | 请求失败,单据号 {单据号} 重复,请检查后重新传入 |
| 修改原因为空或仅为空白字符 | 修改原因不能为空或仅为空格 |
| 修改原因超过 1000 个字符 | 修改原因不能超过 1000 个字符 |
| 预计到票日期为空 | 预计到票日期不能为空 |
| 日期格式错误或日期不存在 | 预计到票日期不合法 |
| 操作人工号无法解析为系统用户 | 操作人在系统中不存在 |
| 操作人无对公未清台账权限 | 操作人无对公未清台账权限,无法修改预计到票日期。 |
| 单据不存在或不属于当前企业 | 未找到单据编号{单据号}对应的单据,请检查 |
| 单据状态不满足要求 | 单据 {单据号} 的单据状态不允许修改预计到票日期 |
| 存在未完结的目标预付费用 | 单据号 {单据号} 存在未完结的预付费用,不允许修改预计到票日期 |
| 没有目标费用,或目标费用缺少未核销完成记录 | 单据号 {单据号} 不存在预付未清业务 |
修改记录
2026-10-23 新增对公预付预计到票日期批量变更接口文档
2026-10-29 预计到票日期支持过去、当天和未来日期