报销单费用导入接口

说明

该接口用于进行费用导入,可以用于将其他来源的费用导入到每刻系统中.

注意事项

  1. 该接口为部分失败,在进行费用导入时,如果一次导入5条费用,其中一条失败,不会影响其他四条数据的正常导入。
  2. 每次导入最大值为10条费用,导入过多费用时,每刻会将多出的费用进行遗弃。
  3. 如需在费用上关联发票,可以在费用导入成功后,将返回的expenseCode添加到发票导入接口的入参内。
  4. 根据返回的integrity可以识别该费用是否必填项传入完整:
    • true:所有必填项均传入成功
    • false
      • 接口可导入的必填项未导入完整
      • 不支持接口导入,但表单设置必填(此情况需要设置单据导入为草稿或者去除费用上对应组件的必填设置)

接口地址

/api/openapi/receive/expense

请求类型

POST

请求参数

参数说明

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

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

expenseList费用列表

对公费用参数说明

字段名称 字段类型 是否必填 字段说明
consumeAmount AmountInput 付款金额 系统内对应:到票全部支付 '付款金额'
预付未到票 '付款金额'
到票核销 '付款金额'
到票部分支付或不支付 '付款金额'
支付前期已到的发票 '付款金额'
expenseTypeBizCode String 费用类型业务编码
corpExpense boolean 是否对公费用,需要填写true
corpType String 业务场景:
ALL_RECEIPTS(全部到票)
NO_RECEIPT(预付未到票)
RECEIPT_DEDUCTION(到票核销)
RECEIPT_PAY_SOME(到票部分支付或不支付)
PAY_BEFORE_RECEIPT(支付前期已到的发票)
corpExpenseResponsibleEmpIds List<String> 责任人/业务经办人(预付未到票/到票部分支付或不支付 两种场景必填)
nonReceiptAmount AmountInput 遵循表单配置 未到票金额(预付未到票场景必填)
receiptAmount AmountInput 本次到票金额(到票全部支付/到票部分支付或不支付/到票核销 三种场景必填)
forecastReceiptDate Long 遵循表单配置 预计到票时间(预付未到票场景必填)
consumeLocation CityInput 遵循表单配置 消费地点
receiptDate Long 遵循表单配置 到票时间(到票核销/到票部分支付或不支付 两种场景必填)
viceExpenseTypeBizCode String 遵循表单配置 辅助费用类型业务编码。仅在费用表单配置了辅助费用类型组件时生效;未传时按表单默认值配置处理
tradingPartnerBizCode String 遵循表单配置 往来单位业务编码
customObject CustomObject 遵循表单配置 自定义普通字段
allocationList List<ExpenseAllocation> 分摊列表(支付前期已到的发票 场景不支持分摊)
allocationRuleBizCode String 分摊规则业务编码,分摊列表不为空则必填;
deductionTempList List<ExpenseDeductionTemp> 到票核销预付的明细记录(到票核销费用必填)
payBeforeTempList List<ExpenseDeductionTemp> 支付前期已到的发票的明细记录(支付前期已到的发票费用必填)
noTaxSuiteTemp NoTaxInput 不含税组件(只有对公费用预付未到票场景支持)
bizCode String 自定义费用编码(支持外部系统编码,系统内唯一,无法更新)

到票核销记录参数说明 ExpenseDeductionTemp

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

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

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

对私费用参数说明

字段名称 字段类型 是否必填 字段说明
consumeAmount AmountInput 费用金额
expenseTypeBizCode String 费用类型业务编码
corpExpense String 是否对公费用,需要填写false
consumeTime DateInput 消费时间
consumeLocation CityInput 遵循表单配置 消费地点
viceExpenseTypeBizCode String 遵循表单配置 辅助费用类型业务编码。仅在费用表单配置了辅助费用类型组件时生效;未传时按表单默认值配置处理
customObject CustomObject 遵循表单配置 自定义普通字段
trainSeat String 遵循表单配置 火车席位:
BUSINESS-商务座
SPECIAL-特等座
FIRST-一等座
SECOND-二等座
SOFT_SLEEPER-软卧
ADVANCED_SOFT_SLEEPER-高级软卧
HARD_SLEEPER-硬卧
SOFT-软座
HARD-硬座
STANDING-无座
airClass String 飞机舱位: FIRST-头等舱
BUSINESS-商务舱
ECONOMY-经济舱
shipClass 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": [
    {
      "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"
      ]
    },
    {
      "consumeAmount": {
        "amount": 150,
        "currency": "CNY"
      },
      "corpExpense": true,
      "expenseTypeBizCode": "LPP12123",
      "corpType": "ALL_RECEIPTS",
      "receiptDate": 1603310000000,
      "tradingPartnerBizCode": "015208mk2020-08-28",
      "customObject": {},
      "corpExpenseResponsibleEmpIds": [
        "no001",
        "no002"
      ]
    },
    {
      "consumeAmount": {
        "amount": 100,
        "currency": "CNY"
      },
      "consumeTime": { //日期
        "currentTime": 1594197456845
      },
      "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": [
      {
        "idx": 0,
        "expenseCode": "EXPCODE001",
        "integrity": true
      }
    ]
  },
  "success": true
}

存在失败时响应参数示例

{  //费用行异常内容,异常信息回显至data.errorData.errorMessage
  "code": "ACK",
  "message": "操作成功",
  "data": {
    "errorData": [  
      {
        "idx": 0,  //此参数对应入参expenseList内的下标,从0开始
        "key": null,
        "errorCode": "10000",
        "errorMessage": "费用类型不存在"
      }
    ],
    "successData": [
      {
        "idx": 1,
        "expenseCode": "EXPCODE001"
      }
    ]
  },
  "success": false
}
{  //employeeId工号错误,异常信息回显至message
  "code": "NACK",
  "message": "员工编号错误",
  "data": null,
  "requestId": "085d530d3a2949b4",
  "errorCode": null,
  "success": false
}

修改记录

2023-05-23  新增费用导入接口
2023-07-10  新增费用导入不含税金额接口
2026-06-29  新增辅助费用类型业务编码viceExpenseTypeBizCode
Copyright © 杭州每刻科技有限公司 www.maycur.com all right reserved,powered by Gitbook该文件修订时间: 2026-07-01 09:53:36

results matching ""

    No results matching ""

    results matching ""

      No results matching ""