提取ofd格式电子发票发票号码发票信息

SKILL研究检索
研究检索 未标注权限 许可证不明确
安装这个技能

从OFD格式电子发票中自动提取发票号码,支持批量上传,输出为Excel明细表,方便后续查重、统计和管理。

一句话选型结论

按资料字段整理

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

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

安装

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

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

  2. 2
    拿到技能文件

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

  3. 3
    刷新技能列表

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

  4. 4
    验证是否生效

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

技能档案

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

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
查资料并整理出处

让模型按主题查资料,并把引用来源整理成清单。

网页与文献要点提炼

把长文、论文、网页压成能直接看的要点。

竞品与行业汇总

按关键词汇总竞品动态与行业信息。

选择建议

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

值得选的地方

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

先想清楚的地方

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

更适合

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

不太适合

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

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
提取ofd格式电子发票发票号码发票信息当前 未标注权限 未标注 未标注 未标注 有
寻找技能 浏览器控制 GitHub 仓库 3120.0 万 Codex、Claude、Cursor 有
自我改进 Agent 接触敏感数据 ClawHub 市场 1646.4 万 OpenClaw 有
灵魂追踪 联网访问 GitHub 仓库 758.9 万 Codex、Claude、Cursor 有
自我完善 联网访问 ClawHub 市场 682.9 万 OpenClaw 有
微软代工厂 调用外部服务 GitHub 仓库 661.4 万 Codex、Claude、Cursor 有

SKILL.md 全文

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

OFD电子发票号码提取器

功能概述

本技能专门用于解析 OFD(Open Fixed-layout Document)格式的电子发票,自动提取发票号码及关键信息并生成 Excel 文件:

  • 多类型支持:增值税电子普通发票、增值税电子专用发票、全电发票(数电票)
  • 批量处理:支持单次最多 200 个 OFD 文件批量提取
  • 全字段提取:发票号码、发票代码、开票日期、金额、税额、价税合计、购销方名称及税号
  • 自动查重:自动识别重复发票号码并单独标记
  • Excel 导出:生成包含「发票明细」「统计信息」「失败列表」「重复列表」多 Sheet 的 Excel 报表
  • 标准解析:基于 OFD 国标(GB/T 33190)结构,通过 CustomTag 语义标签 + ObjectRef + TextObject 链路精准提取

触发指令

  • "提取OFD电子发票"
  • "OFD电子发票提取"
  • "提取OFD"
  • "OFD发票解析"
  • "读取OFD发票"
  • "OFD发票号码提取"

依赖环境

  • Python 3.10+
  • pandas
  • openpyxl
  • tkinter(Python 内置 GUI 库,随 Python 安装)

工作流程

阶段一:上传文件(弹窗界面)

当用户触发技能后,PC 端弹出 tkinter 操作弹窗:

  1. 点击「添加文件」选择单个或多个 .ofd 文件
  2. 或点击「添加文件夹」批量导入某文件夹下所有 OFD 文件(最多 200 个)
  3. 可点击「清空列表」重新选择
  4. 确认后点击「确定」开始提取

阶段二:自动解析提取

程序按 OFD 标准结构解析每个文件:

  1. 解压 OFD(ZIP 格式)
  2. 读取 Document.xml 获取文档结构
  3. 定位 CustomTags.xml -> CustomTag.xml 语义标签文件
  4. 解析 InvoiceNo、IssueDate、BuyerName、SellerName、TaxExclusiveTotalAmount 等字段
  5. 通过 ObjectRef -> PageRef -> Content.xml -> TextObject -> TextCode 链路提取实际文本
  6. 支持多 ObjectRef 拼接(如金额拆分为货币符号 + 数字两个对象)
  7. 自动过滤货币符号(¥/¥)、逗号、空格等无关字符

阶段三:导出结果

提取完成后自动生成 Excel 文件保存到桌面:

  • 发票明细 Sheet:序号、发票号码、发票代码、开票日期、金额、税额、价税合计、购销方名称及税号、文件名称、提取时间
  • 统计信息 Sheet:总文件数、成功提取数、失败数、重复数
  • 失败列表 Sheet:失败文件路径及失败原因(如有)
  • 重复列表 Sheet:重复发票号码(如有)

文件名格式:OFD发票号码提取结果_YYYYMMDD_HHMMSS.xlsx

技术细节

OFD 解析原理

OFD 文件本质是 ZIP 压缩包,内部采用 XML 描述文档结构和内容。发票语义数据存储在 Doc_X/Tags/CustomTag.xml 中,其中每个字段标签(如 InvoiceNo)不直接包含文本值,而是通过 ObjectRef 引用页面内容中的 TextObject ID。程序需要:

  1. 从 Document.xml 获取 CustomTags 路径和页面映射
  2. 解析 CustomTag.xml 获取字段标签及其 ObjectRef 引用
  3. 通过 PageRef 定位到对应页面的 Content.xml
  4. 在 Content.xml 中根据 TextObject ID 找到 TextCode 获取实际文本

回退机制

如果标准 CustomTag 解析未找到发票号码,程序会回退到通用 XML 标签搜索模式,遍历所有 XML 文件,查找 InvoiceNumber、发票号码、InvoiceNo 等标签,并支持正则匹配 20 位数字。

使用示例

用户:提取OFD电子发票
WorkBuddy:[弹出文件选择窗口]
用户:[选择 3 个 .ofd 文件,点击确定]
WorkBuddy:✅ 提取完成!成功 3 个,失败 0 个
          发票号码:26372000003529013986
          发票号码:26372000003529013987
          发票号码:26372000003529013988
          Excel 文件已保存到桌面

注意事项

  • 仅支持 .ofd 格式文件,不支持 PDF 发票
  • 单文件大小限制 20MB
  • 程序在本地运行,不上传任何发票数据到服务器
  • 需要安装 Python 运行环境及 pandas、openpyxl 依赖

支付宝付费改造契约(PAYSKILL)

本技能为付费技能(PAYSKILL)。调用遵循支付宝 AI 生意画像契约,由平台调度层执行 probe → pay → complete → ack 流程:

  1. probe(探测):平台调用前先探测是否已持有本技能的支付宝有效订阅 / 付费凭证。已付费则直接放行。
  2. 402 Payment-Needed:未付费时,脚本向标准输出返回 HTTP 状态 402 与 Payment-Needed 标记,提示用户通过支付宝完成付费(pay),平台据此唤起付费页。
  3. complete(扣费确认):用户在支付宝完成扣费后,平台下发 Payment-Proof(付费凭证)。
  4. ack(验签放行):平台携带 Payment-Proof 重试本次调用;scripts/payment_gate.py 验签该凭证,确认有效后放行主流程。

订阅持久化与幂等:

  • 付费状态缓存在本地 .pay_cache/state.json,避免每次调用重复付费(订阅持久化)。
  • 同一 Payment-Proof 在 24h 幂等窗口内仅生效一次,避免重复扣费。

现金流改造后的调用套路:

用户调用 → 平台 probe  →
   未付费:下发 402 Payment-Needed → 支付宝 pay → complete → 下发 Payment-Proof
已付费/携带 Proof:脚本 ack 验签 → 放行主流程

> 本契约由 SkillHUB 平台调度层解析,脚本本地仅处理 402 / 验签 / 持久化 三环节;付费本体交给支付宝。


支付宝 AI 按量付费(Machine Pay / A2M)改造说明

本 Skill 已按支付宝官方 A2M 协议改造为 Pay Skill,付费闸口位于 scripts/payment_gate.py,统一调用云端计费服务 https://pay.pembroli.cn/api/resource。

付费流程

  1. 未付费调用时,服务端返回 HTTP 402 + Payment-Needed 头,携带金额、商户、订单号及 RSA2 签名。
  2. 买家侧 payment_gate.py 收到 402 后引导用户完成支付,平台回传 Payment-Proof。
  3. 客户端携带 Payment-Proof 重试资源端点。

验付调用

服务端收到 Payment-Proof 后,调用支付宝验付接口(alipay.aipay.agent.payment.verify)核验凭证有效性(trade_no、out_trade_no、active 状态),验证失败返回 400,验证通过才进入资源发放。

履约确认

资源发放成功后,服务端异步调用履约确认接口(alipay.aipay.agent.fulfillment.confirm,trade_no)回执,标记本笔订单已履约;并按 out_trade_no 做幂等,重复请求直接返回已缓存结果,杜绝重复收费。

幂等与缓存

买家侧按 slug 本地缓存 Payment-Proof(24h TTL),有效期内免重复支付;服务端按订单号幂等,保证同一笔订单只履约一次。

常见问题

5 问
答案由本站依据条目字段整理
提取ofd格式电子发票发票号码发票信息怎么安装?

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

提取ofd格式电子发票发票号码发票信息支持哪些客户端?

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

提取ofd格式电子发票发票号码发票信息权限高吗,安全吗?

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

提取ofd格式电子发票发票号码发票信息收费吗?

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

提取ofd格式电子发票发票号码发票信息用什么许可证?

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

热门专题

按场景挑技能
全部专题 →

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