发票导入接口
说明
您可以通过调用该接口,来将您系统内的发票信息导入到每刻的报销系统中。您需要按照接口要求,来传递发票信息,之后每刻会自动将发票匹配到对应的费用类型,在指定用户的账户下,自动产生未报销的费用。
注意事项
- 可以只导入发票编码、发票号、发票校验码等关键信息,作为查重条件。
- 单次导入最多为10条数据,如果超过该数据量则会抛出异常信息。
- 本接口采用部分失败模式,一条数据失败不影响其他正确数据,且返参repeatInvoices仅包含异常数据。
- 如果接口传入了费用CODE(expenseCode),那么就不再自动生成费用,而是绑定在传入的费用CODE中。
- 若只有发票url,可以调用发票文件导入(含OCR识别)接口导入发票,并自动OCR识别生成费用。
- 若导入费用(含发票)成功,不管存在账本还是被报销单关联,都不允许再次导入相同发票(每刻会查重)。
接口地址
/api/openapi/invoice/import
请求类型
POST
请求参数
参数说明
字段名称 |
字段类型 |
是否必填 |
字段说明 |
employeeId |
String(100) |
是 |
员工工号 |
invoiceList |
List<InvoiceDto> |
是 |
发票列表 |
InvoiceDto 发票对象
字段名称 |
字段类型 |
是否必填 |
字段说明 |
invoiceCode |
String |
否 |
发票代码 |
expenseCode |
String |
否 |
发票需要关联的费用CODE,传入此参数将不再自动生成费用 |
invoiceNumber |
String |
否 |
发票号码 |
checkCode |
String |
否 |
校验码 |
status |
String |
否 |
验真状态,枚举值: NOT_VALIDATION 未验真 VALIDATED 已验真 VALIDATION_FAILED 验真失败 NOT_SUPPORT_VALIDATION 不支持验真
|
buyerName |
String |
否 |
购方名称 |
buyerTaxNumber |
String |
否 |
购方税号 |
invoiceType |
String |
否 |
发票类型编码 |
items |
String |
否 |
货物明细,见下表 |
supplierName |
String |
否 |
销方名称 |
supplierAddress |
String |
否 |
销方地址和电话 |
supplierTaxNumber |
String |
否 |
销方税号 |
ticketData |
String |
是 |
发票ticketData信息 |
issueDate |
Long |
否 |
开票时间 |
totalPriceAndTax |
BigDecimal |
否 |
发票含税金额 |
totalPriceAmount |
BigDecimal |
否 |
不含税金额 |
totalTaxAmount |
BigDecimal |
否 |
税额 |
invoicePDFUrl |
String |
否 |
发票pdf地址,需要能够使用get请求直接访问。需是http/https,且可被公网访问的地址 |
invoiceImgUrl |
String |
否 |
发票图片地址,需要能够使用get请求直接访问。需是http/https,且可被公网访问的地址 |
items 货物明细
字段名 |
类型 |
说明 |
必填性 |
name |
String |
名称 |
否 |
priceAmount |
BigDecimal |
含税金额 |
否 |
taxRate |
BigDecimal |
税率 |
否 |
taxAmount |
BigDecimal |
税额 |
否 |
num |
int |
数量 |
否 |
specificationModel |
String |
规格 |
否 |
unit |
String |
单位 |
否 |
unitPrice |
BigDecimal |
单价 |
否 |
参数样例
{
"employeeId": "RE00001",
"invoiceList":[
{
"invoiceCode": "033001700211",
"expenseCode": "FD3215412416543",
"invoiceNumber": "05163151",
"checkCode": "61561293271279245060",
"status": "VALIDATED",
"buyerName": "杭州每刻科技",
"buyerTaxNumber": "15260000000000000G",
"invoiceType": "VAT_PAPER",
"items": [{
"name": "明细名称",
"priceAmount": 200.00,
"taxRate": 0.05,
"taxAmount": 10.00,
"num": 10,
"specificationModel": "每刻-简易版",
"unit": "人",
"unitPrice": 20.00
}],
"supplierName": "杭州每刻科技",
"supplierAddress": "杭州市未来科技城",
"supplierTaxNumber": "15260000000000000G",
"ticketData": {
},
"issueDate": 1580289383747,
"totalPriceAndTax": 200.00,
"totalPriceAmount": 190.00,
"totalTaxAmount": 10.00,
"invoicePDFUrl": "https:xxx.com/files/xxxx.pdf",
"invoiceImgUrl": "https:xxx.com/images/xxxx.jpeg"
}
]
}
响应参数
响应参数说明
字段名称 |
字段类型 |
是否必填 |
字段说明 |
repeatInvoices |
List<InvoiceImportDto> |
是 |
发票导入结果对象 |
InvoiceImportDto 发票导入结果
字段名称 |
字段类型 |
是否必填 |
字段说明 |
message |
String |
是 |
发票异常信息 |
invoiceCode |
String |
是 |
发票编号 |
invoiceNumber |
String |
是 |
发票编号 |
响应参数样例
{
"code": "ACK",
"message": "更新成功",
"data": {
"repeatInvoices": [
{
"message": "该发票已被你录入费用",
"invoiceCode": "123001700211",
"invoiceNumber": "26163151"
}
]
}
}
修改记录
2023-02-08 新增发票导入接口文档