RapidOCR 发票票据识别

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

OCR 识别发票/票据图片并提取关键字段(价税合计金额、发票号码、开票日期等)。基于 RapidOCR (ONNX Runtime) 引擎,纯 CPU 运行,支持电子发票(数电票)和纸质增值税专用/普通发票扫描件。适用于从 docx/pdf 文档批量提取发票金额、记账凭证数字化、票据信息自动录入、财务报销审核等场景。This skill should be used when users need to OCR invoice or receipt images, extract amounts from invoices, batch process invoice images embedded in Word/PDF documents, digitize paper invoices, or automate bookkeeping and accounting data entry.

一句话选型结论

按资料字段整理

RapidOCR 发票票据识别是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_535eed5d/rapidocr-invoice
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_535eed5d仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791737659
正文体量7.7 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
RapidOCR 发票票据识别当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

7.7 KB
模型实际读到的说明书原文,来自技能仓库

RapidOCR 发票票据识别技能

概述

使用 RapidOCR (rapidocr-onnxruntime) 引擎对发票/票据图片进行 OCR 识别,提取关键字段:价税合计金额、发票号码、开票日期、销售方/购买方名称等。支持电子发票(数电票 PNG)和纸质增值税专用/普通发票扫描件(JPEG/PNG),纯 CPU 运行,无需 GPU。

核心能力

  • 批量 OCR 识别:支持单张或目录批量处理发票图片
  • 智能金额提取:自动定位"价税合计(小写)"行,提取金额并交叉验证
  • 文档图片提取:从 docx 文档中提取嵌入的发票图片,按段落上下文建立客户-发票对应关系
  • 重复引用检测:检测同一图片在文档中被多次引用的情况,按实际引用次数累计金额
  • 交叉验证机制:通过"金额 + 税额 = 价税合计"和大写金额双重校验,自动发现 OCR 丢字问题
  • Excel 报表生成:一键生成包含汇总表和明细表的标准 Excel 报表

技术特性

特性 说明
OCR 引擎 RapidOCR (ONNX Runtime),中文识别准确率高
运行环境 纯 CPU,无需 GPU,普通 2 核服务器即可运行
模型体积 约 15MB,首次加载后毫秒级响应
支持发票类型 电子发票(数电票)、增值税专用发票、增值税普通发票
提取字段 价税合计金额、发票号码、开票日期、销售方/购买方、税额等
输出格式 JSON 结构化数据、Excel 汇总报表

适用场景

  • 企业财务:从合同文档中批量提取发票金额,按客户/供应商汇总统计
  • 记账软件:发票图片自动识别并录入金额、发票号等字段,替代手工录入
  • 报销审核:批量扫描报销发票,自动提取金额并校验合理性
  • 税务合规:发票信息数字化归档,便于查询和审计
  • 数据分析:将纸质票据转化为结构化数据,支持后续财务分析

环境安装

前置条件

  • Python 3.10+
  • 操作系统:Windows / Linux / macOS

创建独立 OCR 虚拟环境

建议在独立 venv 中安装,避免依赖冲突:

# 创建 venv
python -m venv ocr_env

# 激活(Windows)
ocr_env\Scripts\activate
# 激活(Linux/macOS)
source ocr_env/bin/activate

# 安装依赖
pip install rapidocr-onnxruntime Pillow openpyxl

验证安装:

python -c "from rapidocr_onnxruntime import RapidOCR; engine = RapidOCR(); print('OCR engine ready')"

使用流程

第一步:从 docx 文档提取发票图片(可选)

当发票图片嵌入在 Word 文档中时,使用 scripts/extract_docx_images.py 提取图片并建立上下文对应关系:

python scripts/extract_docx_images.py <docx文件路径> [--output <输出目录>]

该脚本会:
1. 解压 docx(本质为 ZIP),提取 word/media/ 下所有图片
2. 解析 word/document.xml 和 word/_rels/document.xml.rels
3. 按文档段落顺序建立图片与上下文文字(如客户名称)的对应关系
4. 自动区分 JPEG(通常为合同/证明材料)和 PNG(通常为电子发票)
5. 检测同一图片在文档中被多次引用的情况(同一 rId 出现多次 blip 引用),不去重

第二步:OCR 识别并提取金额

使用 scripts/ocr_invoices.py 进行批量 OCR 识别和金额提取:

python scripts/ocr_invoices.py <图片目录或文件> [--output <结果JSON路径>] [--scale 1.5] [--contrast 1.5]

参数说明:
- --scale:图片放大倍数(默认 1.5,提高小字识别率)
- --contrast:对比度增强系数(默认 1.5)
- --output:结果输出 JSON 文件路径

输出 JSON 格式:

[
  {
    "image": "image5.png",
    "amount": 131741.27,
    "invoice_number": "25442000000012345678",
    "date": "2024-03-15",
    "raw_text": "..."
  }
]

第三步:金额交叉验证(可选)

使用 scripts/verify_amounts.py 验证 OCR 结果准确性:

python scripts/verify_amounts.py <OCR结果JSON路径> [--output <验证报告路径>]

验证逻辑:
- 金额(不含税)+ 税额 = 价税合计 → 等式成立则通过
- 大写金额反推数字金额 → 与 OCR 识别金额比对
- 标记验证失败的记录,提示人工复核

金额提取规则

中国发票的"价税合计(小写)"金额提取遵循以下优先级规则:

  1. 首选规则:查找包含"价税合计"且包含"小写"的行,在其后 3 行范围内匹配 (小写)¥XXX,XXX.XX 格式
  2. 备选规则 1:匹配 ¥ 后跟数字(含千分位逗号)的金额
  3. 备选规则 2:取文本中所有 ¥ 金额的最大值(适用于发票总额最大的场景)
  4. 交叉验证:当金额 + 税额可计算时,验证等式 金额(不含税) + 税额 = 价税合计,用于发现 OCR 丢字问题

常见问题与处理

OCR 识别金额丢失首位数字

电子发票中"(小写)"后的金额可能因字体渲染问题导致首位数字丢失(如 66854.00 识别为 6854.00)。

解决方案:
- 交叉验证:金额(不含税) + 税额 = 价税合计,若等式不成立则 OCR 结果可能有误
- 大写金额验证:OCR 同时识别"价税合计(大写)"行,通过大写金额反推数字金额
- 图片放大:使用 --scale 2.0 放大图片后重新 OCR

文档中同一图片被多次引用

Word 文档中同一张图片可能被插入多次(document.xml 中同一 rId 出现多次 blip 引用)。处理时需注意:
- 解析 XML 时不要去重 blip 引用,按实际出现次数计数
- 同一图片文件出现 N 次,金额应累计 N 次

电子发票 vs 纸质发票金额行位置不同

  • 电子发票(PNG,如数电票):"价税合计"行通常在图片高度的 52%-66% 区域
  • 纸质发票扫描件(JPEG/PNG):"价税合计"行通常在图片高度的 70%-82% 区域

批量处理时可采用双区域裁剪策略,同时截取两个候选区域拼接后 OCR。

参考文档

  • references/invoice_formats.md:中国发票格式说明、OCR 金额提取正则表达式、常见字段定位参考
  • references/integration_guide.md:将 RapidOCR 嵌入到应用(小程序后端、桌面工具、Web 服务)的集成方案

脚本清单

脚本 功能
scripts/extract_docx_images.py 从 docx 文档提取图片并建立客户-发票映射
scripts/ocr_invoices.py 批量 OCR 识别发票图片,提取金额等关键字段
scripts/verify_amounts.py 金额交叉验证(金额+税额=价税合计)

常见问题

5 问
答案由本站依据条目字段整理
RapidOCR 发票票据识别怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_535eed5d/rapidocr-invoice。安装方式为未标注。装完刷新技能列表或重开客户端。

RapidOCR 发票票据识别支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

RapidOCR 发票票据识别权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

RapidOCR 发票票据识别收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

RapidOCR 发票票据识别用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。