pengyulong

发票内容识别

办公效率v1.0.0
作者:pengyulong更新于 2026-05-11invoice-ocr@clawhub_pengyulong/invoice-ocr
文档处理表格处理#Invoice#OCR#发票#批量处理#PDF

据 AlphaMoat 统计,截至 2026-09,发票内容识别 累计下载 4,199 次、获 0 个星标,在全部 5,078 个 AI 技能中排名第 2,383 位,在「办公效率」分类(435 个)中排名第 201 位。

累计安装
573
累计下载
4,199
星标
-
全站排名
#2,383
全站前 47% · 「办公效率」前 47%
平台累计安装累计下载星标评论
ClawHub ↗281,098--
SkillHub ↗5734,199-—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

支持单页与多页 PDF 以及常见图片格式的发票,调用百度云的增值税发票接口抽取字段,专用接口失败时降级到通用识别,最后输出 Excel 报告。每条结果会按字段完整度与引擎置信度打分,便于先筛出可疑件。文件格式不在支持列表里会直接判为无效输入。发票图片和提取出的税务/业务数据会发送到百度云 OCR;只处理获准外传的文件。保护凭据,并在独立虚拟环境中安装、审核依赖,避免改写系统 Python 包。OCR 评分只用于筛查,关键字段仍需人工核实。

资料发布于 2026-10-27

可以用来做什么

  • 把一批发票扫成一页行数据的表格
  • 挑出识别置信度低、需要人工复核的单据

什么时候用

  • 要批量录入报销发票时
  • 需要把 PDF 与图片发票统一成表格时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

把这批发票识别成 Excel
看看哪些发票的识别置信度偏低

月度数据趋势

累计下载4,199
5732,5214,4682026-03 · 累计下载 8422026-05 · 累计下载 1,9622026-06 · 累计下载 2,2532026-07 · 累计下载 2,7552026-08 · 累计下载 3,1982026-09 · 累计下载 4,19926-0326-09
星标-
0112026-03 · 星标 -2026-05 · 星标 -2026-06 · 星标 -2026-07 · 星标 -2026-08 · 星标 -2026-09 · 星标 -26-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-094,199—-
2026-083,198+16.1%-
2026-072,755+22.3%-
2026-062,253+14.8%-
2026-051,962—-
2026-03842—-

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

5.1 KB · ClawHub v1.0.0
---
name: invoice-ocr
description: >
  增值税发票识别技能:自动识别 PDF(单页/多页)或各种常见图片格式(PNG/JPG等)的发票,调用百度云增值税发票 OCR API
  提取关键信息,输出结构化 Excel 报告。适用于以下场景:
  用户上传发票文件并要求识别、提取、转换信息时;需要批量处理发票并生成 Excel 汇总表时;
  需要对发票进行检测、内容识别和自动质量评估时;提及"发票识别"、"增值税发票"、"OCR识别"、
  "invoice recognition"、"百度OCR" 等关键词时。
  即使用户只是简单指示"帮我识别这张发票",也应触发本技能。
  输出包含三个核心处理流:发票预检测、结构化字段提取、质量评分评估,最终落地为直观的 Excel 文件。
展开全部(共 118 行)
compatibility: "pip: pymupdf openpyxl requests Pillow python-dotenv"
---

# 增值税发票识别技能 (VAT Invoice OCR Skill)

## 概述

本技能支持 **PDF(单页/多页)** 和 **常见图片格式** 的发票识别,底层强依赖**百度云增值税发票 OCR 接口**,将非结构化文档转化为结构化数据,并输出为 Excel 报告。核心处理包含三个模块:

1. **发票检测** — 过滤非发票图像、初判发票类型。
2. **内容识别** — 调用百度云专用 API 提取核心字段(失败时自动降级通用 OCR)。
3. **质量评估** — 基于字段完整度和引擎置信度进行自动化打分。

---

## 工作流程

### 步骤 1:环境与凭证检查

在执行任务前,必须确认以下条件:
* **输入文件有效性**:文件格式须为 `.pdf` / `.png` / `.jpg` / `.jpeg` 等支持的格式。
* **环境变量配置 (`.env`)**:工作目录下必须存在 `.env` 文件,且包含 `BAIDU_API_KEY` 和 `BAIDU_SECRET_KEY`。
  * 若未检测到配置,**必须主动询问用户**。若用户无凭证,引导其前往 [百度智能云控制台](https://console.bce.baidu.com/) 免费申请。
* **输出路径**:确认最终生成的 Excel 文件存放位置(默认:`result.xlsx`)。

### 步骤 2:安装依赖并执行

```bash
# 1. 安装核心依赖
pip install pymupdf openpyxl requests Pillow python-dotenv --break-system-packages -q

# 2. 运行极简命令行
python invoice_ocr_main.py \
  --input <文件路径> \
  --output ./outputs/发票识别结果.xlsx

```

### 步骤 3:结果交付

向用户交付生成的 Excel 文件,并简明扼要地总结处理情况(例如:"已成功处理包含 3 页的 PDF,成功识别 2 张增值税专用发票,1 页因非发票内容已跳过,请查看 Excel 汇总。")。

---

## 核心架构与模块说明

脚本 `invoice_ocr_main.py` 的核心架构如下:

### 1. 输入处理 (InputHandler)

* 统一将不同类型的输入转化为标准的 JPEG 字节流列表。
* 对大尺寸图片(>3MB)或高分辨率图像自动执行比例裁剪和质量压缩,规避 API 负荷限制。

### 2. 发票检测 (InvoiceDetector)

* 基于图像尺寸进行初步过滤(剔除极小图片)。
* 结合 OCR 提取的文本内容,通过正则和关键词(如"增值税专用发票"、"价税合计"等)确切判定发票类型并输出置信度。

### 3. 内容提取 (ContentExtractor)

* 严格通过 `python-dotenv` 读取鉴权信息,获取并缓存 Access Token。
* 优先请求 `vat_invoice` 增值税专用接口。
* 若接口返回错误码(如非标准发票类型),无缝降级调用 `general_basic` 通用文字识别接口,并通过正则尽力挽救关键数据。
* 内置自动重试机制(最高 3 次,间隔递增),增强网络抗抖动能力。

### 4. 质量评估 (QualityAssessor)

系统对成功识别的发票进行满分 100 分的量化评估,权重分配如下:

| 评估维度 | 权重 | 说明 |
| --- | --- | --- |
| **字段完整性** | 60% | 校验核心字段(号码、日期、买卖双方、总金额)是否提取成功 |
| **图像清晰度** | 40% | 基于 OCR 引擎返回的文本置信度转化 |

**评级标准:**

* 🟢 **优秀 (90-100)**:无需人工干预
* 🟡 **良好 (70-89)**:建议抽查核心金额
* 🔴 **较差 (<70)**:必须人工核验或重新扫描

---

## Excel 报告输出结构

数据导出为单 Sheet(**"发票汇总"**),主打高度概括和直观,包含以下核心列头:

* 页码
* 发票类型
* 发票号码
* 开票日期
* 销售方
* 购买方
* 价税合计
* 质量评估(直接展示红黄绿指示灯及评级,如 "🟢 优秀")

---

## 边缘 Case 容错处理

| 异常场景 | 系统的自动化处理策略 |
| --- | --- |
| **多页混排 PDF** | 使用 PyMuPDF 逐页渲染分离,独立处理并汇总到同一 Excel |
| **超大图片超限** | 自动按长宽比不超过 3:1 裁剪,并递减 JPEG 质量直至满足百度接口要求 |
| **API 调用失败** | 阶梯式延迟重试 3 次,彻底失败则在 Excel 记录"识别失败"并继续处理下一页 |
| **非发票 / 空白页** | `has_invoice` 标记为 False,跳过 API 消耗并在 Excel 中如实记录 |
| **字段含扰码/空格** | 代码层面对提取的发票号码、税号进行 `.strip()` 和 `.replace(" ", "")` 清洗 |

---

「办公效率」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。