报销单导入接口

说明

该接口用于进行报销单导入,在将单据导入到系统内时,会将单据自动保存到对应的员工下。 目前该接口中,仅支持部分主要字段,如果您所需要导入的字段不在文档内,请联系每刻工作人员。

接口限制

 1次/秒/企业

注意事项

  1. 若导入时,填写formCode,则会校验是否和每刻系统内单据号重复(每刻内单据作废/删除,不会释放原单据号)。
  2. 若导入报销单stagingFlag(暂存状态)为true,则只校验费用S级字段必填(对私:消费日期、费用金额、费用类型编码;对公:基于对私,增加到票时间、业务场景、是否对公),其他必填字段由提单人手动添加并提交。
  3. 单据导入成功且为提交状态,将会自动执行该单据所配置的审批流程,如果需要将单据直接完成,可以直接将单据配置为空流程(即没有审批人)。
  4. 在提单时,会正常触发预算占用、凭证、费控智能审核、自定义校验等校验,与员工手动提单相同。
    • 若触发了表单配置的系统校验(如智能审核、单据校验组件、单据提交外部事件),且错误等级为“ERROR”(错误)、“NEED_REASON”(警告但需填写理由),则该单据会暂存至提单人的“我的单据”。
  5. 收款明细组件与单据级支付账户组件互斥:配置收款明细组件时,仅可在collectionSchedule明细中传入payerAccount;配置单据级支付账户组件时,仅可传入根级payerAccount。请求字段层级与表单组件不匹配,或同时传入两种层级的payerAccount,均会返回参数错误。

接口地址

/api/openapi/receive/reimburse

请求类型

POST

请求参数

参数说明

字段名称 字段类型 是否必填 字段说明
formCode String 否 有值时会使用该值作为单据号
reimburseName String 是 报销单事由
formSubTypeBizCode String 是 表单类型的业务编号
submittedUserEmployeeId String 是 提单人工号
legalEntityBizCode String 是 公司抬头编码
coverUserEmployeeId String 是 承担人工号
coverDepartmentBizCode String 是 承担部门编码
requestDepartmentBizCode String 否 提单人部门编码
comments String 否 (遵循表单配置) 备注
payeeAccount PayeeAccount 否 收款信息,表单中收款类型为对公账户(往来单位)时,必传往来单位tradingPartnerBizCode
payerAccount 支付账户类型 否 单据级支付账户。仅在表单配置单据级支付账户组件且未配置收款明细组件时传入
collectionSchedule CollectionTradingType 否 多人收款,仅在表单配置收款明细组件时传入。若传多人收款,则paymentSceneBizCode参数必填;明细行支持传入payerAccount支付账户,且不能与根级payerAccount同时传入
paymentSceneBizCode String 否 多人收款场景(支付场景)表单业务编码,需要填写多人收款时必填
installmentExpectDateZoneId String 否 分期预计日期对应的 IANA 时区 ID,如 Asia/Shanghai
expenseCodes List<String> 是 费用的每刻内码Code列表,费用需要使用费用导入接口导入,导入后,会返回费用的Code(若stagingFlag为true,则此参数非必填)
customObject CustomObject 否 自定义字段。选项组类型传所选自定义档案明细的业务编码,不传选项名称或选项组编码
tradingPartnerBizCode String 否 往来单位编码
submittedTime Long 否 提单时间,默认是单据导入时间
stagingFlag boolean 否 暂存标识,默认为false表示不暂存
deleteFail boolean 否 默认为false。当stagingFlag=false且提单阶段因系统校验失败产生未提交暂存单据时,是否自动删除本次导入产生的暂存报销单。删除成功后会释放本次失败导入占用的单据号,便于使用相同单据号重新导入
deleteReimburseExpense boolean 否 默认为false,仅在deleteFail=true并触发自动删除时生效。是否同步删除关联费用:true表示删除个人创建的费用,第三方来源费用返回账本;false表示关联费用返回账本
preConsumeCodeList List<String> 否 报销单关联申请单号
contractCode String 否 报销单关联的合同单号(兼容单合同关联时的字段,保留,后期建议使用关联多合同字段)
contractList List<ContractAssociated> 否 批量关联多合同
nonCheckContractAgent bool 否 不需要校验合同责任人,true-不校验,false-校验(默认校验)
contractPaymentPlans List<contractPaymentPlan> 否 关联的付款合同含分期,需指定本期发起的期数和金额,格式见contractPaymentPlan说明 (注意:兼容单合同关联时的字段,多合同关联见ContractAssociated)
contractPayRecords List<contractPayRecords> 否 关联的付款合同含费用明细,可以指定占用支付金额以及到票金额(注:填写的明细行金额需要大于0,不填写的合同明细行默认金额为0。 注意:兼容单合同关联时的字段,多合同关联见ContractAssociated)
reimburseFormDataPlanPayTime Long 否 报销单计划付款时间
reimburseFormDataPlanPayTimeZoneId String 否 报销单计划付款时间对应的 IANA 时区 ID,如 Asia/Shanghai
acceptCcyCode String(3) 否 单据收款币种(不传取收款账户的收款币种(此时要求账户的收款币种只有一个)),该币种需要在抬头和收款账户的限制收款币种内
travelPartnerInfo List<TravelPartner> 否 参与人
travelRouteList List<TravelRoute> 否 行程列表
associatedForm List<associatedForm> 否 关联单据组件,关联单据数量需要遵循表单配置,仅限关联每刻内部单据
associatedExternalFormCodes List<String> 否 关联单据组件,关联外部单据传入外部单据号
loanFormCodes List<String> 否 核销借款
loanDeductionHistoryList List<DeductionHistory> 否 自定义核销金额(使用该组件,必须配合loanFormCodes使用,且本组件核销单据号必须在loanFormCodes内)。
需开启“核销借款”组件的“支持手动修改本次核销金额”开关
remittanceRemark String 否 汇款备注。填写汇款备注时,汉字按照表单配置字符数统计(超长截取)、数字英文符号等按照1字符统计。例如配置的汉字按2字符统计,“普通付款-1”将被统计为10个字符
invoiceBagCode String 否 发票袋编号
reportPositionBizCode String 否 职位编码
autoFillTradingPartnerByContract bool 否 根据合同自动填充报销单往来单位,满足(1.报销单关联合同组件未勾选'限制关联往来单位相同的合同单据' 2.未传参tradingPartnerBizCode)
budgetOccupyTime Long 否 预算使用月份(时间戳)
budgetOccupyTimeZoneId String 否 预算使用月份对应的 IANA 时区 ID,如 Asia/Shanghai
checkUserScope Boolean 否 是否校验提单人是否在单据小类使用范围内,默认false不校验。当为true且提单人不在适用范围内时,返回错误:该员工不在导入单据的适用范围内

contractPayRecords 参数说明

字段名称 字段类型 是否必填 字段说明
expenseCode String 是 合同费用编码
payAmount AmountInput 是 本次支付金额
receiveAmount AmountInput 是 本次到票金额

contractPaymentPlan 参数说明

字段名称 字段类型 是否必填 字段说明
code String 是 合同付款计划行code
paymentPlanAmountNow AmountInput 是 付款计划行本次支付金额
receiptAmountNow AmountInput 是 付款计划行本次到票金额

associatedForm 参数说明

字段名称 字段说明 是否必填 字段类型
formCode 单据编码 是 String
formType 单据类型:
PRECONSUME申请单
REIMBURSE报销单
LOAN借款单
CONTRACT合同
REPAYMENT还款单
是 String
formSubTypeBizCode 单据类型编码 是 String
formSubTypeName 单据类型名称 是 String
isMine 是否为我的单据,true:我的, false:他人单据 是 String

ContractAssociated 参数说明

字段名称 字段说明 是否必填 字段类型
contractCode 合同编码 是 String
contractPaymentPlans 关联的付款合同含分期,需指定本期发起的期数和金额,格式见contractPaymentPlan说明 否 List<contractPaymentPlan>
contractPayRecords 关联的付款合同含费用明细,可以指定占用支付金额以及到票金额(注:填写的明细行金额需要大于0,不填写的合同明细行默认金额为0) 否 List<contractPayRecords>

参数样例

{
   "formCode": "单据号",
   "formSubTypeBizCode": "FT1908191E6CRDA8",
   "submittedUserEmployeeId": "190013",
   "reimburseName": "报销事由",
   "legalEntityBizCode": "LEB001",
   "coverUserEmployeeId": "200066",
   "coverDepartmentBizCode": "DEPT001",
   "expenseCodes": [
      "EXP001",
      "EXP002"
   ],
   "reimburseFormDataPlanPayTime": 1787760000000,
   "tradingPartnerBizCode": "011506mk2020-06-20",
   "payeeAccount": { //收款账户组件
      "bankAcctName": "杭州每刻银行",
      "bankAcctNumber": "6217000010001234123",
      "paymentType": "BANK",
      "accountType": "PERSONAL"
   },
   "collectionSchedule": [  //收款明细组件(多人收款)
      {
         "payeeAccount": {
            "bankAcctName": "张三",
            "bankAcctNumber": "123456789123456789",
            "paymentType": "BANK",
            "accountType": "PERSONAL",
            "bankBranchNo": "105361048025"
         },
         "payerAccount": {
            "bankAcctName": "杭州每刻银行",
            "bankAcctNumber": "6217000010001234123",
            "paymentType": "BANK"
         },
         "collectionTradingPartnerBizCode": "015108m",
         "amountRatio": 100,
         "amount": {
            "amount": 100,
            "currency": "CNY"
         },
         "collectionUserEmployeeId": "190016",
         "collectionUserName": "张三",
         "collectionUserTargetScope": "EMPLOYEE",
         "collectionType": "BANK",
         "acceptanceDraftCode": "789562787687234",
         "acceptanceIssueDate": "2024-06-20",
         "installmentInfo": {
            "installmentExpectDate": 1602569779579,
            "installmentExpectDateZoneId": "Asia/Shanghai"
         }
      }
   ],
   "customObject": {
      "CF1393": "我是单行文本",
      "remarkText": "我是单行文本",
      "detail": [
         {
            "CF1400": "我是单行文本",
            "remarkText": "我是单行文本"
         }
      ]
   },
   "submittedTime": 1566305356934,
   "stagingFlag": true,
   "preConsumeCodeList": [
      "MK211101001"
   ],
   "contractCode": "合同code",
   "contractPaymentPlans": [
      {
         "code": "PPI2305061EKL7NK0",
         "paymentPlanAmountNow": {
            "amount": "6",
            "currency": "CNY"
         }
      }
   ],
   "acceptCcyCode": "CNY",
   "associatedForm": [
      {
         "formCode": "MK23030069",
         "formType": "PRECONSUME",
         "formSubTypeBizCode": "FT24739297869438025",
         "formSubTypeName": "测试申请单",
         "isMine": true
      }
   ],
   "budgetOccupyTime": 1566305356934,
   "budgetOccupyTimeZoneId": "Asia/Shanghai",
   "reimburseFormDataPlanPayTime": 1566305356934,
   "reimburseFormDataPlanPayTimeZoneId": "Asia/Shanghai"
}

单据级支付账户组件的请求示例(表单未配置收款明细组件):

{
   "formSubTypeBizCode": "FT1908191E6CRDA8",
   "submittedUserEmployeeId": "190013",
   "reimburseName": "报销事由",
   "legalEntityBizCode": "LEB001",
   "coverUserEmployeeId": "200066",
   "coverDepartmentBizCode": "DEPT001",
   "expenseCodes": ["EXP001"],
   "payerAccount": {
      "bankAcctName": "杭州每刻银行",
      "bankAcctNumber": "6217000010001234123",
      "paymentType": "BANK"
   }
}

响应参数

响应参数说明

字段 字段类型 字段说明
code String 返回结果
message String 返回提示
data Json 返回结果
success boolean 是否成功

参数样例

  1. 正常响应参数示例
    {
     "code": "ACK",
     "message": "操作成功",
     "data": "formCode", 
     "success": true
    }
    
  2. 每刻校验异常响应参数示例
    当每刻系统的智能审核、多维费控、预算校验异常时会返回失败
字段 字段类型 字段说明
level String 异常级别
targetClassify String 触发校验类型
targetKey String 触发校验的那条数据的Code主键,校验类型为FORM时,该字段为空
ruleClassify String 校验触发的类型
message String 校验信息
needReason boolean 是否需要理由

level 异常等级

可取值 用法含义
WARNING 警告级别的信息,一般该类级别的信息不会阻止表单提交但需要提交者确认后才能继续提交(此时单据会暂存在提单人的“我的单据”内)
ERROR 错误级别的信息,出现此级信息会阻止表单提交(系统内不可见此单据)
{
  "code": "NACK",
  "message": "系统校验失败",
  "data": [
    {
      "level": "ERROR", 
      "targetClassify": "REIMBURSE_EXPENSE", 
      "targetKey": "CODE01", 
      "ruleClassify": "BUDGET_MATCH", 
      "message": "预算组织-打车预算科目 额度870.00 报销10000.00", 
      "needReason": false 
    }
  ],
  "success": false
}

修改记录

2023-02-08  新增报销单导入文档
2023-11-09  报销单增加参与人
2024-01-09  报销单导入接口支持行程
2024-03-21  报销单导入接口支持汇款备注
2024-10-08  报销单导入接口-入参,新增"预算使用月份"字段
2025-09-24  报销单导入接口-入参,新增多合同关联字段
2026-02-24  报销单导入接口-入参,新增关联单据支持外部单据
2026-06-10  新增提单失败自动删除暂存报销单及关联费用处理参数
2026-07-02  报销单导入接口-多人收款明细新增支付账户payerAccount
2026-07-12  报销单导入接口-入参,新增单据级支付账户字段及收款明细互斥规则
2026-08-13  新增 reimburseFormDataPlanPayTimeZoneId、budgetOccupyTimeZoneId、installmentExpectDateZoneId 字段
2026-08-27  DB-61517 明确选项组类型传自定义档案明细业务编码
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 ""