报销单费用更新接口

说明

该接口用于进行报销单费用更新,可以用于将已关联报销单的费用更新.

注意事项

  1. 该接口为部分失败,在进行费用更新时,如果一次更新5条费用,其中一条失败,不会影响其他四条数据的正常更新。
  2. 每次更新最大值为10条费用,导入过多费用时,每刻会提示费用超过支持最大值10条。
  3. 更新的费用需要满足:a.更新费用已关联报销单 b.费用关联的报销单属于草稿状态或驳回至可编辑状态.
  4. 费用更新传值,若不传则默认复用原费用对应值,传则按最新值进行更新。(expenseTypeBizCode费用类型改变时,则需要传全量值)
  5. 以下特殊费用字段全覆盖且以最新传值进行更新,不复用旧值: a.allocationRuleBizCode、allocationList(分摊信息) b.customObject(自定义字段信息) c.corpExpense(是否对公费用) 6.根据返回的integrity可以识别该费用是否必填项传入完整:
      - true:所有必填项均传入成功 
      - false:存在必填项未传入
    
    7.对公费用场景暂不支持:到票核销、支付前期已到的发票

接口地址

/api/openapi/receive/expense/update

请求类型

POST

请求参数

参数说明

在各个表单中,分为系统字段、业务字段及普通字段,系统字段在表单配置界面中不会显示,如expenseTypeBizCode 字段。业务字段及普通字段,可以通过单据配置界面中的开发者模式来查看该字段导入时的的key值,其中普通字段的key值,也可以在界面中进行配置修改

字段名称 字段类型 是否必填 字段说明
employeeId String(25) 需要导入的对应员工的工号
expenseList List<expenseList> 费用列表,根据费用表单配置,分为对公费用参数和对私费用参数

expenseList费用列表

对公费用参数说明

字段名称 字段类型 是否必填 字段说明
bizCode String 费用编码(用于更新费用的主键)
consumeAmount AmountInput 付款金额 系统内对应:到票全部支付 '付款金额'
预付未到票 '付款金额'
到票核销 '付款金额'
到票部分支付或不支付 '付款金额'
支付前期已到的发票 '付款金额'
expenseTypeBizCode String 费用类型业务编码,该字段若修改则需要全字段更新
corpExpense boolean 是否对公费用,需要填写true
corpType String 业务场景:
ALL_RECEIPTS(全部到票)
NO_RECEIPT(预付未到票)
RECEIPT_PAY_SOME(到票部分支付或不支付)
corpExpenseResponsibleEmpIds List<String> 责任人/业务经办人(预付未到票/到票部分支付或不支付 两种场景必填)
nonReceiptAmount AmountInput 未到票金额(预付未到票场景)
receiptAmount AmountInput 本次到票金额(到票全部支付/到票部分支付或不支付/到票核销 三种场景)
forecastReceiptDate Long 预计到票时间(预付未到票场景)
consumeLocation CityInput 消费地点.不传则复用旧值,传空对象则清除.
receiptDate Long 到票时间(到票核销/到票部分支付或不支付 两种场景)
tradingPartnerBizCode String 往来单位业务编码
customObject CustomObject 自定义普通字段.不传则复用旧值,传值则全覆盖.
allocationList List<ExpenseAllocation> 分摊列表(支付前期已到的发票 场景不支持分摊).不传则复用旧值,传值则全覆盖
allocationRuleBizCode String 分摊规则业务编码,分摊列表不为空则必填;
noTaxSuiteTemp NoTaxInput 不含税组件(只有对公费用预付未到票场景支持). 不传则复用旧值,传空对象则清除.

到票核销记录参数说明 ExpenseDeductionTemp

字段名称 字段类型 是否必填 字段说明
recordExpenseCode String 被核销费用的唯一编码(费用导入接口返回的expenseCode 或 报销单详情返回的被核销费用的code)
deductionAmount AmountInput 核销金额

支付前期已到票记录参数说明 ExpenseDeductionTemp

字段名称 字段类型 是否必填 字段说明
recordExpenseCode String 被核销费用的唯一编码(费用导入接口返回的expenseCode 或 报销单详情返回的被核销费用的code)
deductionAmount AmountInput 支付金额

对私费用参数说明

字段名称 字段类型 是否必填 字段说明
bizCode String 费用编码(用于更新费用的主键)
consumeAmount AmountInput 费用金额
expenseTypeBizCode String 费用类型业务编码
corpExpense String 是否对公费用,需要填写false
consumeTime DateInput 消费时间
consumeLocation CityInput 消费地点.不传则复用旧值,传空对象则清除.
customObject CustomObject 自定义普通字段.不传则复用旧值,传值则全覆盖.
trainSeatStr String 火车席位:
BUSINESS-商务座
SPECIAL-特等座
FIRST-一等座
SECOND-二等座
SOFT_SLEEPER-软卧
ADVANCED_SOFT_SLEEPER-高级软卧
HARD_SLEEPER-硬卧
SOFT-软座
HARD-硬座
STANDING-无座
不传则复用旧值,传空串则清除.
airClassStr String 飞机舱位: FIRST-头等舱
BUSINESS-商务舱
ECONOMY-经济舱
不传则复用旧值,传空串则清除.
shipClassStr String 轮船舱位: VIP-贵宾舱
SPECIAL-特等舱
FIRST-一等舱
SECOND_A-二等A
SECOND_B-二等B
THIRD_A-三等A
THIRD_B-三等B
ECONOMY-经济舱
不传则复用旧值,传空串则清除.
allocationList List<ExpenseAllocation> 分摊列表.不传则复用旧值,传值则全覆盖
allocationRuleBizCode String 分摊规则业务编码,分摊列表不为空则必填;
labourTax object 劳务费个税.不传则复用旧值,传空对象则清除.

分摊参数说明 ExpenseAllocation

字段名称 字段类型 是否必填 字段说明
allocatedAmount number 分摊金额
legalEntityBizCode String 公司抬头业务编码
coverUserNo String 承担人工号
coverDepartmentBizCode String 承担部门编码
customObject CustomObject 遵循表单配置 自定义普通字段

劳务费个税参数说明 labourTax

参数说明

  1. 若费用表单个税组件开启了【按照费用金额扣除“减除税额”后的金额计算个税】,导入时请导入amountIncludeTaxDeduction(费用金额)和taxDeduction(减除税额),导入后系统会计算劳务税前金额、预扣个税和劳务税后金额;
    若开关未开启,请导入amountType(金额类型)和amount(税前/税后金额),系统根据导入的税前或税后金额计算个税及对应的前后金额。
  2. openapi导入的劳务费默认会计算“预扣个税”
字段名称 字段类型 是否必填 字段说明
amountType String 输入金额类型。pre:税前 after:税后
amount AmountInput 税前/税后金额
amountIncludeTaxDeduction AmountInput 费用金额(劳务税前金额=费用金额-减除税额)
taxDeduction AmountInput 减除税额(可以为0)

参数样例

{
   "employeeId": "USER001",
   "expenseList": [
      {
         "bizCode": "EXPCODE001",
         "consumeAmount": {
            "amount": 100,
            "currency": "CNY"
         },
         "corpExpense": true,
         "expenseTypeBizCode": "EXTYPE001",
         "corpType": "NO_RECEIPT",
         "nonReceiptAmount": {
            "amount": 100,
            "currency": "CNY"
         },
         "forecastReceiptDate": 1593310000000,
         "tradingPartnerBizCode": "BIZ001",
         "customObject": {
            "CF1393": "我是单行文本",
            "remarkText": "我是单行文本",
            "detail": [
               {
                  "CF1400": "我是单行文本",
                  "remarkText": "我是单行文本"
               }
            ]
         },
         "corpExpenseResponsibleEmpIds": [
            "no001",
            "no002"
         ]
      },
      {
         "bizCode": "EXPCODE002",
         "consumeAmount": {
            "amount": 150,
            "currency": "CNY"
         },
         "corpExpense": true,
         "expenseTypeBizCode": "LPP12123",
         "corpType": "ALL_RECEIPTS",
         "receiptDate": 1603310000000,
         "tradingPartnerBizCode": "015208mk2020-08-28",
         "customObject": {

         },
         "corpExpenseResponsibleEmpIds": [
            "no001",
            "no002"
         ]
      },
      {
         "bizCode": "EXPCODE003",
         "consumeAmount": {
            "amount": 100,
            "currency": "CNY"
         },
         "consumeTime": {
            "timeRange": {
               "startDate": 1566305347895,
               "endDate": 1566305356934
            }
         },
         "consumeLocation": {
            "cityPair": {
               "departure": "110001",
               "destination": "310100"
            },
            "location": null
         },
         "corpExpense": false,
         "expenseTypeBizCode": "X001",
         "trainSeat": "SECOND",
         "airClass": "FIRST",
         "shipClass": "FIRST",
         "allocationRuleBizCode": "A222",
         "noTaxSuiteTemp": {
            "taxRate": "1",
            "taxAmount": "10",
            "nonTaxAmount": "90"
         },
         "deductionTempList": [
            {
               "recordExpenseCode": "FD230202VWW9HEL",
               "deductionAmount": {
                  "amount": 100,
                  "currency": "CNY"
               }
            },
            {
               "recordExpenseCode": "FD2302131O6J7NYE",
               "deductionAmount": {
                  "amount": 50,
                  "currency": "CNY"
               }
            }
         ],
         "payBeforeTempList": [
            {
               "recordExpenseCode": "FD230202VWW9HEL",
               "deductionAmount": {
                  "amount": 100,
                  "currency": "CNY"
               }
            }
         ],
         "receiptAmount": {
            "amount": 100,
            "currency": "CNY"
         },
         "allocationList": [
            {
               "allocatedAmount": "100",
               "legalEntityBizCode": "E11",
               "coverUserNo": "E11",
               "coverDepartmentBizCode": "E11",
               "customObject": {
                  "CF73": "1",
                  "CF54": {
                     "name": "每刻科技",
                     "bizCode": "CODE00124342",
                     "principalCodes": "MK001",
                     "value": [
                        {
                           "name": "每刻科技",
                           "bizCode": "CODE00124342",
                           "principalCodes": "MK001"
                        }
                     ],
                     "definedList": [
                        {
                           "type": "SingleTextInput",
                           "label": "业务编码",
                           "display": false,
                           "primary": false,
                           "businessCode": "bizCode"
                        },
                        {
                           "type": "SingleTextInput",
                           "label": "供应商名称",
                           "display": true,
                           "primary": true,
                           "businessCode": "name"
                        },
                        {
                           "type": "SingleTextInput",
                           "label": "负责人",
                           "display": true,
                           "primary": false,
                           "businessCode": "principalCodes"
                        }
                     ]
                  }
               }
            }
         ]
      }
   ]
}

响应参数说明

全部成功时响应参数示例

{
    "code": "ACK",
    "message": "操作成功",
    "data": {
        "successData": [{
            "expenseCode": "EXPCODE001" ,
            "bizCode": "EXPCODE001",
            "integrity":true 
      }]
  }, 
    "success": true
}

存在失败时响应参数示例

{
    "code": "ACK",
    "message": "操作成功",
    "data": {
            "errorData": [{ 
             "key":"EXPCODE001",
            "errorCode": "10000",
            "errorMessage": "参数错误" 
      }],
        "successData": [{
            "expenseCode": "EXPCODE002",
            "bizCode": "EXPCODE002",
            "integrity":true
        }]
  }, 
    "success": false
}

修改记录

2025-12-30  新增费用更新接口
Copyright © 杭州每刻科技有限公司 www.maycur.com all right reserved,powered by Gitbook该文件修订时间: 2026-05-21 10:07:06

results matching ""

    No results matching ""

    results matching ""

      No results matching ""