费用批量删除接口

说明

该接口用于一次删除多条系统内费用。系统按请求中的费用编码顺序逐条处理,单条费用删除失败不会阻断其他费用。

注意事项

  1. 单次最多支持删除 50 条费用。
  2. 每条费用沿用费用删除接口的删除规则。
  3. 若费用内关联发票,删除费用时会同步删除对应发票,可以通过接口再次导入。
  4. 费用状态不是未报销状态,则无法删除。
  5. 第三方费用无法删除(如订单导入费用和滴滴、携程等平台订单流入每刻生成的费用)。
  6. 费用发生了拆分,则无法删除。
  7. 请求参数合法时接口返回 ACK,每条费用的处理结果通过 data 中对应元素的 code 判断。

接口地址

/api/openapi/expense/batchDelete

请求类型

POST

请求参数

参数说明

字段名称 字段类型 是否必填 字段说明
expenseCodes List<String> 是 费用唯一编码列表,不能为空,单次最多 50 条,列表元素不能为空

参数样例

{
  "expenseCodes": [
    "FD232131",
    "FD232132"
  ]
}

响应参数

响应参数说明

字段名称 字段类型 是否必填 字段说明
code String 是 接口状态码。请求参数合法并完成逐条处理时返回 ACK;请求参数非法时返回 NACK
errorCode String 否 code 为 NACK 时返回的参数错误码
message String 否 响应说明
data List<ExpenseDeleteResult> 否 逐条删除结果列表,顺序与请求参数一致;请求参数非法时为空

ExpenseDeleteResult 数据结构

字段名称 字段类型 是否必填 字段说明
expenseCode String 是 费用编码
code String 是 处理结果,ACK 表示成功,NACK 表示失败
errorCode String 否 删除失败的错误码,成功时为 null
errorMessage String 否 删除失败的原因,成功时为 null

错误码

错误码 描述 解决方案
ARG0001 expenseCodes 为空、包含空值或超过 50 条 检查请求参数后重新调用
EXPENSE_ERR_58 非“未报销”费用无法被删除 将费用与单据解绑
EXPENSE_ERR_0016 第三方费用无法被删除 联系系统管理员手动进行删除
EXPENSE_ERR_55 拆分费用无法删除 拆分费用请在每刻系统内操作删除
TECH0003 费用不存在 请确认费用编码是否存在

全部成功响应样例

{
  "code": "ACK",
  "data": [
    {
      "expenseCode": "FD232131",
      "code": "ACK",
      "errorCode": null,
      "errorMessage": null
    },
    {
      "expenseCode": "FD232132",
      "code": "ACK",
      "errorCode": null,
      "errorMessage": null
    }
  ],
  "success": true
}

部分失败响应样例

{
  "code": "ACK",
  "data": [
    {
      "expenseCode": "FD232131",
      "code": "ACK",
      "errorCode": null,
      "errorMessage": null
    },
    {
      "expenseCode": "FD232132",
      "code": "NACK",
      "errorCode": "EXPENSE_ERR_58",
      "errorMessage": "非'未报销'费用无法删除"
    }
  ],
  "success": true
}

请求参数错误响应样例

{
  "code": "NACK",
  "message": "expenseCodes 单次最多支持50条",
  "data": null,
  "errorCode": "ARG0001",
  "success": false
}

修改记录

2026-06-09  调整批量删除响应数据结构说明
2026-06-08  新增费用批量删除接口
Copyright © 杭州每刻科技有限公司 www.maycur.com all right reserved,powered by Gitbook该文件修订时间: 2026-09-23 10:19:53

results matching ""

    No results matching ""

    results matching ""

      No results matching ""