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

Polar Sponsor
爱发电 赞助
.NET 9.0

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

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

功能概述

腾讯云通用票据识别高级版 (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 脚本完成通用票据识别。

请求参数

参数 类型 必填 说明
ImageBase64 str 否(二选一) 图片/PDF的Base64值,编码后不超过10M,像素需介于20-10000px,支持PNG/JPG/JPEG/PDF
ImageUrl str 否(二选一) 图片/PDF的URL地址,都提供时只使用ImageUrl
IsPdf bool 否 是否开启PDF识别,默认false,开启后可同时支持图片和PDF的识别
PdfPageNumber int 否 PDF页码,仅当IsPdf=true时有效,默认1,必须>=1
UserAgent str 否 请求来源标识(可选),不传时自动探测平台

输出格式

识别成功后返回 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形式):

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

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

VatInvoiceItem 结构(明细条目):

字段 类型 说明
LineNo str 行号
Name str 项目名称
Spec str 规格型号
Unit str 单位
Quantity str 数量
UnitPrice str 单价
AmountWithoutTax str 不含税金额
TaxRate str 税率
TaxAmount str 税额
TaxClassifyCode str 税收分类编码
VehicleType str 运输工具类型
VehicleBrand str 运输工具牌号
DeparturePlace str 起始地
ArrivalPlace str 到达地
TransportItemsName str 运输货物名称
ConstructionPlace str 建筑服务发生地
ConstructionName str 建筑项目名称

错误码说明

错误码 含义
FailedOperation.DownLoadError 文件下载失败
FailedOperation.EmptyImageError 图片内容为空
FailedOperation.ImageBlur 图片模糊
FailedOperation.ImageDecodeFailed 图片解码失败
FailedOperation.ImageNoText 图片中未检测到文本
FailedOperation.ImageSizeTooLarge 图片尺寸过大,请确保编码后不超过10M,像素介于20-10000px
FailedOperation.OcrFailed OCR识别失败
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```

相关专题

更多
国内免备案空间有哪些
国内免备案空间有哪些

国内免备案空间有阿里云、腾讯云、百度云、华为云、网易云、联想云、沃达云、景安云、西部数码和3A 网络。虽然这些空间提供商提供了免备案服务,但在使用过程中仍需遵守相关法律法规,确保网站内容的合规性。

2023.10.16

410

5

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
腾讯问卷设置问卷操作指南
腾讯问卷设置问卷操作指南

共0课时 | 0人学习

腾讯问卷 PC 端快速入门
腾讯问卷 PC 端快速入门

共0课时 | 0人学习

CodeBuddy官方文档
CodeBuddy官方文档

共0课时 | 0人学习