关联申请单预提费用导入接口

说明

在目标预提申请单已经通过申请单导入接口关联来源普通申请单后,按来源费用编码逐条生成目标预提费用。建议先调用可预提费用明细查询接口取得来源编码及参考金额。

首次导入目标单并准备随后导入费用时,应在申请单导入请求中设置 stagingFlag=true,使目标单处于草稿状态。目标单必须配置“关联申请单预提”组件。

接口限制与处理规则

  • 一次最多导入 10 条预提费用。每行单独保存;某行失败不会回滚同批其他已成功行。
  • 本次预提金额必须 大于 0,但允许超过查询接口返回的 availableAmount。
  • currency 必须与来源费用的消费币种一致;费用编码必须属于对应的来源普通申请单,且该来源单已经关联目标预提单。
  • 接口只生成目标费用的最小字段并记录来源费用编码,不复制发票、参与人或分摊行。integrity=false 表示目标费用表单仍有必填项待补齐。
  • customCode 仅用于请求与结果行对应,不作为生成费用的编码保存。重试前请先核对成功行返回的目标费用编码。

接口地址

/api/openapi/receive/application/expense/accrual/import

请求类型

POST

请求参数

字段名称 字段类型 是否必填 字段说明
accrualFormCode String 是 目标预提申请单号,非内码;目标须有效、启用、处于草稿/驳回/退回状态,并配置“关联申请单预提”组件
employeeId String 是 有效的员工工号,用于确定费用保存人
sourceFormCodes List<String> 是 本批次来源普通申请单号列表;非空、元素非空
expenses List<Expense> 是 待导入费用明细,非空且最多 10 条

Expense 明细参数

字段名称 字段类型 是否必填 字段说明
customCode String 否 调用方自定义行标识,仅在结果中回传
sourceFormCode String 是 来源普通申请单号,须包含在 sourceFormCodes 中且已关联目标单
sourceApplicationExpenseCode String 是 来源申请费用编码,须属于 sourceFormCode 指定申请单
currentAccrualAmount Number 是 本次预提金额,须大于 0;不受可预提金额上限限制
currency String 是 来源费用的消费币种,如 CNY

请求样例

{
  "accrualFormCode": "MK26020001",
  "employeeId": "200070",
  "sourceFormCodes": ["MK26010001"],
  "expenses": [
    {
      "customCode": "LINE001",
      "sourceFormCode": "MK26010001",
      "sourceApplicationExpenseCode": "AE26010001",
      "currentAccrualAmount": 120,
      "currency": "CNY"
    }
  ]
}

响应参数

字段名称 字段类型 字段说明
code String 全部成功为 ACK;任一明细失败为 NACK,但成功明细不回滚
message String 本地化提示信息;部分失败时为“操作失败”
data.expenses List<ExpenseResult> 与请求 expenses 逐条对应的处理结果
success boolean 顶层是否全部成功;逐条结果以 data.expenses[].success 为准

ExpenseResult 明细结果

字段名称 字段类型 字段说明
customCode String 回传请求行标识
sourceFormCode String 来源申请单号
sourceApplicationExpenseCode String 来源费用编码
accrualApplicationExpenseCode String 成功生成的目标预提费用编码;失败行无此值
integrity boolean 目标费用表单必填项是否完整
consumeAmount Number 目标费用消费金额;失败行回传请求金额
currency String 消费币种
success boolean 该行是否成功
errorMessage String 该行失败原因;成功行通常为空

响应样例:部分失败

{
  "code": "NACK",
  "message": "操作失败",
  "data": {
    "expenses": [
      {
        "customCode": "LINE001",
        "sourceFormCode": "MK26010001",
        "sourceApplicationExpenseCode": "AE26010001",
        "accrualApplicationExpenseCode": "AE26020001",
        "integrity": false,
        "consumeAmount": 120,
        "currency": "CNY",
        "success": true
      },
      {
        "customCode": "LINE002",
        "sourceFormCode": "MK26010001",
        "sourceApplicationExpenseCode": "WRONG_EXPENSE",
        "consumeAmount": 50,
        "currency": "CNY",
        "success": false,
        "errorMessage": "费用明细与来源申请单不匹配,请核对费用明细编码和来源申请单号"
      }
    ]
  },
  "success": false
}

异常场景

场景 处理方式
批次参数缺失、员工工号无效、目标单不存在或不可编辑 整批拒绝;不进入逐行保存
一次超过 10 条 整批拒绝,提示“每次最多导入10条预提申请明细”
单行金额不大于 0、来源未关联、费用归属或币种不符、费用类型未配置预提表单 在该行 errorMessage 中返回原因;其他行继续处理

修改记录

2026-10-25  DB-61831 新增关联申请单预提费用导入接口文档
Copyright © 杭州每刻科技有限公司 www.maycur.com all right reserved,powered by Gitbook该文件修订时间: 2026-10-28 10:29:20

results matching ""

    No results matching ""

    results matching ""

      No results matching ""