本地离线OCR识别图片/PDF发票,自动分类专票/普票/电子普票,生成月度报销台账,断网可用,财务数据不向外传输。采用「本地OCR取字为主 + 本地多模态大模型(VLM)辅助字段定位」的混合路线,兼顾数字准确率与版式适应性。
设计与多媒体
发票信息整理与清单
试用整理一批发票/票据 PDF(增值税普通发票、铁路电子客票、住宿交通餐饮等),按购买方抬头归档到对应项目并出具报销清单。本技能应在用户需要整理发票报销、把发票归档到项目、或出具报销/消费清单时使用。不要用于:合同/法律文书合规审查、证据实体分析、PDF 合并压缩加页码(用 pdf-processor)、扫描件 OCR 转写(用 legal-ocr)。
它能做什么
整理一批发票/票据 PDF(增值税普通发票、铁路电子客票、住宿交通餐饮等),按购买方抬头归档到对应项目并出具报销清单。本技能应在用户需要整理发票报销、把发票归档到项目、或出具报销/消费清单时使用。不要用于:合同/法律文书合规审查、证据实体分析、PDF 合并压缩加页码(用 pdf-processor)、扫描件 OCR 转写(用 legal-ocr)。
技能文档
发票信息整理与清单出具
读取一批发票 PDF 的结构化信息,向上回溯项目上下文填补事由,归档到对应项目,并出具清单(默认报销清单,可切换为消费清单、对账流水等其他形态)。
何时使用
- 用户给出一个或多个发票/票据 PDF(交通、住宿、餐饮、办公采购等),需要整理报销
- 用户要把发票归档到某个案件/项目目录,并生成清单
- 触发词:"这几张发票报销""整理一下这批发票""做个报销清单""这些票归到 XX 项目""出个消费清单""按项目整理发票"
不适用:发票的法律/税务合规审查、作为诉讼证据的实体分析、PDF 物理处理(合并/压缩/页码)。
工作流程
1. 提取发票文本
优先用 pdftotext(poppler)提取文本层,电子发票大多自带文本层,开箱即用:
pdftotext -layout "发票.pdf" -
批量提取多个 PDF 用本 skill 脚本(自动分隔、缺失依赖给提示):
python3 scripts/extract_invoice.py 发票1.pdf 发票2.pdf 发票3.pdf
# 或传一个目录
python3 scripts/extract_invoice.py ~/Downloads/
若 pdftotext 无文本输出(扫描件/图片型发票),降级到 OCR:调用 legal-ocr 或 pdf skill。
2. 识别关键字段
从文本中解析每张发票的核心字段,识别要点见 references/invoice-field-guide.md。常用类型速查:
| 发票类型 | 必抓字段 |
|---|---|
| 铁路电子客票 | 发到站、车次、日期、票价、乘车人、购买方、发票号 |
| 增值税普通发票(住宿/餐饮/服务) | 购买方、销售方、项目、金额、税额、价税合计、发票号、开票日期 |
无法确认的字段标注"待人工确认",不臆测。
3. 匹配所属项目
按**购买方名称(发票抬头)**判断这批发票归属哪个项目:取购买方全称在工作文档库中检索匹配的委托人/客户;同抬头的发票归同一项目;无法匹配时向用户确认,不擅自归档。
4. 读取项目上下文(向上回溯事由)
从发票所在位置(或拟归档位置)向上回溯,读取所属项目的信息文件,用于填补清单"报销信息"表的事由/案号/日期/路线/报销单位:
python3 scripts/find_project_context.py "发票所在目录或文件路径"
识别与提取要点见 references/project-context-guide.md。核心映射:
| 清单字段 | 项目上下文来源 |
|---|---|
| 事由 | 项目/案件名称 + 触发出行的事件 |
| 案号 | 项目信息.md 的"法院案号" |
| 日期 | 与发票业务日期匹配的项目时间线事件 |
| 路线 | 事件地点(如法院所在地)↔ 常驻地 |
| 报销单位 | 委托人/客户(与发票购买方交叉验证) |
| 出差人 | 承办律师/项目出差人员 |
把发票业务日期与项目时间线对照,推断本次出行事由(如发票 06-15~17 + 项目"06-16 石家庄开庭" → 事由"赴石家庄参加第一次开庭")。无法从上下文确认的,向用户核实,不臆造。
5. 归档到项目报销目录
确定归属项目后,把发票复制(不移动,保留原件)到该项目的报销子目录:
- 目标目录由 AI 依据该项目实际目录结构判断,不强绑固定路径
- 诉讼案件(12 目录体系):常见于"其他材料/杂项"类目录下,不进证据/文书等案件实体目录
- 无明显目录时,新建一个
报销/(默认;差旅等可进一步子分类,如报销/差旅/)
- 发票文件规范命名:
YYMMDD 类型 摘要 [人名].pdf- 业务日期(非开票日期)+ 类型 + 关键摘要 + 可选相关人员
- 示例:
260615 高铁票 苏州北-石家庄 G1220 张某.pdf - 示例:
260615-0617 住宿费 石家庄XX酒店.pdf - 示例:
260620 餐饮费 XX餐厅 部门聚餐.pdf
6. 出具清单
读取的发票信息可生成多种清单——报销清单(默认),也可按需输出消费清单、对账流水、按月汇总等。用户未指定时默认出具报销清单。模板与命名规范见 references/output-template.md。
默认输出风格(除非用户另行要求):
- 清单含两部分:报销信息表 + 凭证明细表
- 报销信息表的事由/案号/日期/路线等优先取自第 4 步项目上下文,并与发票抬头交叉验证
- 凭证明细列:
序号 | 日期 | 类型 | 摘要 | 金额(元) | 发票号,末行合计 - 不加 emoji、不加备注或说明性文字段落
- 涉及人员只写姓名,不写身份证号等证件信息
- 清单文件名:
YYMMDD 报销清单.md(YYMMDD 为预计发送日期,询问用户,无则取当天) - 类型枚举涵盖 交通/住宿/餐饮/办公采购 等,不限于差旅
验收标准
完成一次发票整理后,按下述门控自检。任一 Hard Fail 命中即判定本次输出不合格,不可交付。
Hard Fail(一票否决)
- 不得编造:发票字段、金额、事由必须取自发票原文或项目上下文;取不到一律标"待确认",不臆测、不补全
- 归档不错配:发票购买方抬头与目标项目委托人不匹配时,必须向用户确认,不擅自归档
- 原件不动:归档一律
cp复制,禁止mv移动或删除原件 - 脱敏:清单与归档文件名只写姓名,不得出现身份证号、电话等证件信息
- 事由不杜撰:发票业务日期与项目时间线无对应事件时,事由标"待确认",不凭地名或日期编造出行目的
完成条件(可机判)
- 凭证明细表末行有合计,且合计金额 = 各明细金额之和
- 每张发票已匹配到唯一项目,或标注"待确认"(无孤儿发票)
- 所有日期统一
YYYY-MM-DD;归档文件名与清单"日期"列用业务日期(非开票日期) - 清单文件名
YYMMDD 报销清单.md(YYMMDD 为预计发送日,已询问用户) - 无 emoji、无说明性备注段落、人员无证件号
典型场景自检
输入:2 张发票(1 张高铁票 + 1 张住宿费),购买方为同一公司,业务日期落在某案件"XX 开庭"时间线前后。
应产出:
- 两张发票归同一项目,归档目录为该项目的
报销/子目录 - 事由从开庭事件推断(如"赴 XX 参加开庭"),非编造
- 凭证明细 2 行 + 合计行,金额取价税合计(含税)
- 清单"报销单位"= 购买方名称,与项目委托人交叉验证一致
不在本 skill 验收范围:OCR 识别精度本身(扫描件降级到 legal-ocr)、发票真伪、税务合规判断。
依赖
系统依赖
| 依赖 | 安装方式 |
|---|---|
poppler(提供 pdftotext) | macOS: brew install popplerLinux: sudo apt-get install poppler-utils |
仅"文本提取"需要 poppler;文本层缺失时改用 OCR skill,不强制安装。scripts/find_project_context.py 仅用 Python 标准库,无需安装。
与其他技能配合
- legal-ocr / pdf:
pdftotext无文本层时,用其 OCR 能力识别扫描件/图片型发票 - new-case:归档目标若为诉讼案件,目录体系与项目信息文件由 new-case 定义,本 skill 依据其结构判断报销子目录与回溯上下文
- xlsx:如需把清单导出为 Excel 表格,交由 xlsx skill 处理
相关技能
面向上市公司的发票识别与自动入账技能包,通过 OCR 拍照/截图提取发票数据, 自动分类并匹配入账。支持增值税专用发票、普通发票、全电发票、机动车发票、 通行费、火车票机票等全类型发票,实现发票验真、自动分类、三单匹配和台账管理。
读取并分析本机“小河狸发票助手”软件中的数据。当用户要求连接小河狸发票助手、查询发票台账或明细、选择公司、统计进销项、分析客户/供应商/商品排行、查看月度开票趋势、汇总税额,或查询已归档电子发票附件时使用。通过应用的 localhost Skill API 在本机处理数据。 当前版本主要用于只读提取数据,不支持通过智能体导入、修改或删除发票数据。`open-attachment` 只会在本机调用系统默认程序打开已归档的 PDF/OFD/XML 文件,不会把文件内容上传到智能体或云端。
AI发票报销助手。上传发票图片自动识别关键信息,智能分类费用类型,查重预警防重复报销,生成可视化HTML报销报告。支持录入/查询/删除/导出全流程。触发词:发票报销、发票识别、整理报销、报销单、发票录入、invoice reimbursement、帮我看看发票、录入发票、报销报告、查发票。
出差报销整理向导。零配置即用——发票照片 AI 视觉直接识别,按类别+时间整理发票、重建行程日志、生成报销单、自动计算差补、税额分离、退改签/红字发票处理、合规审查(连号发票/人均超标/证据链/住宿缺失/交通断链/抬头核对/发票章检测)。已接入在线文档/批量 OCR/会议日程等服务时自动增强。触发:帮我整理报销、...
从邮箱自动搜索下载发票/行程单附件,智能三级文字提取(PyMuPDF/Tesseract/PaddleOCR自动降级),发票+行程单合并排版到A4纸,生成双Sheet费用清单Excel。零OCR依赖即可处理90%+电子发票。