发票文件导入(含OCR识别)接口

说明

您可以通过调用该接口,来将您系统内的发票文件导入到每刻的报销系统中。接口识别验真后,会生成新费用或绑定到传入的费用中。

注意事项

  1. 若是expenseCode有值,则仅将发票关联至费用,不对费用信息做更新。
  2. 调用此接口前,请确认企业已开通识票功能,否则调用失败。
  3. 若导入费用成功,不管存在账本还是被报销单关联,都不允许再次导入相同发票(每刻会查重)。
  4. 若传了expenseCode,且同一expenseCode多次调用,则会插入传入的发票文件而不是覆盖。

接口地址

/api/openapi/invoice/import-invoice-pic

接口限制

限流:2次/秒

请求类型

POST

请求参数

参数说明

字段名称 字段类型 是否必填 字段说明
fileUrl String(100) 获取文件内容的地址,与文件 base64 二选一,优先使用文件访问地址。需是http/https,且可被公网访问的地址
fileBase64 String 文件的 base64 值,与文件访问地址二选一,优先使用文件访问地址
fileType String 文件的类型,仅支持 JPG、PNG、PDF和OFD 四种格式
employeeId String 发票和费用最终将写入到此员工账号下
expenseCode String 发票将绑定在传入的费用下,此值不为空时,将不生成新的费用。指费用导入接口导入成功后返回的code。
allInvoiceBindToOneExpense boolean 如果传入的发票文件包含多张发票,可选择将发票拆到多条费用中,或者不拆分绑定在一条费用下。
若传expenseCode,此参数无效(即绑定该图片识别的所有发票);
若不传expenseCode且此参数设为true,则只新生成一条费用(绑定该图片识别的所有发票);
若不传expenseCode且此参数设为false,则每张发票生成一条费用并绑定对应发票;

参数样例

{
  "fileBase64":"eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJtYXljdXJfand0X2Rldl9p",
  "fileUrl":"https://ng.maycur.com/iamge/filename",
  "fileType":"JPG",
  "employeeId":"MK00001",
  "expenseCode":"FD231231",
  "allInvoiceBindToOneExpense":"true"
}

响应参数

响应参数说明(data)

字段名称 字段类型 是否必填 字段说明
invoiceDataCode String 每刻系统内发票唯一编码
expenseCode String 传入或新生成的费用的唯一编码
invoiceNumber String 发票号码
invoiceCode String 发票代码
type String 发票类型

InvoiceDto 发票

字段名称 字段类型 是否必填 字段说明
invoiceDataCode String(25) 发票code
reimburseCode String(50) 单据号
userCode String(50) 用户内码
buyerName String 购方名称
buyerTaxNumber String 购方税号
invoiceCode String 发票代码
invoiceNumber String 发票号码
issueDate String 开票时间
totalPriceAmount String 不含税金额
totalTaxAmount String 税额
totalPriceAndTax String 价税合计
supplierName String 销方名称
supplierAddress String 销方地址和电话
invoiceTypeDesc String 发票类型描述
invoiceTypeEnum String 发票类型编码
validateStatus String 发票验真状态编码,见下表
validateStatusDesc String 发票验真状态描述,见下表
importedAt Long 导入时间戳
importedAtYearMonth String 导入年月
ticketData String 发票一些相关信息
approvedTaxAmount AmountInput 税额
approvedDeductionAmount AmountInput 抵扣税额
supplierTaxNumber String 销方税号
supplierAccount String 销方账户(销方开户行+账户)非增值税发票和未验真的发票:该字段内容为空字符串
source string 发票来源编码。OPENAPI_IMPORT:接口导入
sourceDesc string 发票来源描述。OPENAPI_IMPORT:接口导入
lineItems List< lineItemsDto > 货物明细,见下表
buyerAccount String 购方账户(购方开户行+账户)非增值税发票和未验真的发票:该字段内容为空字符串
buyerAddressPhone String 购方地址和电话
attachmentFiles List< FileInfo > 发票对象,见下表
taxRate String 税率
companySeal String 有无专用章
invoiceRemark String 发票备注
invoiceTaxDtoList List< InvoiceTaxDto > 发票税额明细,见下表
cancellationMark String 发票作废状态
cancellationMarkUpdateTime String 发票作废状态更新时间
supplierUnusual String 销售方异常状态
supplierUnusualUpdateTime String 销售方异常状态更新时间

FileInfo 附件信息

字段名称 字段类型 是否必填 字段说明
code String(25) 内部code
mimeType String(50) 文件类型:image/png
filename String(25) 文件名称
type String 文件类型:image/png
downloadUrl String 源文件下载地址,有时效性,7天有效期
originalUrl String 预览图地址,有时效性,7天有效期
thumUrl String 缩略图地址,有时效性,7天有效期
imageUrl String 发票图片地址,有时效性,7天有效期(用户上传的原始图片),若上传的文件是pdf,此参数返回“images/pdf.png”)

lineItemsDto 货物明细

字段名称 字段类型 是否必填 字段说明
code String(25) 明细编码
invoiceDataCode String(25) 发票code
name String(25) 货物名称
priceAmount BigDecimal 金额
taxRate BigDecimal 税率
taxAmount BigDecimal 税额
num BigDecimal 数量
specificationModel String 规格型号
unit String 单位
unitPrice BigDecimal 单价
taxRateMark String 税率标记
taxRateMarkDesc String 税率标记描述
expenseCode String 费用编码
invoiceType String 发票类型

InvoiceTaxDto 发票抵扣

字段名称 字段类型 是否必填 字段说明
taxableDetails String(25) 应税明细
taxRate String(25) 税率
approvedDeductionAmount AmountInput 抵扣税额
approvedTaxAmount AmountInput 税额
transferOut String 是否转出

validateStatus(验真状态)对应validateStatusDesc(验真状态解释说明)

验真状态 验真状态解释说明
NOT_VALIDATION 未验真
VALIDATED 已验真
VALIDATION_FAILED 验真失败

AmountInput 金额

字段名称 字段类型 是否必填 字段说明
currency String(3) 币种
amount BigDecimal 金额
customExchangeRate BigDecimal 汇率
amountStr String 带币种金额

错误码

错误码 描述 解决方案
AUTH0007 员工不存在 请确认传入的员工编号是否存在
EXPENSE_ERR_13 费用不存在,当传入的 expenseCode 不为空时可能返回 请检查费用是否被移除或删除,是否属于传入的员工
EXPENSE_ERR_58 费用关联的报销单为非可编辑状态,即处于流程中或已完成,当传入的 expenseCode 不为空时可能返回 流程中的报销单可选择召回报销单。已完成的报销单,请重新创建再操作
INV20006 传入的文件无法识别 请确认传入的是否为发票文件
INV20002 发票无法保存 请确认是否已导入过发票或发票已报废
INV30109 发票文件超过 8M 将文件压缩至小于 8M
INV30002 发票文件无法访问 请确认发票访问地址无异常可正常访问或文件 base64 值无异常
INV30104 发票文件类型错误 请确认发票文件访问地址下的文件内容为 JPG、PNG、PDF 或 OFD 中的其中一种

响应参数样例

{
  "code": "ACK",
  "message": null,
  "data": [
    {
      "invoiceDataCode": "INV123293506094510086",
      "userCode": "UI2012221C97WQDC",
      "expenseCode": "FD123293507650590747",
      "qrCode": "",
      "buyerName": "杭州每刻科技有限公司",
      "buyerTaxNumber": "91330108341927699X",
      "invoiceCode": "033002300611",
      "invoiceNumber": "99007885",
      "issueDate": 1719417600000,
      "totalPriceAmount": 3.67,
      "totalTaxAmount": 0.33,
      "totalPriceAndTax": 4.00,
      "supplierName": "杭州地铁运营有限公司",
      "supplierAddress": "浙江省杭州市上城区九和路466号3幢12层0571-96600",
      "invoiceTypeDesc": "增值税电子普通发票(客运服务)",
      "invoiceTypeEnum": "SHIPMENT_VAT",
      "attachments": [
        {
          "entCode": null,
          "code": "ATT123293506390202413",
          "resourceKey": "maycur001/caeaf520-db1f-47d9-a09b-f37a288efce1.pdf",
          "associatedWith": "invoice",
          "associatedCode": "INV123293506094510086",
          "createdBy": null,
          "createdAt": 1731293325217,
          "filename": "caeaf520-db1f-47d9-a09b-f37a288efce1.pdf",
          "type": "application/pdf",
          "isQrCodePic": false,
          "coordinates": "0,0,2000,1333",
          "orientation": 0.0,
          "mimeType": null,
          "originalUrl": "",
          "thumUrl": "",
          "ratioFixedThumbUrl": null,
          "imageUrl": null,
          "size": null,
          "downloadUrl": "",
          "pageNumber": 0,
          "isOriginalFile": true,
          "pdfDownLoadUrl": null,
          "originalFile": true,
          "qrCodePic": false,
          "validFileName": "caeaf520-db1f-47d9-a09b-f37a288efce1.pdf"
        }
      ],
      "attachmentFiles": null,
      "validateStatus": "VALIDATED",
      "validateStatusDesc": "已验真",
      "remark": "成功",
      "importedAt": 1731293325160,
      "importedAtYearMonth": "202411",
      "hasQrCodePic": false,
      "processing": false,
      "auditLogs": null,
      "invoicePDFUrl": null,
      "invoiceImgUrl": null,
      "invoiceDateStr": null,
      "invoiceStatus": null,
      "invoiceTitleConflict": false,
      "invoiceTitleConflictWithFee": false,
      "mainAttachment": null,
      "correlatedReimburseDataCode": null,
      "correlatedReimburseCode": null,
      "ticketData": {
        "consumeTime": 1719417600000,
        "machineCode": "661103102500",
        "city": "",
        "drawer": "田定河",
        "reviewer": "赵美红",
        "consumeStartDate": 1719417600000,
        "payee": "秦宁",
        "number": "",
        "province": "浙江省",
        "codeConfirm": "",
        "consumeEndDate": 1719417600000,
        "location": "domestic-ZH32-ZH32_1-ZH32_1_01",
        "numberConfirm": "",
        "invoiceSheetType": ""
      },
      "taxDedectCode": "",
      "approvedTaxAmount": {
        "amount": 0.00,
        "currency": "CNY",
        "customExchangeRate": 1,
        "amountStr": "¥0.00"
      },
      "approvedDeductionAmount": {
        "amount": 0.00,
        "currency": "CNY",
        "customExchangeRate": 1,
        "amountStr": "¥0.00"
      },
      "auditDetailJson": null,
      "customTaxFlag": false,
      "identityFlag": true,
      "errorMessage": null,
      "errorCode": null,
      "taxRate": 0,
      "valueAddedTaxRate": null,
      "supplierTaxNumber": "91330102MA7F72672F",
      "modify": false,
      "modifySwitch": false,
      "vouchers": null,
      "wxCardId": "",
      "wxEncryptCode": "",
      "wxOpenId": "",
      "billNum": null,
      "expenseTypeList": null,
      "expenseType": null,
      "employeeId": "",
      "employeeName": "",
      "buyerAddressPhone": "",
      "buyerAccount": "",
      "supplierAccount": "中国建设银行股份有限公司杭州秋涛支行营业部33050110438609666666",
      "reimburseStatus": null,
      "reimburseStatusDesc": null,
      "issueDateDesc": null,
      "source": "OPENAPI_IMPORT",
      "sourceDesc": "OPENAPI_IMPORT",
      "companySeal": true,
      "invoiceTaxDtoList": [],
      "updateRecord": [],
      "invoiceRemark": "",
      "invoiceSheet": 1,
      "agentMark": "",
      "cancellationMark": "NOT_INVALID",
      "cancellationMarkDesc": null,
      "sourceCode": "",
      "invoiceStateCode": null,
      "invoiceStateRemark": null,
      "validationResult": null,
      "complete": true,
      "thirdInvoiceDataCode": "",
      "invoiceDeductionStatus": null,
      "electronicVoucher": null,
      "electronicVoucherFiles": null,
      "verificaitonChannel": "",
      "title": "",
      "dynaFormCode": "MOCK_FORM_CODE_SHIPMENT_VAT",
      "electronic": true,
      "customObject": null,
      "cancellationMarkUpdateTime": null,
      "supplierUnusual": null,
      "supplierUnusualUpdateTime": null,
      "sourceScanner": null,
      "invoiceCodeNumber": "03300230061199007885",
      "notCanVerify": false,
      "checksum": "60258258882690380411",
      "type": "-997",
      "lineItems": [
        {
          "code": "IGI123293506352453681",
          "invoiceDataCode": "INV123293506094510086",
          "name": "*运输服务*地铁票",
          "priceAmount": 3.670000,
          "taxRate": 0.090000,
          "taxAmount": 0.330000,
          "num": 1.0,
          "specificationModel": "",
          "unit": "",
          "unitPrice": 3.669725,
          "taxRateMark": null,
          "taxRateMarkDesc": null,
          "expenseCode": "FD123293507650590747",
          "invoiceType": "-997"
        }
      ],
      "splitted": false
    }
  ],
  "errorCode": null,
  "success": true
}

修改记录

2023-02-08  新增发票文件导入(含OCR识别)接口文档
Copyright © 杭州每刻科技有限公司 www.maycur.com all right reserved,powered by Gitbook该文件修订时间: 2024-11-20 10:52:00

results matching ""

    No results matching ""

    results matching ""

      No results matching ""