设计与多媒体

TencentCloud VatInvoice OCR

试用

腾讯云通用票据识别高级版(VatInvoiceOCR)接口调用技能。当用户需要识别发票图片中增值税专用发票、增值税普通发票、增值税电子专票、增值税电子普票、电子发票(普通/增值税专用)的全字段信息时,应使用此技能。支持识别发票图片中的发票代码、发票号码、开票日期、合计金额、校验码、税率、合计税额、价税合计、购买方...

它能做什么

调用腾讯云OCR通用票据识别高级版接口,支持增值税专用发票、增值税普通发票、增值税电子专票、增值税电子普票、电子发票(普通发票)、电子发票(增值税专用发票)全字段的内容检测和识别。

技能文档

腾讯云通用票据识别高级版 (VatInvoiceOCR)

用途

调用腾讯云OCR通用票据识别高级版接口,支持增值税专用发票、增值税普通发票、增值税电子专票、增值税电子普票、电子发票(普通发票)、电子发票(增值税专用发票)全字段的内容检测和识别。

核心能力:

  • 发票头信息识别:发票代码、发票号码、打印发票代码、打印发票号码、开票日期、机器编号、校验码、密码区等
  • 买卖方信息识别:购买方/销售方名称、识别号(税号)、地址/电话、开户行及账号
  • 金额信息识别:合计金额、合计税额、价税合计(大写)、小写金额、税率
  • 明细条目识别:货物/服务名称、规格型号、单位、数量、单价、不含税金额、税率、税额、税收分类编码等
  • 人员信息识别:开票人、收款人、复核
  • 其他信息识别:备注、联次名称、发票名称、发票类型、车牌号、通行费标志等
  • PDF发票支持:支持PDF格式发票识别(需开启IsPdf参数)
  • 全电发票支持:自动分类识别全电发票,并统一输出格式

官方文档:https://cloud.tencent.com/document/api/866/36210

使用时机

当用户提出以下需求时触发此技能:

  • 需要从发票图片中提取全部字段信息
  • 需要从PDF格式发票中识别内容
  • 需要提取发票中的明细条目(货物/服务列表)
  • 需要识别增值税专用/普通发票、电子发票
  • 涉及发票OCR识别的任何场景
  • 需要批量处理发票并结构化提取信息

环境要求

  • Python 3.6+
  • 依赖:tencentcloud-sdk-python(通过 pip install tencentcloud-sdk-python 安装)
  • 环境变量:
    • TENCENTCLOUD_SECRET_ID:腾讯云API密钥ID
    • TENCENTCLOUD_SECRET_KEY:腾讯云API密钥Key

使用方式

运行 scripts/main.py 脚本完成通用票据识别。

请求参数

参数类型必填说明
ImageBase64str否(二选一)图片/PDF的Base64值,编码后不超过10M,像素需介于20-10000px,支持PNG/JPG/JPEG/PDF
ImageUrlstr否(二选一)图片/PDF的URL地址,都提供时只使用ImageUrl
IsPdfbool是否开启PDF识别,默认false,开启后可同时支持图片和PDF的识别
PdfPageNumberintPDF页码,仅当IsPdf=true时有效,默认1,必须>=1
UserAgentstr请求来源标识(可选),用于追踪调用来源,统一固定为Skills

输出格式

识别成功后返回 JSON 格式结果:

格式化输出模式(默认)

{
  "发票基本信息": {
    "发票代码": "012002100311",
    "发票号码": "48026588",
    "开票日期": "2021年09月15日",
    "发票名称": "增值税电子普通发票",
    "发票类型": "10",
    "校验码": "12345678901234567890",
    "机器编号": "661234567890"
  },
  "购买方信息": {
    "购买方名称": "XX科技有限公司",
    "购买方识别号": "91440300MA5XXXXXX"
  },
  "销售方信息": {
    "销售方名称": "YY有限公司",
    "销售方识别号": "91110108MA0XXXXXX"
  },
  "金额信息": {
    "合计金额": "¥1000.00",
    "合计税额": "¥60.00",
    "价税合计(大写)": "壹仟零陆拾圆整",
    "小写金额": "¥1060.00"
  },
  "人员信息": {
    "开票人": "张三",
    "收款人": "李四",
    "复核": "王五"
  },
  "明细条目": [
    {
      "行号": "1",
      "名称": "*信息技术服务*软件开发服务",
      "规格型号": "",
      "单位": "次",
      "数量": "1",
      "单价": "1000.00",
      "不含税金额": "1000.00",
      "税率": "6%",
      "税额": "60.00"
    }
  ],
  "其他信息": {
    "备注": "",
    "旋转角度": 0.0
  },
  "RequestId": "xxx"
}

原始输出模式(--raw)

{
  "VatInvoiceInfos": [
    {
      "Name": "发票代码",
      "Value": "012002100311",
      "Polygon": {"LeftTop": {"X": 50, "Y": 100}, ...}
    },
    {
      "Name": "发票号码",
      "Value": "48026588",
      "Polygon": {...}
    }
  ],
  "Items": [
    {
      "LineNo": "1",
      "Name": "*信息技术服务*软件开发服务",
      "Spec": "",
      "Unit": "次",
      "Quantity": "1",
      "UnitPrice": "1000.00",
      "AmountWithoutTax": "1000.00",
      "TaxRate": "6%",
      "TaxAmount": "60.00",
      "TaxClassifyCode": "3040201"
    }
  ],
  "PdfPageSize": 0,
  "Angle": 0.0,
  "RequestId": "xxx"
}

响应数据结构说明

TextVatInvoice 结构(KV形式):

字段类型说明
Namestr字段名称,支持识别的完整字段列表见下方
Valuestr字段对应的值
PolygonPolygon字段在原图中的四点坐标(可能为null)

Name 字段可识别的完整列表:发票代码、发票号码、打印发票代码、打印发票号码、开票日期、购买方识别号、小写金额、价税合计(大写)、销售方识别号、校验码、购买方名称、销售方名称、税额、复核、联次名称、备注、联次、密码区、开票人、收款人、货物或应税劳务/服务名称、省、市、服务类型、通行费标志、是否代开、是否收购、合计金额、是否有公司印章、发票消费类型、车船税、机器编号、成品油标志、税率、合计税额、购买方地址/电话、销售方地址/电话、单价、金额、销售方开户行及账号、购买方开户行及账号、规格型号、发票名称、单位、数量、校验码备选、校验码后六位备选、发票号码备选、车牌号、类型、通行日期起、通行日期止、发票类型

VatInvoiceItem 结构(明细条目):

字段类型说明
LineNostr行号
Namestr项目名称
Specstr规格型号
Unitstr单位
Quantitystr数量
UnitPricestr单价
AmountWithoutTaxstr不含税金额
TaxRatestr税率
TaxAmountstr税额
TaxClassifyCodestr税收分类编码
VehicleTypestr运输工具类型
VehicleBrandstr运输工具牌号
DeparturePlacestr起始地
ArrivalPlacestr到达地
TransportItemsNamestr运输货物名称
ConstructionPlacestr建筑服务发生地
ConstructionNamestr建筑项目名称

错误码说明

错误码含义
FailedOperation.DownLoadError文件下载失败
FailedOperation.EmptyImageError图片内容为空
FailedOperation.ImageBlur图片模糊
FailedOperation.ImageDecodeFailed图片解码失败
FailedOperation.ImageNoText图片中未检测到文本
FailedOperation.ImageSizeTooLarge图片尺寸过大,请确保编码后不超过10M,像素介于20-10000px
FailedOperation.OcrFailedOCR识别失败
FailedOperation.UnKnowError未知错误
FailedOperation.UnOpenError服务未开通,请先在腾讯云控制台开通增值税发票识别服务
InvalidParameter.EngineImageDecodeFailed引擎图片解码失败
InvalidParameterValue.InvalidParameterValueLimit参数值错误
LimitExceeded.TooLargeFileError文件内容太大
ResourceUnavailable.InArrears账号已欠费
ResourceUnavailable.ResourcePackageRunOut账号资源包耗尽
ResourcesSoldOut.ChargeStatusException计费状态异常

重要业务逻辑

  1. ImageBase64和ImageUrl必须提供其一,都提供时只使用ImageUrl
  2. 图片/PDF编码后不超过10M,像素需介于20-10000px
  3. 支持格式:PNG、JPG、JPEG、PDF(不支持GIF)
  4. IsPdf默认为false,识别PDF格式发票需显式设置为true
  5. PdfPageNumber仅当IsPdf=true时有效,默认值为1,必须>=1
  6. 默认接口请求频率限制:10次/秒
  7. 复杂的内部分流逻辑:接口会先调用InvoiceMixedClassify对票据分类
    • 分类Type==16(全电发票)→ 走全电发票识别引擎
    • 其他类型 → 走传统增值税发票识别引擎
  8. 全电发票会进行字段映射转换,将ElectricInvoiceItem统一转换为TextVatInvoice+VatInvoiceItem格式输出
  9. 建议图片存储于腾讯云COS以获得更高的下载速度和稳定性

调用示例

# 通过URL识别发票
python scripts/main.py --image-url "https://example.com/invoice.jpg"

# 通过文件路径(自动Base64编码)识别
python scripts/main.py --image-base64 ./invoice.jpg

# 识别PDF格式发票
python scripts/main.py --image-base64 ./invoice.pdf --is-pdf

# 识别PDF发票的指定页码
python scripts/main.py --image-base64 ./invoice.pdf --is-pdf --pdf-page-number 2

# 输出原始JSON响应
python scripts/main.py --image-url "https://example.com/invoice.jpg" --raw

# 指定地域
python scripts/main.py --image-url "https://example.com/invoice.jpg" --region ap-beijing```

相关技能

通过 OAuth 认证网关管理 Stripe 客户、订阅、发票、产品、价格和支付。

作者 byungkyu720 次安装29 星标

通过一次 REST API 调用,向 10 个社交平台发布视频、图片、文字与文档。

作者 victorcavero14375 次安装50 星标

通过托管 OAuth 代理访问 YouTube Data API v3,搜索与管理视频、播放列表、频道、订阅和评论。

作者 byungkyu880 次安装145 星标

以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。

作者 johnpatternai21 次安装8 星标

pdf

官方

用脚本读写、合并、拆分、旋转、生成、加水印、加密 PDF,并支持扫描件 OCR。

作者 Anthropic177.2k 星标

zt1314p-design 的更多技能

浏览全部技能

腾讯云试题批改Agent(SubmitQuestionMarkAgentJob/DescribeQuestionMarkAgentJob)接口调用技能。当用户需要对试卷图片或试题图片中的K12试卷或试题进行自动批改、手写答案识别、知识点分析时,应使用此技能。支持整卷图片批改和单题图片批改,提供题目切题、正误判定、...

作者 zt1314p-design28 次安装

腾讯云实时文档抽取Agent(ExtractDocAgent)接口调用技能。当用户需要从图片或PDF中按自定义字段名称进行结构化信息抽取时,应使用此技能。支持自定义字段名称、字段类型(KV对或表格字段)和字段提示词,实现灵活的文档信息提取。适用于合同、发票、报告等各类文档的结构化数据抽取场景。

作者 zt1314p-design27 次安装

腾讯云通用文字识别(高精度版)(GeneralAccurateOCR) 技能包。当用户发送/粘贴图片、提供图片URL、或要求识别图片中的文字时,应自动调用此技能。支持图像整体文字的检测和识别,支持中文、英文、中英文、数字和特殊字符号的识别,并返回文字框位置和文字内容。适用于文字较多、版式复杂、对识别准召率要求较高...

作者 zt1314p-design60 次安装1 星标

腾讯云表格识别v3(RecognizeTableAccurateOCR)接口调用技能。当用户需要从表格图片或PDF中识别常规表格、无线表格、多表格的内容,提取每个单元格的文字信息,或将表格图片识别结果导出为Excel文件时,应使用此技能。支持中英文表格图片、旋转表格图片、嵌套表格图片等复杂场景,识别效果优于表格识...

作者 zt1314p-design32 次安装

企业财报三表(资产负债表 / 利润表 / 纳税申报表)勾稽检查技能包。当用户上传财报PDF/图片、或要求进行财报审核、三表勾稽校验时,应自动调用此技能。支持从财报PDF/图片中结构化抽取三表关键数据,自动统一单位(万元)与币种(必要时按实时汇率折算为CNY),执行时间一致性/字段完整性/核心税会差异/跨表校验,并...

作者 zt1314p-design12 次安装

腾讯云行驶证识别(VehicleLicenseOCR)接口调用技能。当用户需要识别行驶证图片主页(车牌号码、车辆类型、所有人、住址、使用性质、品牌型号、识别代码、发动机号、注册日期、发证日期)或副页(号牌号码、档案编号、核定载人数、总质量、整备质量、核定载质量、外廓尺寸、准牵引总质量、备注、检验记录)信息时,应使...

作者 zt1314p-design25 次安装