财务票据OCR识别
企业用户实名使用
个人用户实名使用
财务票据智能OCR识别,支持票据混贴,支持常见的十余种票据智能智能识别,包括增值税发票、卷票、机打发票、定额发票、火车票、出租车票、网约车行程单、飞机行程单、汽车票、过路过桥费、船票、机动车/二手车销售发票 等等。采用业界领先的技术模型,识别率高达99.9以上。
价格
0 元/50次
新用户免费体验,自购买起有效期1个月

### 接口描述 - 支持财务场景中13种常见票据的识别,包括增值税发票、卷票、机打发票、定额发票、火车票、出租车票、网约车行程单、飞机行程单、汽车票、过路过桥费、船票、机动车/二手车销售发票 - 支持多张不同种类票据在同一张图片上的混贴场景,可返回每张票据的种类及票面信息的识别结果 ### 请求地址 `https://api.jumdata.com/ocr/finance-bill` ### 请求方式 - POST ### 请求格式 - x-www-form-urlencoded ### 请求参数 | 名称 | 类型 | 是否必填 | <div style="width:350px;">说明</div> | | --- | --- | --- | --- | | appId| String | 是 | 聚美智数分配的唯一标识 | | timestamp | Long | 是 | 当前时间戳(毫秒数) | | sign | String | 是 | 签名,见签名算法说明 | | productCode | String | 是 | 产品编号,固定值:finance_bill_OCR | | image | String | 否 | 发票图片,发票图片Base64 | | pdf | String | 否 | 发票pdf,发票pdf文件的Base64 | | pdfFileNum | String | 否 | 识别pdf文件的页码,不传默认识别第1页 | | ofd | String | 否 | 发票ofd,发票ofd文件Base64 | | ofdFileNum | String | 否 | 识别ofd文件的页码,不传默认识别第1页 | | url | String | 否 | 发票url,发票图片、pdf文件或ofd文件的url | - image、pdf、ofd、file、url 必须提供一个,优先级:image > pdf > ofd > file > url - 发票图片、pdf或odf文件不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 - 发票图片支持jpg/jpeg/png/bmp格式 ### 签名算法 ``` java sign = sha256(appId + appSecret + timestamp) ``` 用聚美智数分配的 **appId**、聚美智数分配的 **appSecret**,当前时间戳 **timestamp**,按上述顺序拼接成字符串,再进行 **sha256** 哈希得到。如下: ``` java String appId = "xyzxy2121zxyz"; String timestamp = "1555378976238"; String appSecret = "efcefcef1121cefcefc1212121"; String str = appId + appSecret + timestamp; String sign = sha256(str); ``` ### 正确返回 ``` json { "data": { "resultCount": 2, "results": [ // 识别结果,多张不同种类的票据,混贴在一起,返回多个 { "type": "vat_invoice", // 票据种类, 详见type字段说明 "detail": { //单张票据的识别结果,详见detail说明 } } ], "pdfSize":1, //传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 }, "code": 200, // 详见code返回码说明 "msg": "成功", // code 对应的描述 "charge": true, // 计费标志 "taskNo": "30853523396532582768", // 本次请求号 } ``` ### 错误返回 ``` json { "msg": "照片格式不正确", "code": 400 } ``` ### 公共返回字段 | 字段名 | <div style="width:350px;">说明 </div> | | --- | --- | | code | 返回码,详见:返回码说明 | | msg | code对应的说明,详见:返回码说明| | taskNo | 本次请求号 | | charge | 计费标志 | | data | 详见正确返回体 | ### code 返回码说明 | code | <div style="width:350px;">说明</div> | | --- | --- | | 200 | 成功 (计费) | | 400 | 参数错误 | | 404 | 接口地址不正确 | | 500 | 服务商维护,请稍候再试 | | 601 | 接口未开通,请联系聚美智数服务商 | | 602 | 账号已停用 | | 603 | 余额不足,请充值 | | 604 | 接口已停用 | | 605 | 次数不足,请购买套餐 | | 606 | 调用超限,请稍候再试 | | 607 | ip不在白名单 | | 609 | 请求过于频繁,请稍候再试 | | 610 | 请求超时 | | 999 | 其他,以实际返回为准 | #### type 字段说明 | type | <div style="width:420px">说明</div> | | - | - | | vat_invoice | 增值税专用发票 | | taxi_receipt | 出租车票 | | train_ticket | 火车票 | | quota_invoice | 定额发票 | | air_ticket | 飞机行程单 | | roll_normal_invoice | 增值税普通发票(卷票) | | printed_invoice | 机打发票 | | bus_ticket | 汽车票 | | toll_invoice | 过路过桥费发票 | | ferry_ticket | 船票 | | motor_vehicle_invoice | 机动车销售发票 | | used_vehicle_invoice | 二手车发票 | | taxi_online_ticket | 网约车行程单 | | limit_invoice | 限额发票 | | shopping_receipt | 购物小票 | | pos_invoice | POS小票 | | others | 其他 | #### 增值税发票 type 的返回结果为 vat_invoice,即“增值税发票”时,识别结果的返回字段如下: | 字段名 | <div style="width:420px">说明</div> | | - | - | | ServiceType | 发票消费类型。不同消费类型输出:餐饮、电器设备、通讯、服务、日用品食品、医疗、交通、其他 | InvoiceTypeOrg | 发票名称 | InvoiceType | 增值税发票的细分类型。 不同细分类型的发票输出:普通发票、专用发票、电子普通发票、电子专用发票、通行费电子普票、区块链发票、通用机打电子发票、电子发票(专用发票)、电子发票(普通发票) | InvoiceTag | 增值税发票左上角标志。 包含:通行费、销项负数、代开、收购、成品油、其他 | InvoiceCode | 发票代码 | InvoiceNum | 发票号码 | InvoiceCodeConfirm | 发票代码的辅助校验码,一般业务情景可忽略 | InvoiceNumConfirm | 发票号码的辅助校验码,一般业务情景可忽略 | CheckCode | 校验码。增值税专票无此参数 | InvoiceNumDigit | 数电票号码。密码区部分的数电票号码,仅在纸质的数电票上出现 | InvoiceDate | 开票日期 | PurchaserName | 购方名称 | PurchaserRegisterNum | 购方纳税人识别号 | PurchaserAddress | 购方地址及电话 | PurchaserBank | 购方开户行及账号 | Password | 密码区 | Province | 省 | City | 市 | SheetNum | 联次信息。专票第一联到第三联分别输出:第一联:记账联、第二联:抵扣联、第三联:发票联;普通发票第一联到第二联分别输出:第一联:记账联、第二联:发票联 | Agent | 否代开 | OnlinePay | 子支付标识。仅区块链发票含有此参数 | SellerName | 销售方名称 | SellerRegisterNum | 销售方纳税人识别号 | SellerAddress | 销售方地址及电话 | SellerBank | 销售方开户行及账号 | TotalAmount | 合计金额 | TotalTax | 合计税额 | AmountInWords | 价税合计(大写) | AmountInFiguers | 价税合计(小写) | Payee | 收款人 | Checker | 复核 | NoteDrawer | 开票人 | Remarks | 备注 | CommodityName | 货物名称 | CommodityType | 规格型号 | CommodityUnit | 单位 | CommodityNum | 数量 | CommodityPrice | 单价 | CommodityAmount | 金额 | CommodityTaxRate | 税率 | CommodityTax | 税额 | CommodityPlateNum | 车牌号。仅通行费增值税电子普通发票含有此参数 | CommodityVehicleType | 类型。仅通行费增值税电子普通发票含有此参数 | CommodityStartDate | 通行日期起。仅通行费增值税电子普通发票含有此参数 | CommodityEndDate | 通行日期止。仅通行费增值税电子普通发票含有此参数 #### 出租车票 type 的返回结果为 taxi_receipt,即“出租车票”时,识别结果的返回字段如下 | 字段名 | <div style="width:420px">说明</div> | | - | - | | ServiceType | 发票消费类型。出租车票此字段固定输出:交通 | InvoiceCode | 发票代号 | InvoiceNum | 发票号码 | TaxiNum | 车牌号 | Date | 日期 | Time | 上下车时间 | PickupTime | 上车时间 | DropoffTime | 下车时间 | Fare | 金额 | FuelOilSurcharge | 燃油附加费 | CallServiceSurcharge | 叫车服务费 | TotalFare | 总金额 | Location | 开票城市 | Province | 省 | City | 市 | PricePerkm | 单价 | Distance | 里程 #### 火车票 type 的返回结果为 train_ticket,即“火车票”时,识别结果的返回字段如下 | 字段名 | <div style="width:420px">说明</div> | | - | - | | ServiceType | 发票消费类型。火车票此字段固定输出:交通 | ticket_num | 车票号 | starting_station | 始发站 | train_num | 车次号 | destination_station | 到达站 | date | 出发日期 | ticket_rates | 车票金额 | seat_category | 席别 | name | 乘客姓名 | ID_card | 身份证号 | serial_number | 序列号 | sales_station | 售站 | time | 时间 | seat_num | 座位号 | Waiting_area | 候检区 | word | 识别结果字符串,以上各字段均包含 #### 定额发票 type 的返回结果为 quota_invoice,即“定额发票”时,识别结果的返回字段如下 | 字段名 | <div style="width:420px">说明</div> | | - | - | | ServiceType | 发票消费类型。定额发票此字段固定输出:交通 | invoice_code | 发票代码 | invoice_number | 发票号码 | invoice_rate | 金额 | invoice_rate_in_figure | 金额小写 | invoice_rate_in_word | 金额大写 | Province | 省 | City | 市 | Location | 发票所在地 | invoice_type | 发票名称 #### 飞机行程单 type 的返回结果为 air_ticket,即“飞机行程单”时,识别结果的返回字段如下 | 字段名 | <div style="width:420px">说明</div> | | - | - | | ServiceType | 发票消费类型。飞机行程单此字段固定输出:交通 | name | 姓名 | starting_station | 始发站 | destination_station | 目的站 | flight | 航班号 | date | 日期 | ticket_number | 电子客票号码 | fare | 票价 | dev_fund | 民航发展基金/基建费 | oil_money | 燃油附加费 | other_tax | 其他税费 | ticket_rates | 合计金额 | start_date | 填开日期 | id_no | 身份证号 | carrier | 承运人 | time | 时间 | issued_by | 订票渠道 | serial_number | 印刷序号 | insurance | 保险费 | fare_basis | 客票级别 | class | 座位等级 | agent_code | 销售单位号 | endorsement | 签注 | allow | 免费行李 | ck | 验证码 | effective_date | 客票生效日期 | expiration_date | 有效期截止日期 #### 卷票 type 的返回结果为 roll_normal_invoice,即“卷票”时,识别结果的返回字段如下 | 字段名 | <div style="width:420px">说明</div> | | - | - | | InvoiceType | 发票名称 | InvoiceCode | 发票代码 | InvoiceNum | 发票号码 | MachineNum | 机打号码。仅增值税卷票含有此参数 | MachineCode | 机器编号。仅增值税卷票含有此参数 | InvoiceDate | 开票日期 | PurchaserName | 购方名称 | PurchaserRegisterNum | 购方纳税人识别号 | SellerName | 销售方名称 | SellerRegisterNum | 销售方纳税人识别号 | TotalTax | 价税合计 | AmountInWords | 合计金额(大写) | AmountInFiguers | 合计金额(小写) | Payee | 收款人 | CheckCode | 校验码。增值税专票无此参数 | Province | 省 | City | 市 | CommodityName | 货物名称 | CommodityNum | 数量 | CommodityPrice | 单价 | CommodityAmount | 金额 #### 机打发票 type 的返回结果为 printed_invoice,即“机打发票”时,识别结果的返回字段如下 | 字段名 | <div style="width:420px">说明</div> | | - | - | | ServiceType | 发票消费类型。不同消费类型输出:餐饮、电器设备、通讯、服务、日用品食品、医疗、交通、其他 | InvoiceType | 发票类型 | InvoiceCode | 发票代码 | InvoiceNum | 发票号码 | InvoiceDate | 开票日期 | AmountInFiguers | 合计金额小写 | AmountInWords | 合计金额大写 | MachineNum | 机打号码 | CheckCode | 校验码 | SellerName | 销售方名称 | SellerRegisterNum | 销售方纳税人识别号 | PurchaserName | 购买方名称 | PurchaserRegisterNum | 购买方纳税人识别号 | TotalTax | 合计税额 | Province | 省 | City | 市 | Time | 时间 | SheetNum | 联次 | CommodityName | 商品名称 | CommodityUnit | 商品单位 | CommodityPrice | 商品单价 | CommodityNum | 商品数量 | CommodityAmount | 商品金额 #### 汽车票 type 的返回结果为 bus_ticket,即“汽车票”时,识别结果的返回字段如下 | 字段名 | <div style="width:420px">说明</div> | | - | - | | ServiceType | 发票消费类型。汽车票此字段固定输出:交通 | InvoiceCode | 发票代码 | InvoiceNum | 发票号码 | Date | 日期 | Time | 时间 | ExitStation | 出发站 | Amount | 金额 | IdCard | 身份证号 | ArrivalStation | 到达站 | Name | 姓名 | InvoiceTime | 开票日期 #### 过路过桥费 type 的返回结果为 toll_invoice,即“过路过桥费”时,识别结果的返回字段如下 | 字段名 | <div style="width:420px">说明</div> | | - | - | | ServiceType | 发票消费类型。过路过桥费此字段固定输出:交通 | InvoiceCode | 发票代码 | InvoiceNum | 发票号码 | Entrance | 入口 | Exit | 出口 | OutDate | 日期 | OutTime | 时间 | TotalAmount | 金额 | Province | 省 | City | 市 #### 船票 type 的返回结果为 toll_invoice,即“船票”时,识别结果的返回字段如下 | 字段名 | <div style="width:420px">说明</div> | | - | - | | ServiceType | 发票消费类型。船票此字段固定输出:交通 | InvoiceType | 发票类型 | InvoiceCode | 发票代码 | InvoiceNum | 发票号码 | ExitStation | 出发地点 | ArrivalStation | 到达地点 | Amount | 总金额 | Date | 开票日期 | MoneyType | 金额类型 | BarCode | 条码 | BarCodeNum | 条码编号 | City | 市 | Province | 省 | InvoiceTitle | 发票抬头,这里指该张船票的运行公司名 | QrCode | 二维码 | Time | 出发时间 | TicketTime | 制票时间 | TicketDate | 制票日期 | PassengerName | 乘客姓名 | IdCard | 乘客身份证号 #### 机动车销售发票 type 的返回结果为 motor_vehicle_invoice,即“机动车销售发票”时,识别结果的返回字段如下 | 字段名 | <div style="width:420px">说明</div> | | - | - | | date | 开票日期 | fapiao-daima | 发票代码/机打代码 | fapiao-haoma | 发票号码/机打号码 | printed-daima | 机打代码 | printed-haoma | 机打号码 | machine-num | 机器编号 | buyer-name | 购买方名称 | payer-tax-num | 购买方身份证号码/组织机构代码 | car-class | 车辆类型 | car-model | 厂牌型号 | product-location | 产地 | certificate-num | 合格证号 | engine-num | 发动机号码 | vin-num | 车架号码 | price-tax-big | 价税合计 | price-tax-small | 价税合计小写 | saler | 销货单位名称 | saler-phone | 销货单位电话 | saler-tax-num | 销货单位纳税人识别号 | saler-bank-num | 销货单位账号 | saler-address | 销货单位地址 | saler-bank | 销货单位开户银行 | tax-rate | 税率 | tax | 税额 | tax-jiguan | 主管税务机关 | tax-jiguan-daima | 主管税务机关代码 | price | 不含税价格 | limit-mount | 限乘人数 | toonage | 吨位 | sheet-num | 联次 | drawer | 开票人 | remarks | 备注 | import-certificate-num | 进口证明书号 | tax-payment-voucher-no | 完整凭税编号 | inspection-form-num | 商检单号 #### 二手车销售发票 type 的返回结果为 used_vehicle_invoice,即“二手车销售发票”时,识别结果的返回字段如下 | 字段名 | <div style="width:420px">说明</div> | | - | - | | invoice_code | 发票代码 | invoice_num | 发票号码 | date | 开票日期 | tax_code | 税控码 | buyer | 买方 | buyer_id | 买方身份证号 | buyer_station | 买方地址 | buyer_tel | 买方电话 | saler | 卖方 | saler_id | 卖方身份证号 | saler_station | 卖方地址 | saler_tel | 卖方电话 | car_plate | 车牌号 | car_certificate | 登记证号 | car_class | 车辆类型 | vin_num | 车架号 | model | 厂牌型号 | to_station | 转入地车管所名称 | big_price | 车价合计大写 | small_price | 车价合计小写 | car_market | 二手车市场 | tax_num | 纳税人识别号 | tax_location | 纳税人地址 | tax_tel | 纳税人电话 | sheet_num | 联次 #### 网约车行程单 type 的返回结果为 taxi_online_ticket,即“网约车行程单”时,识别结果的返回字段如下 | 字段名 | <div style="width:420px">说明</div> | | --- | --- | | ServiceType | 发票消费类型。网约车行程单此字段固定输出:交通| | service_provider | 服务商| | start_time | 行程开始时间| | destination_time | 行程结束时间| | phone | 行程人手机号| | application_date | 申请日期| | total_fare | 总金额| | item_num | 行程信息中包含的行程数量| | items | 行程信息| | item_id | 行程信息的对应序号| | item_provider | 行程信息的对应服务商| | pickup_time | 上车时间| | pickup_date | 上车日期|| | car_type | 车型| | distance | 里程|| | start_place | 起点| | destination_place | 终点| | city | 城市| | fare | 金额|

接口描述

  • 支持财务场景中13种常见票据的识别,包括增值税发票、卷票、机打发票、定额发票、火车票、出租车票、网约车行程单、飞机行程单、汽车票、过路过桥费、船票、机动车/二手车销售发票
  • 支持多张不同种类票据在同一张图片上的混贴场景,可返回每张票据的种类及票面信息的识别结果

请求地址

https://api.jumdata.com/ocr/finance-bill

请求方式

  • POST

请求格式

  • x-www-form-urlencoded

请求参数

名称 类型 是否必填
说明
appId String 聚美智数分配的唯一标识
timestamp Long 当前时间戳(毫秒数)
sign String 签名,见签名算法说明
productCode String 产品编号,固定值:finance_bill_OCR
image String 发票图片,发票图片Base64
pdf String 发票pdf,发票pdf文件的Base64
pdfFileNum String 识别pdf文件的页码,不传默认识别第1页
ofd String 发票ofd,发票ofd文件Base64
ofdFileNum String 识别ofd文件的页码,不传默认识别第1页
url String 发票url,发票图片、pdf文件或ofd文件的url
  • image、pdf、ofd、file、url 必须提供一个,优先级:image > pdf > ofd > file > url
  • 发票图片、pdf或odf文件不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式
  • 发票图片支持jpg/jpeg/png/bmp格式

签名算法

sign = sha256(appId + appSecret + timestamp)

用聚美智数分配的 appId、聚美智数分配的 appSecret,当前时间戳 timestamp,按上述顺序拼接成字符串,再进行 sha256 哈希得到。如下:

String appId = "xyzxy2121zxyz"; String timestamp = "1555378976238"; String appSecret = "efcefcef1121cefcefc1212121"; String str = appId + appSecret + timestamp; String sign = sha256(str);

正确返回

{ "data": { "resultCount": 2, "results": [ // 识别结果,多张不同种类的票据,混贴在一起,返回多个 { "type": "vat_invoice", // 票据种类, 详见type字段说明 "detail": { //单张票据的识别结果,详见detail说明 } } ], "pdfSize":1, //传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 }, "code": 200, // 详见code返回码说明 "msg": "成功", // code 对应的描述 "charge": true, // 计费标志 "taskNo": "30853523396532582768", // 本次请求号 }

错误返回

{ "msg": "照片格式不正确", "code": 400 }

公共返回字段

字段名
说明
code 返回码,详见:返回码说明
msg code对应的说明,详见:返回码说明
taskNo 本次请求号
charge 计费标志
data 详见正确返回体

code 返回码说明

code
说明
200 成功 (计费)
400 参数错误
404 接口地址不正确
500 服务商维护,请稍候再试
601 接口未开通,请联系聚美智数服务商
602 账号已停用
603 余额不足,请充值
604 接口已停用
605 次数不足,请购买套餐
606 调用超限,请稍候再试
607 ip不在白名单
609 请求过于频繁,请稍候再试
610 请求超时
999 其他,以实际返回为准

type 字段说明

type
说明
vat_invoice 增值税专用发票
taxi_receipt 出租车票
train_ticket 火车票
quota_invoice 定额发票
air_ticket 飞机行程单
roll_normal_invoice 增值税普通发票(卷票)
printed_invoice 机打发票
bus_ticket 汽车票
toll_invoice 过路过桥费发票
ferry_ticket 船票
motor_vehicle_invoice 机动车销售发票
used_vehicle_invoice 二手车发票
taxi_online_ticket 网约车行程单
limit_invoice 限额发票
shopping_receipt 购物小票
pos_invoice POS小票
others 其他

增值税发票

type 的返回结果为 vat_invoice,即“增值税发票”时,识别结果的返回字段如下:

字段名
说明
ServiceType 发票消费类型。不同消费类型输出:餐饮、电器设备、通讯、服务、日用品食品、医疗、交通、其他
InvoiceTypeOrg 发票名称
InvoiceType 增值税发票的细分类型。 不同细分类型的发票输出:普通发票、专用发票、电子普通发票、电子专用发票、通行费电子普票、区块链发票、通用机打电子发票、电子发票(专用发票)、电子发票(普通发票)
InvoiceTag 增值税发票左上角标志。 包含:通行费、销项负数、代开、收购、成品油、其他
InvoiceCode 发票代码
InvoiceNum 发票号码
InvoiceCodeConfirm 发票代码的辅助校验码,一般业务情景可忽略
InvoiceNumConfirm 发票号码的辅助校验码,一般业务情景可忽略
CheckCode 校验码。增值税专票无此参数
InvoiceNumDigit 数电票号码。密码区部分的数电票号码,仅在纸质的数电票上出现
InvoiceDate 开票日期
PurchaserName 购方名称
PurchaserRegisterNum 购方纳税人识别号
PurchaserAddress 购方地址及电话
PurchaserBank 购方开户行及账号
Password 密码区
Province
City
SheetNum 联次信息。专票第一联到第三联分别输出:第一联:记账联、第二联:抵扣联、第三联:发票联;普通发票第一联到第二联分别输出:第一联:记账联、第二联:发票联
Agent 否代开
OnlinePay 子支付标识。仅区块链发票含有此参数
SellerName 销售方名称
SellerRegisterNum 销售方纳税人识别号
SellerAddress 销售方地址及电话
SellerBank 销售方开户行及账号
TotalAmount 合计金额
TotalTax 合计税额
AmountInWords 价税合计(大写)
AmountInFiguers 价税合计(小写)
Payee 收款人
Checker 复核
NoteDrawer 开票人
Remarks 备注
CommodityName 货物名称
CommodityType 规格型号
CommodityUnit 单位
CommodityNum 数量
CommodityPrice 单价
CommodityAmount 金额
CommodityTaxRate 税率
CommodityTax 税额
CommodityPlateNum 车牌号。仅通行费增值税电子普通发票含有此参数
CommodityVehicleType 类型。仅通行费增值税电子普通发票含有此参数
CommodityStartDate 通行日期起。仅通行费增值税电子普通发票含有此参数
CommodityEndDate 通行日期止。仅通行费增值税电子普通发票含有此参数

出租车票

type 的返回结果为 taxi_receipt,即“出租车票”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。出租车票此字段固定输出:交通
InvoiceCode 发票代号
InvoiceNum 发票号码
TaxiNum 车牌号
Date 日期
Time 上下车时间
PickupTime 上车时间
DropoffTime 下车时间
Fare 金额
FuelOilSurcharge 燃油附加费
CallServiceSurcharge 叫车服务费
TotalFare 总金额
Location 开票城市
Province
City
PricePerkm 单价
Distance 里程

火车票

type 的返回结果为 train_ticket,即“火车票”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。火车票此字段固定输出:交通
ticket_num 车票号
starting_station 始发站
train_num 车次号
destination_station 到达站
date 出发日期
ticket_rates 车票金额
seat_category 席别
name 乘客姓名
ID_card 身份证号
serial_number 序列号
sales_station 售站
time 时间
seat_num 座位号
Waiting_area 候检区
word 识别结果字符串,以上各字段均包含

定额发票

type 的返回结果为 quota_invoice,即“定额发票”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。定额发票此字段固定输出:交通
invoice_code 发票代码
invoice_number 发票号码
invoice_rate 金额
invoice_rate_in_figure 金额小写
invoice_rate_in_word 金额大写
Province
City
Location 发票所在地
invoice_type 发票名称

飞机行程单

type 的返回结果为 air_ticket,即“飞机行程单”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。飞机行程单此字段固定输出:交通
name 姓名
starting_station 始发站
destination_station 目的站
flight 航班号
date 日期
ticket_number 电子客票号码
fare 票价
dev_fund 民航发展基金/基建费
oil_money 燃油附加费
other_tax 其他税费
ticket_rates 合计金额
start_date 填开日期
id_no 身份证号
carrier 承运人
time 时间
issued_by 订票渠道
serial_number 印刷序号
insurance 保险费
fare_basis 客票级别
class 座位等级
agent_code 销售单位号
endorsement 签注
allow 免费行李
ck 验证码
effective_date 客票生效日期
expiration_date 有效期截止日期

卷票

type 的返回结果为 roll_normal_invoice,即“卷票”时,识别结果的返回字段如下

字段名
说明
InvoiceType 发票名称
InvoiceCode 发票代码
InvoiceNum 发票号码
MachineNum 机打号码。仅增值税卷票含有此参数
MachineCode 机器编号。仅增值税卷票含有此参数
InvoiceDate 开票日期
PurchaserName 购方名称
PurchaserRegisterNum 购方纳税人识别号
SellerName 销售方名称
SellerRegisterNum 销售方纳税人识别号
TotalTax 价税合计
AmountInWords 合计金额(大写)
AmountInFiguers 合计金额(小写)
Payee 收款人
CheckCode 校验码。增值税专票无此参数
Province
City
CommodityName 货物名称
CommodityNum 数量
CommodityPrice 单价
CommodityAmount 金额

机打发票

type 的返回结果为 printed_invoice,即“机打发票”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。不同消费类型输出:餐饮、电器设备、通讯、服务、日用品食品、医疗、交通、其他
InvoiceType 发票类型
InvoiceCode 发票代码
InvoiceNum 发票号码
InvoiceDate 开票日期
AmountInFiguers 合计金额小写
AmountInWords 合计金额大写
MachineNum 机打号码
CheckCode 校验码
SellerName 销售方名称
SellerRegisterNum 销售方纳税人识别号
PurchaserName 购买方名称
PurchaserRegisterNum 购买方纳税人识别号
TotalTax 合计税额
Province
City
Time 时间
SheetNum 联次
CommodityName 商品名称
CommodityUnit 商品单位
CommodityPrice 商品单价
CommodityNum 商品数量
CommodityAmount 商品金额

汽车票

type 的返回结果为 bus_ticket,即“汽车票”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。汽车票此字段固定输出:交通
InvoiceCode 发票代码
InvoiceNum 发票号码
Date 日期
Time 时间
ExitStation 出发站
Amount 金额
IdCard 身份证号
ArrivalStation 到达站
Name 姓名
InvoiceTime 开票日期

过路过桥费

type 的返回结果为 toll_invoice,即“过路过桥费”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。过路过桥费此字段固定输出:交通
InvoiceCode 发票代码
InvoiceNum 发票号码
Entrance 入口
Exit 出口
OutDate 日期
OutTime 时间
TotalAmount 金额
Province
City

船票

type 的返回结果为 toll_invoice,即“船票”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。船票此字段固定输出:交通
InvoiceType 发票类型
InvoiceCode 发票代码
InvoiceNum 发票号码
ExitStation 出发地点
ArrivalStation 到达地点
Amount 总金额
Date 开票日期
MoneyType 金额类型
BarCode 条码
BarCodeNum 条码编号
City
Province
InvoiceTitle 发票抬头,这里指该张船票的运行公司名
QrCode 二维码
Time 出发时间
TicketTime 制票时间
TicketDate 制票日期
PassengerName 乘客姓名
IdCard 乘客身份证号

机动车销售发票

type 的返回结果为 motor_vehicle_invoice,即“机动车销售发票”时,识别结果的返回字段如下

字段名
说明
date 开票日期
fapiao-daima 发票代码/机打代码
fapiao-haoma 发票号码/机打号码
printed-daima 机打代码
printed-haoma 机打号码
machine-num 机器编号
buyer-name 购买方名称
payer-tax-num 购买方身份证号码/组织机构代码
car-class 车辆类型
car-model 厂牌型号
product-location 产地
certificate-num 合格证号
engine-num 发动机号码
vin-num 车架号码
price-tax-big 价税合计
price-tax-small 价税合计小写
saler 销货单位名称
saler-phone 销货单位电话
saler-tax-num 销货单位纳税人识别号
saler-bank-num 销货单位账号
saler-address 销货单位地址
saler-bank 销货单位开户银行
tax-rate 税率
tax 税额
tax-jiguan 主管税务机关
tax-jiguan-daima 主管税务机关代码
price 不含税价格
limit-mount 限乘人数
toonage 吨位
sheet-num 联次
drawer 开票人
remarks 备注
import-certificate-num 进口证明书号
tax-payment-voucher-no 完整凭税编号
inspection-form-num 商检单号

二手车销售发票

type 的返回结果为 used_vehicle_invoice,即“二手车销售发票”时,识别结果的返回字段如下

字段名
说明
invoice_code 发票代码
invoice_num 发票号码
date 开票日期
tax_code 税控码
buyer 买方
buyer_id 买方身份证号
buyer_station 买方地址
buyer_tel 买方电话
saler 卖方
saler_id 卖方身份证号
saler_station 卖方地址
saler_tel 卖方电话
car_plate 车牌号
car_certificate 登记证号
car_class 车辆类型
vin_num 车架号
model 厂牌型号
to_station 转入地车管所名称
big_price 车价合计大写
small_price 车价合计小写
car_market 二手车市场
tax_num 纳税人识别号
tax_location 纳税人地址
tax_tel 纳税人电话
sheet_num 联次

网约车行程单

type 的返回结果为 taxi_online_ticket,即“网约车行程单”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。网约车行程单此字段固定输出:交通
service_provider 服务商
start_time 行程开始时间
destination_time 行程结束时间
phone 行程人手机号
application_date 申请日期
total_fare 总金额
item_num 行程信息中包含的行程数量
items 行程信息
item_id 行程信息的对应序号
item_provider 行程信息的对应服务商
pickup_time 上车时间
pickup_date 上车日期
car_type 车型
distance 里程
start_place 起点
destination_place 终点
city 城市
fare 金额

接口描述

  • 支持财务场景中13种常见票据的识别,包括增值税发票、卷票、机打发票、定额发票、火车票、出租车票、网约车行程单、飞机行程单、汽车票、过路过桥费、船票、机动车/二手车销售发票
  • 支持多张不同种类票据在同一张图片上的混贴场景,可返回每张票据的种类及票面信息的识别结果

请求地址

https://api.jumdata.com/ocr/finance-bill

请求方式

  • POST

请求格式

  • x-www-form-urlencoded

请求参数

名称 类型 是否必填
说明
appId String 聚美智数分配的唯一标识
timestamp Long 当前时间戳(毫秒数)
sign String 签名,见签名算法说明
productCode String 产品编号,固定值:finance_bill_OCR
image String 发票图片,发票图片Base64
pdf String 发票pdf,发票pdf文件的Base64
pdfFileNum String 识别pdf文件的页码,不传默认识别第1页
ofd String 发票ofd,发票ofd文件Base64
ofdFileNum String 识别ofd文件的页码,不传默认识别第1页
url String 发票url,发票图片、pdf文件或ofd文件的url
  • image、pdf、ofd、file、url 必须提供一个,优先级:image > pdf > ofd > file > url
  • 发票图片、pdf或odf文件不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式
  • 发票图片支持jpg/jpeg/png/bmp格式

签名算法

sign = sha256(appId + appSecret + timestamp)

用聚美智数分配的 appId、聚美智数分配的 appSecret,当前时间戳 timestamp,按上述顺序拼接成字符串,再进行 sha256 哈希得到。如下:

String appId = "xyzxy2121zxyz"; String timestamp = "1555378976238"; String appSecret = "efcefcef1121cefcefc1212121"; String str = appId + appSecret + timestamp; String sign = sha256(str);

正确返回

{ "data": { "resultCount": 2, "results": [ // 识别结果,多张不同种类的票据,混贴在一起,返回多个 { "type": "vat_invoice", // 票据种类, 详见type字段说明 "detail": { //单张票据的识别结果,详见detail说明 } } ], "pdfSize":1, //传入PDF文件的总页数,当 pdf_file 参数有效时返回该字段 }, "code": 200, // 详见code返回码说明 "msg": "成功", // code 对应的描述 "charge": true, // 计费标志 "taskNo": "30853523396532582768", // 本次请求号 }

错误返回

{ "msg": "照片格式不正确", "code": 400 }

公共返回字段

字段名
说明
code 返回码,详见:返回码说明
msg code对应的说明,详见:返回码说明
taskNo 本次请求号
charge 计费标志
data 详见正确返回体

code 返回码说明

code
说明
200 成功 (计费)
400 参数错误
404 接口地址不正确
500 服务商维护,请稍候再试
601 接口未开通,请联系聚美智数服务商
602 账号已停用
603 余额不足,请充值
604 接口已停用
605 次数不足,请购买套餐
606 调用超限,请稍候再试
607 ip不在白名单
609 请求过于频繁,请稍候再试
610 请求超时
999 其他,以实际返回为准

type 字段说明

type
说明
vat_invoice 增值税专用发票
taxi_receipt 出租车票
train_ticket 火车票
quota_invoice 定额发票
air_ticket 飞机行程单
roll_normal_invoice 增值税普通发票(卷票)
printed_invoice 机打发票
bus_ticket 汽车票
toll_invoice 过路过桥费发票
ferry_ticket 船票
motor_vehicle_invoice 机动车销售发票
used_vehicle_invoice 二手车发票
taxi_online_ticket 网约车行程单
limit_invoice 限额发票
shopping_receipt 购物小票
pos_invoice POS小票
others 其他

增值税发票

type 的返回结果为 vat_invoice,即“增值税发票”时,识别结果的返回字段如下:

字段名
说明
ServiceType 发票消费类型。不同消费类型输出:餐饮、电器设备、通讯、服务、日用品食品、医疗、交通、其他
InvoiceTypeOrg 发票名称
InvoiceType 增值税发票的细分类型。 不同细分类型的发票输出:普通发票、专用发票、电子普通发票、电子专用发票、通行费电子普票、区块链发票、通用机打电子发票、电子发票(专用发票)、电子发票(普通发票)
InvoiceTag 增值税发票左上角标志。 包含:通行费、销项负数、代开、收购、成品油、其他
InvoiceCode 发票代码
InvoiceNum 发票号码
InvoiceCodeConfirm 发票代码的辅助校验码,一般业务情景可忽略
InvoiceNumConfirm 发票号码的辅助校验码,一般业务情景可忽略
CheckCode 校验码。增值税专票无此参数
InvoiceNumDigit 数电票号码。密码区部分的数电票号码,仅在纸质的数电票上出现
InvoiceDate 开票日期
PurchaserName 购方名称
PurchaserRegisterNum 购方纳税人识别号
PurchaserAddress 购方地址及电话
PurchaserBank 购方开户行及账号
Password 密码区
Province
City
SheetNum 联次信息。专票第一联到第三联分别输出:第一联:记账联、第二联:抵扣联、第三联:发票联;普通发票第一联到第二联分别输出:第一联:记账联、第二联:发票联
Agent 否代开
OnlinePay 子支付标识。仅区块链发票含有此参数
SellerName 销售方名称
SellerRegisterNum 销售方纳税人识别号
SellerAddress 销售方地址及电话
SellerBank 销售方开户行及账号
TotalAmount 合计金额
TotalTax 合计税额
AmountInWords 价税合计(大写)
AmountInFiguers 价税合计(小写)
Payee 收款人
Checker 复核
NoteDrawer 开票人
Remarks 备注
CommodityName 货物名称
CommodityType 规格型号
CommodityUnit 单位
CommodityNum 数量
CommodityPrice 单价
CommodityAmount 金额
CommodityTaxRate 税率
CommodityTax 税额
CommodityPlateNum 车牌号。仅通行费增值税电子普通发票含有此参数
CommodityVehicleType 类型。仅通行费增值税电子普通发票含有此参数
CommodityStartDate 通行日期起。仅通行费增值税电子普通发票含有此参数
CommodityEndDate 通行日期止。仅通行费增值税电子普通发票含有此参数

出租车票

type 的返回结果为 taxi_receipt,即“出租车票”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。出租车票此字段固定输出:交通
InvoiceCode 发票代号
InvoiceNum 发票号码
TaxiNum 车牌号
Date 日期
Time 上下车时间
PickupTime 上车时间
DropoffTime 下车时间
Fare 金额
FuelOilSurcharge 燃油附加费
CallServiceSurcharge 叫车服务费
TotalFare 总金额
Location 开票城市
Province
City
PricePerkm 单价
Distance 里程

火车票

type 的返回结果为 train_ticket,即“火车票”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。火车票此字段固定输出:交通
ticket_num 车票号
starting_station 始发站
train_num 车次号
destination_station 到达站
date 出发日期
ticket_rates 车票金额
seat_category 席别
name 乘客姓名
ID_card 身份证号
serial_number 序列号
sales_station 售站
time 时间
seat_num 座位号
Waiting_area 候检区
word 识别结果字符串,以上各字段均包含

定额发票

type 的返回结果为 quota_invoice,即“定额发票”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。定额发票此字段固定输出:交通
invoice_code 发票代码
invoice_number 发票号码
invoice_rate 金额
invoice_rate_in_figure 金额小写
invoice_rate_in_word 金额大写
Province
City
Location 发票所在地
invoice_type 发票名称

飞机行程单

type 的返回结果为 air_ticket,即“飞机行程单”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。飞机行程单此字段固定输出:交通
name 姓名
starting_station 始发站
destination_station 目的站
flight 航班号
date 日期
ticket_number 电子客票号码
fare 票价
dev_fund 民航发展基金/基建费
oil_money 燃油附加费
other_tax 其他税费
ticket_rates 合计金额
start_date 填开日期
id_no 身份证号
carrier 承运人
time 时间
issued_by 订票渠道
serial_number 印刷序号
insurance 保险费
fare_basis 客票级别
class 座位等级
agent_code 销售单位号
endorsement 签注
allow 免费行李
ck 验证码
effective_date 客票生效日期
expiration_date 有效期截止日期

卷票

type 的返回结果为 roll_normal_invoice,即“卷票”时,识别结果的返回字段如下

字段名
说明
InvoiceType 发票名称
InvoiceCode 发票代码
InvoiceNum 发票号码
MachineNum 机打号码。仅增值税卷票含有此参数
MachineCode 机器编号。仅增值税卷票含有此参数
InvoiceDate 开票日期
PurchaserName 购方名称
PurchaserRegisterNum 购方纳税人识别号
SellerName 销售方名称
SellerRegisterNum 销售方纳税人识别号
TotalTax 价税合计
AmountInWords 合计金额(大写)
AmountInFiguers 合计金额(小写)
Payee 收款人
CheckCode 校验码。增值税专票无此参数
Province
City
CommodityName 货物名称
CommodityNum 数量
CommodityPrice 单价
CommodityAmount 金额

机打发票

type 的返回结果为 printed_invoice,即“机打发票”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。不同消费类型输出:餐饮、电器设备、通讯、服务、日用品食品、医疗、交通、其他
InvoiceType 发票类型
InvoiceCode 发票代码
InvoiceNum 发票号码
InvoiceDate 开票日期
AmountInFiguers 合计金额小写
AmountInWords 合计金额大写
MachineNum 机打号码
CheckCode 校验码
SellerName 销售方名称
SellerRegisterNum 销售方纳税人识别号
PurchaserName 购买方名称
PurchaserRegisterNum 购买方纳税人识别号
TotalTax 合计税额
Province
City
Time 时间
SheetNum 联次
CommodityName 商品名称
CommodityUnit 商品单位
CommodityPrice 商品单价
CommodityNum 商品数量
CommodityAmount 商品金额

汽车票

type 的返回结果为 bus_ticket,即“汽车票”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。汽车票此字段固定输出:交通
InvoiceCode 发票代码
InvoiceNum 发票号码
Date 日期
Time 时间
ExitStation 出发站
Amount 金额
IdCard 身份证号
ArrivalStation 到达站
Name 姓名
InvoiceTime 开票日期

过路过桥费

type 的返回结果为 toll_invoice,即“过路过桥费”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。过路过桥费此字段固定输出:交通
InvoiceCode 发票代码
InvoiceNum 发票号码
Entrance 入口
Exit 出口
OutDate 日期
OutTime 时间
TotalAmount 金额
Province
City

船票

type 的返回结果为 toll_invoice,即“船票”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。船票此字段固定输出:交通
InvoiceType 发票类型
InvoiceCode 发票代码
InvoiceNum 发票号码
ExitStation 出发地点
ArrivalStation 到达地点
Amount 总金额
Date 开票日期
MoneyType 金额类型
BarCode 条码
BarCodeNum 条码编号
City
Province
InvoiceTitle 发票抬头,这里指该张船票的运行公司名
QrCode 二维码
Time 出发时间
TicketTime 制票时间
TicketDate 制票日期
PassengerName 乘客姓名
IdCard 乘客身份证号

机动车销售发票

type 的返回结果为 motor_vehicle_invoice,即“机动车销售发票”时,识别结果的返回字段如下

字段名
说明
date 开票日期
fapiao-daima 发票代码/机打代码
fapiao-haoma 发票号码/机打号码
printed-daima 机打代码
printed-haoma 机打号码
machine-num 机器编号
buyer-name 购买方名称
payer-tax-num 购买方身份证号码/组织机构代码
car-class 车辆类型
car-model 厂牌型号
product-location 产地
certificate-num 合格证号
engine-num 发动机号码
vin-num 车架号码
price-tax-big 价税合计
price-tax-small 价税合计小写
saler 销货单位名称
saler-phone 销货单位电话
saler-tax-num 销货单位纳税人识别号
saler-bank-num 销货单位账号
saler-address 销货单位地址
saler-bank 销货单位开户银行
tax-rate 税率
tax 税额
tax-jiguan 主管税务机关
tax-jiguan-daima 主管税务机关代码
price 不含税价格
limit-mount 限乘人数
toonage 吨位
sheet-num 联次
drawer 开票人
remarks 备注
import-certificate-num 进口证明书号
tax-payment-voucher-no 完整凭税编号
inspection-form-num 商检单号

二手车销售发票

type 的返回结果为 used_vehicle_invoice,即“二手车销售发票”时,识别结果的返回字段如下

字段名
说明
invoice_code 发票代码
invoice_num 发票号码
date 开票日期
tax_code 税控码
buyer 买方
buyer_id 买方身份证号
buyer_station 买方地址
buyer_tel 买方电话
saler 卖方
saler_id 卖方身份证号
saler_station 卖方地址
saler_tel 卖方电话
car_plate 车牌号
car_certificate 登记证号
car_class 车辆类型
vin_num 车架号
model 厂牌型号
to_station 转入地车管所名称
big_price 车价合计大写
small_price 车价合计小写
car_market 二手车市场
tax_num 纳税人识别号
tax_location 纳税人地址
tax_tel 纳税人电话
sheet_num 联次

网约车行程单

type 的返回结果为 taxi_online_ticket,即“网约车行程单”时,识别结果的返回字段如下

字段名
说明
ServiceType 发票消费类型。网约车行程单此字段固定输出:交通
service_provider 服务商
start_time 行程开始时间
destination_time 行程结束时间
phone 行程人手机号
application_date 申请日期
total_fare 总金额
item_num 行程信息中包含的行程数量
items 行程信息
item_id 行程信息的对应序号
item_provider 行程信息的对应服务商
pickup_time 上车时间
pickup_date 上车日期
car_type 车型
distance 里程
start_place 起点
destination_place 终点
city 城市
fare 金额
业务咨询
回到顶部