/ocr/vat_invoice
1.接口描述
该 API 用于对增值税发票图片进行OCR识别,并提取关键信息。
- 图片要求:
- 格式为 JPG(JPEG),PNG
- 宽和高大于 15px,小于等于 6000px
- 小于等于 5 MB
请求方式
POST
请求 URL
http://cloudapi.deepfinch.com/ocr/vat_invoice
调试工具
2.请求参数
2.1 请求头域
字段 | 类型 | 必需 | 描述 |
---|---|---|---|
X-DF-API-ID | string | 是 | API调用凭证信息,详细信息请参考API调用 |
X-DF-API-SECRET | string | 是 | API调用凭证信息,详细信息请参考API调用 |
2.2 请求体
字段 | 类型 | 必需 | 描述 |
---|---|---|---|
file | file | 见下方注释 | 需上传的图片文件,上传本地图片进行检测时选取此参数 |
url | string | 见下方注释 | 图片网络地址,采用抓取网络图片方式时需选取此参数 |
请求参数
file
与url
必须选择其中的一个。url 中含有特殊字符,若将 URL 放入 Query String 中则需要对这些字符进行转义,所有中文和特殊字符必需以UTF-8编码转义。
目前支持 http/https 协议的网络地址。下载限时 5s,超时后仍未下载完成则属于失败。
参数file
需把图片文件的内容以 multipart/form-data 的形式放到 POST 消息体中。
3.返回参数
字段 | 类型 | 说明 |
---|---|---|
request_id | string | 本次请求的id |
status | string | 状态,正常为OK |
result | object | 识别信息, 详见result 中字段的结构 |
result
信息
字段 | 类型 | 说明 |
---|---|---|
invoice_no | string | 发票号 |
invoice_code | string | 发票代码 |
seller_name | string | 销售方名称 |
seller_bank | string | 销售方银行 |
checker | string | 复核人 |
invoice_date | string | 开票日期 |
purchaser_name | string | 购买方 |
purchaser_bank | string | 购买方开户行 |
remarks | string | 备注 |
password | string | 密码 |
seller_address | string | 销售方地址 |
purchaser_address | string | 购买方地址 |
purchaser_register_num | string | 购买方纳税人识别号 |
payee | string | 收款人 |
note_drawer | string | 开票人 |
amount_in_words | string | 大写金额 |
amount_in_figures | string | 小写金额 |
total_tax | string | 总税额 |
invoice_type | string | 发票类型 |
seller_register_num | string | 销售方纳税人识别号 |
commodities | array | 货物列表 |
medical_expands | object | 医疗类增值税扩展信息 |
其中commodities
的字段列表:
字段 | 类型 | 说明 |
---|---|---|
name | string | 名称 |
spec | string | 规格 |
price | string | 单价 |
unit | string | 单位 |
num | string | 数量 |
tax | string | 税额 |
tax_rate | string | 税率 |
amount | string | 金额 |
其中medical_expands
的字段列表:
字段 | 类型 | 说明 |
---|---|---|
patient_name | string | 姓名 |
note_no | string | 票据号码 |
note_code | string | 票据代码 |
check_code | string | 票据校验码 |
billing_date | string | 开票日期 |
total_cost | float | 总金额 |
hospital_name | string | 医院名称 |
treatment_date | string | 就诊日期 |
start_hospital_date | string | 住院开始时间 |
end_hospital_date | string | 住院结束时间 |
payments_info | array | 支付信息列表 |
cost_categories | array | 大类信息列表 |
cost_detail_list | array | 明细信息列表 |
其中payments_info
的字段列表
字段 | 类型 | 说明 |
---|---|---|
name | string | 名称 |
cost | float | 金额 |
其中cost_categories
的字段列表
字段 | 类型 | 说明 |
---|---|---|
name | string | 大类名称 |
cost | float | 大类金额 |
其中cost_detail_list
的字段列表
字段 | 类型 | 说明 |
---|---|---|
ocr_name | string | 明细名称 |
class | string | 明细所属大类 |
amount | float | 明细数量 |
cost | float | 明细金额 |
其中payments_info中name的取值
字段列表
以下字段如票面中不包含或未提取到,不做输出
字段 |
---|
医保统筹基金支付 |
其他支付 |
个人账户支付 |
个人现金支付 |
本次医保范围内金额 |
部分自付 |
个人自费 |
超限自付 |
以上字段不同地区票面打印内容不一致,我方将含义一致的词进行了统一化处理,不同增值税发票相同含义词均按以下词表中的词固定输出,如需对应的词库请联系商务索取
返回结果示例
{
"request_id": "TID70f62bf2c0a24e758ec3578b82725f8f",
"status": "OK",
"result": {
"invoice_no": "00362801",
"invoice_code": "3200153160",
"seller_name": "江苏省常州地方税务局第一税务分局",
"seller_bank": "凭证",
"checker": "李四",
"total_amount": "19417.48",
"invoice_date": "2016年04月26日",
"purchaser_name": "北京畅联电子有限公司",
"purchaser_bank": "江南农商行1234567890123",
"remarks": "开发区雨虹电子有限公司。代开企业税号39999",
"password": "/78>/01686<+29654/57951<>9+80>54209<6<5*>7>7<87/0/--88>>33><米10+39<7<9*>6>7<5+80/><284<-65774>56485770/<826",
"seller_address": "宁波市海南略24号甲5866666",
"purchaser_address": "北京市海淀区绕灌里1号623499999",
"purchaser_register_num": "110101259999999",
"payee": "张三",
"note_drawer": "王五",
"amount_in_words": "万圆整",
"amount_in_figures": "20000.00",
"total_tax": "582.52",
"invoice_type": "专用发票",
"seller_register_num": "320400099999",
"commodities": [
{
"name": "商品房",
"spec": "",
"price": "19417.475728",
"unit": "",
"num": "1",
"tax": "582.52",
"amount": "19417.48",
"tax_rate": "3%"
}
],
"medical_expands": {
"patient_name": "深智",
"note_no": "711196782",
"note_code": "021111100104",
"check_code": "0279911113719152212",
"billing_date": "2024-04-26",
"total_cost": 216.0,
"hospital_name": "自营医院有限公司",
"treatment_date": "2024-04-26",
"payments_info": [
{
"name": "个人现金支付",
"cost": 216.0
}
],
"start_hospital_date": null,
"end_hospital_date": null,
"cost_categories": [
{
"name": "医疗服务",
"cost": 216.0
}
],
"cost_detail_list": [
{
"ocr_name": "X线计算机体层(CT)螺旋扫描(4-64层,不含64层)",
"class": "医疗服务",
"amount": 1.0,
"cost": 216.0
}
]
}
}
}
4.错误码
状态码 | status 字段 |
说明 |
---|---|---|
400 |
INVALID_ARGUMENT | 请求参数错误 |
400 |
DETECTION_FAILED | 图片检测失败 |
400 |
DOWNLOAD_ERROR | 网络地址图片获取失败 |
401 |
UNAUTHORIZED | 未授权或授权失败 |
401 |
KEY_EXPIRED | 账号过期 |
403 |
NO_PERMISSION | 无调用权限 |
403 |
OUT_OF_QUOTA | 调用次数超出限额 |
403 |
RATE_LIMIT_EXCEEDED | 调用频率超出限额 |
404 |
NOT_FOUND | 请求路径错误 |
500 |
INTERNAL_ERROR | 服务器内部错误 |
备注: 以上40X系列错误描述请参考reason
字段
输出样例
{
"status": "UNAUTHORIZED",
"reason": "authentication failed",
"request_id": "TID8bf47ab6eda64476973cc5f5b6ebf57e"
}