尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
增值税发票OCR识别API参数详解与最佳实践
适用场景增值税发票识别的核心价值在于将纸质或电子发票图像转化为结构化数据。典型应用场景包括企业财务报销系统员工拍照上传发票自动提取金额、税号、日期等信息减少人工录入。发票核查与验真OCR提取的发票代码、号码可作为查验平台的输入参数。供应链对账自动归档进项发票比对购销双方信息匹配订单金额。电子档案管理批量扫描历史发票建立可搜索的电子档案库。这些场景的共同需求是高识别精度与标准化输出本文介绍的 API 可输出 22 结构化字段并针对增值税专用/普通/电子发票做了专项优化。接口能力与限制端点POST https://v1.apizero.cn/api/invoiceQPS2 请求/秒超限将返回 429 状态码图片处理支持 URL 或 Base64 输入单张图片 Base64 最大 6MB建议 1MB 以内以获得最佳性能输出字段22 个包括发票基本信息、购销方详情、商品明细items 数组、金额大小写等结果缓存同一张图片按文件哈希1 小时内重复请求返回相同结果避免浪费调用次数注意接口不直接验真仅作 OCR 识别。发票真伪核验需配合税务官方系统。鉴权方式该 API 支持两种鉴权策略匿名调用每日 5 次无需任何 HTTP 头直接 POST。API Key 鉴权在请求头中添加Authorization: Bearer sk_live_xxxxxxxx或X-API-Key: sk_live_xxxxxxxx两种方式等效推荐使用更标准的Authorization头部。实际生产中请使用生产 Key避免匿名调用额度不足导致报错。请求参数详解请求体为 JSON 格式必须包含以下两个字段字段名类型必填说明input_typestring是url或base64指定输入形式input_datastring是当input_typeurl时公网可访问的图片 HTTP/HTTPS 链接当input_typebase64时图片的 Base64 编码字符串最大 6MB可包含data:image/jpeg;base64,前缀SDK 会自动剥离请求头要求Content-Type必须为application/json注意部分旧版文档可能写application/x-www-form-urlencoded但实际 JSON 标准请求体使用application/json兼容性更好参数选择建议如果图片已存储在对象存储OSS或 CDN优先使用url模式减少客户端编码开销。如果图片来自本地文件、相机拍照建议用base64模式直接在前端或后端转为 Base64 传入避免上传依赖。curl 请求示例以下示例使用 API Key 鉴权并采用 URL 模式发送图片curl -sS -X POST \ -H Authorization: Bearer sk_live_您的密钥 \ -H Content-Type: application/json \ -d {input_type: url, input_data: https://example.com/invoice.jpg} \ https://v1.apizero.cn/api/invoice若使用 Base64 模式先获取图片的 Base64 字符串可通过base64 invoice.jpg | tr -d \n生成然后构造请求体#!/bin/bash # 注意实际使用时替换 API Key 和图片路径 API_KEYsk_live_您的密钥 IMAGE_B64$(base64 -w0 invoice.jpg) curl -sS -X POST \ -H Authorization: Bearer $API_KEY \ -H Content-Type: application/json \ -d {\input_type\: \base64\, \input_data\: \$IMAGE_B64\} \ https://v1.apizero.cn/api/invoice返回字段详解成功响应的状态码为200返回 JSON 结构如下{ code: 0, msg: 成功, request_id: abc123def456, data: { invoice_name: 增值税电子普通发票, invoice_code: 011002000311, invoice_no: 12345678, invoice_date: 2024-08-15, check_code: 12345 67890 12345 67890, machine_num: 499099111111, total_price: 94.34, total_tax: 5.66, total_price_and_tax: 100.00, big_total_price_and_tax: 壹佰圆整, drawer: 王五, payee: 张三, reviewer: 李四, remarks: , buyer: { name: 某某科技有限公司, taxpayer_no: 91110000XXXXXXXXXX, address_phone: 北京市XX区XX路XX号 010-12345678, account: 中国银行 6217001234567890 }, seller: { name: 某某商贸有限公司, taxpayer_no: 91310000YYYYYYYYYY, address_phone: 上海市XX区XX路XX号 021-87654321, account: 工商银行 6222001234567890 }, items: [ { name: *技术服务*软件开发服务, specification: , unit: , quantity: , unit_price: , amount: 94.34, tax_rate: 6%, tax: 5.66 } ] } }关键字段说明基础信息invoice_name为《增值税专用发票》《增值税普通发票》《电子普通发票》等check_code仅在专票/普票中常见电子普票可能为空。金额字段total_price不含税金额、total_tax税额、total_price_and_tax价税合计。三个字段均为字符串返回时保留两位小数。购销方对象buyer和seller均包含name、taxpayer_no、address_phone、account四个字段若无则返回空字符串。items数组每一条商品明细包含 8 个字段其中name为票据上的名称可能包含*分隔符。amount为该条金额不含税tax为该条税额tax_rate含百分号。big_total_price_and_tax大写金额仅部分发票支持。注意code为0表示识别成功非0时请查看msg字段获取错误原因。常见错误与排查错误表现可能原因解决方案400 Bad Requestmsg: input_data is empty图片参数为空或失真检查input_data值是否是有效 URL 或 Base64 字符串401 UnauthorizedAPI Key 无效或未带鉴权头确认 Key 前缀为sk_live_并放入正确请求头413 Payload Too LargeBase64 图片体积超过 6MB压缩图片至 1MB 内JPEG 质量 80%或改用 URL 模式429 Too Many RequestsQPS 超限2/s加入重试退避逻辑或降低请求频率502 Bad Gateway/ 超时图片不可达URL 模式或服务器内部处理异常确认 URL 公网可访问且图片格式为 jpg/png/bmp若持续出现请联系技术支持200 OK但data中关键字段为空图片质量差、文字模糊、发票种类不在支持范围内提升图片分辨率建议800px宽确保发票区域完整且无遮挡工程化最佳实践图片预处理建议上传前统一转为 JPEG质量 90%宽度至少 1024px可有效提升识别率。PDF 发票需先转换为单张图片。输入模式选择若前端直连 APIBase64 模式简单若通过后端中转URL 模式可避免多次转码。对于生产环境建议将图片上传到 OSS 再传 URL后端只需管理一次鉴权。结果缓存利用同一个请求参数同一张图片在一小时内返回相同结果因此业务端无需额外去重但注意图片修改即使微小变化会导致新哈希。错误重试策略遇到 429 或 5xx 错误时采用指数退避如 1s、2s、4s最多重试 3 次。对 4xx 错误如 401、413不应重试应直接记录并通知开发。字段校验返回的金额字段为字符串建议解析为Decimal避免浮点精度损失。商品明细数组items长度可能为 0部分简易发票不展示明细业务代码需兼容空数组。幂等性每次调用均生成新的request_id可用于日志追踪和计费核对建议在日志中保留该 ID。参考文档增值税发票识别 API 文档原始接口 Markdown
RELATED

相关推荐

Mycelium操作系统:革命性WebAssembly微内核系统的完整指南

Mycelium操作系统:革命性WebAssembly微内核系统的完整指南

Mycelium操作系统:革命性WebAssembly微内核系统的完整指南 【免费下载链接】mycelium 🍄 an alleged operating system 项目地址: https://gitcode.com/gh_mirrors/my/mycelium Mycelium操作系统是一款基于WebAssembly微内核架构的现代操作系统&a…

📅 2026/9/12 3:16:10
5分钟快速掌握网页资源嗅探:免费开源工具完整使用指南

5分钟快速掌握网页资源嗅探:免费开源工具完整使用指南

5分钟快速掌握网页资源嗅探:免费开源工具完整使用指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否经常遇到想要下载网页视频…

📅 2026/7/20 12:32:29
CMake-IDE 核心功能解析:自动补全、语法检查和代码导航的完整教程

CMake-IDE 核心功能解析:自动补全、语法检查和代码导航的完整教程

CMake-IDE 核心功能解析:自动补全、语法检查和代码导航的完整教程 【免费下载链接】cmake-ide 项目地址: https://gitcode.com/gh_mirrors/cm/cmake-ide CMake-IDE 是一款专为 Emacs 用户设计的插件,能够将 Emacs 转变为功能强大的 CMake 项目开…

📅 2026/7/20 1:51:55
MORE NEWS

更多资讯

📰

PeakTech P1260台式示波器:12位ADC+触摸屏的产线级实用主义选择

1. 这台“P1260”不是玩具,是能扛起产线调试、教学验证和维修诊断三重任务的台式示波器 PeakTech台式示波器P1260——这个型号名一出现,我就知道它不是冲着“网红爆款”去的,而是奔着实验室抽屉里那台总在关键时刻掉链子的老款模拟机、学校电…

📰

SpringBoot实现企业级Wiki系统的RBAC权限管理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

FOC驱动小体积高扭矩瓶颈:MCU时间精度与MOS开关损耗硬约束

1. 项目概述:为什么“通用MCU 硅MOS”在FOC驱动中总卡在体积与扭矩的死结上?你有没有拆过市面上那些标称“300W无刷电机驱动板”,尺寸比信用卡还小,却能带12V/25A持续电流、堵转扭矩轻松破1.5Nm?打开外壳一看&#xf…

📰

VS Code搭建STM32开发环境:从安装到编译烧录全流程

1. 为什么嵌入式开发要转向 VS Code提到 STM32 开发,很多人脑子里第一反应还是 Keil MDK、IAR 这类老牌 IDE。确实,在很长一段时间里,这两家几乎垄断了 ARM Cortex-M 生态的工具链。但如果你最近接触过开源社区或者逛过嵌入式相关的论坛&…

📰

汽车电子精密制造数字化转型:ONES解决方案解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Python电商推荐系统实战:从算法到毕业设计

1. 项目概述:当机器学习遇上电商推荐去年帮学弟调试他的毕业设计时,我盯着那个准确率卡在62%的推荐系统突然意识到——商品推荐可能是机器学习领域最"表里不一"的应用。表面看就是个评分预测问题,但当你真正动手构建时,…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬