1. 接口描述
接口请求域名: ocr.tencentcloudapi.com 。
本接口支持OFD格式的增值税电子普通发票、增值税电子专用发票、电子发票(普通发票)、电子发票(增值税专用发票)、电子发票(铁路电子客票)、电子发票(航空运输电子客票行程单)识别,返回发票代码、发票号码、开票日期、验证码、机器编号、密码区,购买方和销售方信息,包括名称、纳税人识别号、地址电话、开户行及账号,以及价税合计、开票人、收款人、复核人、税额、不含税金额等字段信息。
默认接口请求频率限制:10次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:VerifyOfdVatInvoiceOCR。 |
Version | 是 | String | 公共参数,本接口取值:2018-11-19。 |
Region | 否 | String | 公共参数,此参数为可选参数。 |
OfdFileUrl | 否 | String | OFD文件的 Url 地址。 示例值:https://ocr-demo-1254418846.cos.ap-guangzhou.myqcloud.com/***/fakeurl.ofd |
OfdFileBase64 | 否 | String | OFD文件的 Base64 值。OfdFileUrl 和 OfdFileBase64 必传其一,若两者都传,只使用OfdFileUrl。 示例值:/9j/4AAQSkZJRg.....s97n//2Q== |
OfdPageNumber | 否 | Integer | 需要识别的OFD发票页面的对应页码,默认值为1。 示例值:1 示例值:1 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
Type | String | 发票类型 026:增值税电子普通发票 028:增值税电子专用发票 010:电子发票(普通发票) 020:电子发票(增值税专用发票) 030:电子发票(铁路电子客票) 040:电子发票(航空运输电子客票行程单) 示例值:026 |
InvoiceCode | String | 发票代码 示例值:1110****0001 |
InvoiceNumber | String | 发票号码 示例值:46***400 |
IssueDate | String | 开票日期 示例值:2020年05月28日 |
InvoiceCheckCode | String | 验证码 示例值:0040****625 |
MachineNumber | String | 机器编号 示例值:0160*77 |
TaxControlCode | String | 密码区 示例值:00950*XXX |
Buyer | VatInvoiceUserInfo | 购买方 示例值:Buyer |
Seller | VatInvoiceUserInfo | 销售方 示例值:Seller |
TaxInclusiveTotalAmount | String | 价税合计 示例值:10 |
InvoiceClerk | String | 开票人 示例值:张** |
Payee | String | 收款人 示例值:李** |
Checker | String | 复核人 示例值:王** |
TaxTotalAmount | String | 税额 示例值:10 |
TaxExclusiveTotalAmount | String | 不含税金额 示例值:20 |
Note | String | 备注 示例值:备注 |
GoodsInfos | Array of VatInvoiceGoodsInfo | 货物或服务清单 示例值:GoodsInfos |
AirTicketInfo | AirTicketInfo | 航空运输电子客票行程单信息 |
RailwayTicketInfo | RailwayTicketInfo | 铁路电子客票 |
InvoiceTitle | String | 发票标题 示例值:重庆增值税电子普通发票 |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 OFD发票识别示例代码
ofd发票识别
输入示例
POST / HTTP/1.1
Host: ocr.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: VerifyOfdVatInvoiceOCR
<公共请求参数>
{
"OfdFileUrl": "https://ocr-demo-1254418846.cos.ap-guangzhou.myqcloud.com/***/fakeurl.jpg"
}
输出示例
{
"Response": {
"Buyer": {
"AddrTel": "北京*****嘉园北门",
"FinancialAccount": "北京****11",
"Name": "科*****限公司",
"TaxId": "915****002"
},
"Checker": "张***",
"GoodsInfos": [
{
"Amount": "-100.00",
"Item": "*餐饮服务*餐费",
"MeasurementDimension": "次",
"Price": "25",
"Quantity": "-4",
"Specification": "",
"TaxAmount": "-6.00",
"TaxScheme": "6%"
},
{
"Amount": "-100.00",
"Item": "*餐饮服务*餐费",
"MeasurementDimension": "次",
"Price": "25",
"Quantity": "-4",
"Specification": "",
"TaxAmount": "-6.00",
"TaxScheme": "6%"
},
{
"Amount": "-100.00",
"Item": "*餐饮服务*餐费",
"MeasurementDimension": "次",
"Price": "25",
"Quantity": "-4",
"Specification": "",
"TaxAmount": "-6.00",
"TaxScheme": "6%"
}
],
"InvoiceCheckCode": "1780***699",
"InvoiceClerk": "任**",
"InvoiceCode": "0***11",
"InvoiceNumber": "62***8",
"IssueDate": "2020年06月18日",
"MachineNumber": "016****903",
"Note": "对应正*****436",
"Payee": "张***",
"RequestId": "7ea56704-eb43-455a-a608-6d79f5e70b37",
"Seller": {
"AddrTel": "北京****号",
"FinancialAccount": "建设*****711",
"Name": "深圳*****有限公司",
"TaxId": "915****8Y"
},
"TaxControlCode": "00228*****2274",
"TaxExclusiveTotalAmount": "-300.00",
"TaxInclusiveTotalAmount": "-318.00",
"TaxTotalAmount": "-18.00",
"Type": "026",
"AirTicketInfo": {
"PassengerName": "李**",
"ValidIdNumber": "440183********372",
"Endorsement": "BUDEQIANZHUAN不得签转/****变更退票收费",
"NumberOfGPOrder": "",
"ElectronicInvoiceAirTransportReceiptNumber": "2344****0553",
"DetailInformationOfAirTicketTuple": [
{
"DepartureStation": "CAN 广州",
"DestinationStation": "CGO 郑州",
"FlightSegment": "1",
"Carrier": "南航",
"Flight": "CZ3***",
"SeatClass": "T",
"CarrierDate": "2023-01-30",
"DepartureTime": "07:25",
"FareBasis": "TCP0***",
"EffectiveDate": "2023-01-30",
"ExpirationDate": "2023-01-30",
"FreeBaggageAllowance": "20K"
}
],
"Fare": "458",
"FuelSurcharge": "70",
"VatRate": "0.08",
"VatTaxAmount": "47",
"CivilAviationDevelopmentFund": "50.00",
"OtherTaxes": "0.00",
"TotalAmount": "600",
"ElectronicTicketNum": "",
"VerificationCode": "0**3",
"PromptInformation": "",
"Insurance": "0.00",
"AgentCode": "CAN0***570",
"IssueParty": "中国南****限公司",
"IssueDate": "2023-02-07",
"IssuingStatus": "正常",
"MarkingOfDomesticOrInternational": "国内",
"NameOfPurchaser": "兴*****分公司",
"NameOfSeller": "中国****限公司",
"UnifiedSocialCreditCodeOfPurchaser": "914***673B"
},
"RailwayTicketInfo": {
"TypeOfVoucher": "电子发票(铁路电子客票)",
"ElectronicTicketNum": "3067*****22",
"DateOfIssue": "2022-03-17",
"TypeOfBusiness": "退",
"DepartureStation": "南京",
"PhonicsOfDepartureStation": "Nanjing",
"DestinationStation": "上海虹桥",
"PhonicsOfDestinationStation": "Shanghaihongqiao",
"TrainNumber": "D1****1",
"TravelDate": "2022-01-20",
"DepartureTime": "06:20",
"AirConditioningCharacteristics": "",
"SeatLevel": "一等座",
"Carriage": "03车",
"Seat": "01F号",
"Fare": "48.00",
"ElectronicInvoiceRailwayETicketNumber": "221******0011",
"IdNumber": "142*****1627",
"Name": "汪某某",
"TotalAmountExcludingTax": "52.28",
"TaxRate": "0.06",
"TaxAmount": "2.72",
"NameOfPurchaser": "铁路客票****单位",
"UnifiedSocialCreditCodeOfPurchaser": "9111***858",
"NumberOfOriginalInvoice": "22****0010"
}
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub, Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub, Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub, Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub, Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub, Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub, Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub, Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub, Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
FailedOperation.DownLoadError | 文件下载失败。 |
FailedOperation.OcrFailed | OCR识别失败。 |
FailedOperation.UnKnowError | 未知错误。 |
FailedOperation.UnOpenError | 服务未开通。 |
InvalidParameterValue.InvalidParameterValueLimit | 参数值错误。 |
LimitExceeded.TooLargeFileError | 文件内容太大。 |
ResourceUnavailable.InArrears | 账号已欠费。 |
ResourceUnavailable.ResourcePackageRunOut | 账号资源包耗尽。 |
ResourcesSoldOut.ChargeStatusException | 计费状态异常。 |