对公支付新增
接口: /corp/reimburse/save POST JSON
请求参数
| 参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
|---|---|---|---|---|---|
| businessCode | String | N | 单据号 | ||
| formSubTypeBizCode | String | Y | 单据类型编码 | ||
| subsidiaryBizCode | String | Y | 所属业务实体编码 | ||
| collectionCurrency | String | Y | 收款币种, 例:CNY,USD | ||
| departmentBizCode | String | Y | 承担部门编码 | ||
| coverUserEmployeeId | String | Y | 承担员工工号 | ||
| applyDepartmentBizCode | String | Y | 申请部门编码 | ||
| applyUserEmployeeId | String | Y | 申请员工工号 | ||
| agentUserEmployeeIds | List<String> | Y | 责任人工号 | ||
| corpReimburseName | String | Y | 申请事由 | ||
| comments | String | N | 备注 | ||
| remittanceNotes | String | N | 汇款备注 | ||
| supplierBizCode | String | Y | 供应商编码 单供应商必须 | ||
| supplierAccountBizCode | String | Y | 供应商账号编码 单供应商必须 | ||
| enterprisePaymentAccountBizCode | String | N | 企业支付账号编码 | ||
| costTrackings | List<CostTrackingItemDto> | N | 辅助核算 | ||
| corpFees | List<CorpFeeDto> | N | 到票未支付业务 | ||
| corpPayments | List<CorpPaymentDto> | N | 未到票预付业务 | ||
| targetStatus | String | N | 目标状态。可选值:DRAFT(暂存)、SUBMITTED(提交审批)、COMPLETED(导入完成) | ||
| completed | boolean | N | false | 旧版完成态字段。未传targetStatus时继续按原逻辑处理;不能与targetStatus同时传入 | |
| completedTime | String | targetStatus = COMPLETED或旧版completed = true时必填 | 完成时间,格式:yyyy-MM-dd | ||
| customFormValues | List<CustomFormValue> | N | 自定义表单内容 (不支持自定义字段-附件) | ||
| muchSupplier | boolean | N | false | 是否是多供应商,true/false,默认false必须 | |
| estimatedPaymentTime | String | N | 要求支付时间,格式为yyyy-mm-dd | ||
| corpContractInfoDto | CorpContractInfoDto | N | 关联合同信息 | ||
| ignoreBudgetControl | boolean | N | 是否忽略预算控制力度并强制占用预算 |
CorpContractInfoDto 结构
| 参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
|---|---|---|---|---|---|
| businessCode | String | Y | 合同单据号 | ||
| contractComponentDataCodeList | List |
N | 关联分期期数编码(分期合同需必填) |
CostTrackingItemDto 结构
| 参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
|---|---|---|---|---|---|
| costTrackingItemBizCode | String | Y | 辅助核算选项编码 | ||
| costTrackingName | String | N | 辅助核算名称(若系统中存在相同的辅助核算选项编码,可以使用该字段区分) |
CorpFeeDto 结构
| 参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
|---|---|---|---|---|---|
| feeTypeBizCode | String | Y | 费用类型编码 | ||
| feeAmount | String | Y | 到票金额 | ||
| consumeTime | String | Y | 开票时间,格式:yyyy-MM-dd | ||
| currentDeductionAmount | String | Y | 本期支付金额 | ||
| comments | String | Y | 消费事由 | ||
| costTrackings | List<CostTrackingItemDto> | N | 辅助核算 | ||
| allocatedFlag | boolean | N | false | 是否分摊 | |
| allocatedType | String | N | 分摊类型,可选值: RATIO - 比例分摊 AMOUNT - 金额分摊 |
||
| feeAllocations | List<CorpFeeAllocationDto> | N | 分摊数据 | ||
| supplierBizCode | String | N | 供应商编码 多供应商必须 | ||
| supplierAccountBizCode | String | N | 供应商账号编码 多供应商必须 | ||
| enterprisePaymentAccountBizCode | String | N | 企业支付账号编码 | ||
| remittanceNotes | String | N | 汇款备注 | ||
| customFormValues | List<CustomFormValue> | N | 自定义表单内容 (不支持自定义字段-附件和明细) |
CorpFeeAllocationDto 结构
| 参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
|---|---|---|---|---|---|
| allocatedAmount | String | Y | 分摊金额 | ||
| allocatedRatio | String | Y | 分摊比列, 0 ~ 100 | ||
| coverUserEmployeeId | String | Y | 承担人工号 | ||
| coverDepartmentBizCode | String | Y | 承担部门编码 | ||
| costTrackings | List<CostTrackingItemDto> | N | 辅助核算 |
CorpPaymentDto 结构
| 参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
|---|---|---|---|---|---|
| corpPaymentTypeBizCode | String | Y | 对公支付类型编码 | ||
| paymentAmount | String | Y | 支付金额 | ||
| estimatedDate | String | Y | 预计到票时间,格式:yyyy-MM-dd | ||
| feeTypeBizCode | String | N | 费用类型编码 | ||
| allocatedFlag | boolean | N | false | 是否分摊 | |
| allocatedType | String | N | 分摊类型,可选值: RATIO - 比例分摊 AMOUNT - 金额分摊 |
||
| allocations | List<CorpPaymentAllocationDto> | N | 分摊数据 | ||
| supplierBizCode | String | N | 供应商编码 多供应商必须 | ||
| supplierAccountBizCode | String | N | 供应商账号编码 多供应商必须 | ||
| enterprisePaymentAccountBizCode | String | N | 企业支付账号编码 | ||
| remittanceNotes | String | N | 汇款备注 |
CorpPaymentAllocationDto 结构
| 参数 | 类型 | 必须 | 默认值 | 主键 | 描述 |
|---|---|---|---|---|---|
| allocatedAmount | String | Y | 分摊金额 | ||
| allocatedRatio | String | Y | 分摊比列, 0 ~ 100 | ||
| coverUserEmployeeId | String | Y | 承担人工号 | ||
| coverDepartmentBizCode | String | Y | 承担部门编码 | ||
| costTrackings | List<CostTrackingItemDto> | N | 辅助核算 |
CustomFormValue 结构(详细说明请参考-自定义字段参数说明
| 参数 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| identifier | string | Y | 字段占位符 |
| value | string | 字段内容 | |
| detailFieldValues | List<Map<String,String>> | 明细类型字段 |
该接口采用单条失败的处理方式,即整批数据中,如果只有其中的几条因为各种原因失败,那么只有那几条数据不会被保存;其它的数据仍然会被正常处理;错误数据的主键(businessCode)会被放在errorData里面;
errorData为结构题, 包含出错记录主键(businessCode), 以及与之对应的出错信息; 类似 {"项目": "部门不存在"}; 具体参见失败实例;
为保持向后兼容, data也会包含有和errorData相同的记录,但后续可能会改变;
状态及兼容规则
- 未传
targetStatus时,严格保持原completed=true/false处理逻辑,不增加提单校验。 - 目标状态能力受企业级功能开关控制,默认开启。功能关闭时,传入
targetStatus的单据逐条返回“目标状态功能未启用”且不写入数据;未传targetStatus的旧报文不受影响。 - 显式传入
targetStatus时:DRAFT:保存为暂存态,不执行提单校验。SUBMITTED:执行完整提单校验,通过后启动正常审批流程。COMPLETED:执行完整提单校验,通过后按OpenAPI导入完成态处理。
targetStatus与completed不能同时传入,即使completed=false也会返回参数冲突。targetStatus传入枚举范围外的值时,该条单据返回允许的状态值,批次内其他单据继续处理。SUBMITTED或COMPLETED仅存在弱校验预警时允许继续处理,系统记录默认通过理由“接口提交自动通过”。- 提单强校验失败时,单据保留为
DRAFT,接口返回具体原因,不启动流程或执行后续目标状态处理。 SUBMITTED存在提单人自选审批节点时不支持自动选择人员,该条单据返回失败。businessCode已存在时不支持覆盖或更新。提单强校验失败后草稿已经保留,再次使用相同businessCode推送会返回单据号已存在。
请求参数示例:
旧版completed报文继续兼容:
{
"timestamp":1579085665,
"data": [
{
"businessCode":"MK10020200",
"formSubTypeBizCode": "FT1706021HW3W2KG",
"subsidiaryBizCode": "S0001",
"collectionCurrency": "CNY",
"departmentBizCode": "DI1911191FRU6G23",
"coverUserEmployeeId": "E999",
"applyDepartmentBizCode": "DI1911191FRU6G23",
"applyUserEmployeeId": "E999",
"agentUserEmployeeIds": ["dadas"],
"corpReimburseName": "openApi测试",
"comments": "adsdasd",
"supplierBizCode": "SUP1907181PMSH9XC",
"supplierAccountBizCode": "A190716666600",
"enterprisePaymentAccountBizCode": null,
"costTrackings": [
{
"costTrackingItemBizCode": "AIRPORT"
}
],
"corpFees": [],
"corpPayments": [
{
"corpPaymentTypeBizCode": "adsadas",
"paymentAmount": "0",
"estimatedDate": "2020-01-16",
"feeTypeBizCode": "T001"
}
],
"completed": true,
"completedTime": "2020-01-15"
}
]
}
targetStatus三种状态示例
暂存态:
{
"timestamp": 1786089600,
"data": [
{
"businessCode": "NC-DRAFT-001",
"targetStatus": "DRAFT"
}
]
}
提交态:
{
"timestamp": 1786089600,
"data": [
{
"businessCode": "NC-SUBMITTED-001",
"targetStatus": "SUBMITTED"
}
]
}
完成态:
{
"timestamp": 1786089600,
"data": [
{
"businessCode": "NC-COMPLETED-001",
"targetStatus": "COMPLETED",
"completedTime": "2026-08-07"
}
]
}
以上示例仅突出状态字段,实际请求仍需传入参数表中标记为必填的单据、供应商及业务明细字段。
返回成功参数示例:
{
"code": "ACK",
"message": "操作成功!",
"data": null,
"args": null,
"linkDetail": false,
"nonBizError": false
}
返回失败参数示例:
{
"code": "NACK",
"message": null,
"data": {
"MK10020200": "责任人[dadas]不存在"
},
"args": null,
"linkDetail": false,
"errorData": {
"MK10020200": "责任人[dadas]不存在"
},
"warningData": null,
"requestErrorData": [
{
"businessCode": "MK10020200",
"formSubTypeBizCode": "FT1706021HW3W2KG",
"subsidiaryBizCode": "S0001",
"collectionCurrency": "CNY",
"departmentBizCode": "DI1911191FRU6G23",
"coverUserEmployeeId": "E999",
"applyDepartmentBizCode": "DI1911191FRU6G23",
"applyUserEmployeeId": "E999",
"agentUserEmployeeIds": [
"dadas"
],
"corpReimburseName": "openApi测试",
"comments": "adsdasd",
"supplierBizCode": "SUP1907181PMSH9XC",
"supplierAccountBizCode": "A190716666600",
"enterprisePaymentAccountBizCode": null,
"costTrackings": [
{
"costTrackingName": null,
"costTrackingItemBizCode": "AIRPORT",
"costTrackingItemName": null,
"createdAt": null,
"updatedAt": null,
"active": false,
"subsidiaryCodes": null,
"visibleDepartmentCodes": null,
"visibleEmployeeIds": null
}
],
"corpFees": [],
"corpPayments": [
{
"corpPaymentTypeBizCode": "adsadas",
"paymentAmount": 0,
"estimatedDate": 1579132800000,
"feeTypeBizCode": "T001"
}
],
"completed": true,
"completedTime": 1579046400000,
"remittanceNotes": null
}
],
"nonBizError": false
}