OFD发票识别

最近更新时间:2025-04-29 01:51:50

我的收藏

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。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.DownLoadError 文件下载失败。
FailedOperation.OcrFailed OCR识别失败。
FailedOperation.UnKnowError 未知错误。
FailedOperation.UnOpenError 服务未开通。
InvalidParameterValue.InvalidParameterValueLimit 参数值错误。
LimitExceeded.TooLargeFileError 文件内容太大。
ResourceUnavailable.InArrears 账号已欠费。
ResourceUnavailable.ResourcePackageRunOut 账号资源包耗尽。
ResourcesSoldOut.ChargeStatusException 计费状态异常。