← 返回 Skills 市场
sunriseorient

发票识别

作者 Sunrise · GitHub ↗ · v1.0.0-alpha · MIT-0
cross-platform ⚠ pending
38
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install invoice-ocr-pro
功能描述
发票识别技能。上传发票文件进行 OCR 识别,返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。
使用说明 (SKILL.md)

发票识别技能

使用此技能通过上传发票文件进行 OCR 识别,自动提取发票票面结构化信息。

使用场景

满足以下需求时使用:

  • 上传发票图片或文件(PDF/OFD/JPEG/JPG/PNG/XML)进行 OCR 识别。
  • 从发票图片中提取发票号码、金额、销购方等结构化信息。
  • 批量处理发票文件的自动识别。

触发语句示例

以下用户输入应触发此技能:

  • 帮我识别这张发票 / 发票识别 / 识别发票
  • 这张发票里有什么信息
  • 提取发票信息 / 发票 OCR
  • 读取发票内容
  • 这个发票文件帮我识别一下
  • 识别发票文件

输入参数

执行前准备以下参数:

发票识别 (ocr)

  • 发票文件路径(必填,支持 PDF、OFD、JPEG、JPG、PNG、XML)

执行流程

前置检查(最高优先级):检查环境变量 ZXT_API_KEY 是否已设置。

注意:当前 shell 会话可能未继承 Windows 用户级环境变量,必须按以下方式检查,不能仅依赖 $ZXT_API_KEY

  • Windows:执行 powershell -Command "[System.Environment]::GetEnvironmentVariable('ZXT_API_KEY', 'User')" 获取用户级环境变量值,同时检查 $ZXT_API_KEY
  • macOS/Linux:检查 $ZXT_API_KEY 即可。

如果以上检查结果均为空,禁止执行任何后续操作,立即向用户输出以下提示并停止:

您需要完成以下三步,即可自动配置并执行技能:

  1. 注册账号 访问中兴通简税Skill平台:https://test-eqjs.es366.cn/jxplusSkill/ 完成注册。

  2. 申请 apiKey 登录后进入"技能中心",复制您的 apiKey。

  3. 提供 apiKey 将复制的 apiKey 发送给我,我将为您完成配置并立即执行技能。

严格限制:前置检查未通过时,禁止执行任何其他动作,包括但不限于:

  • 禁止读取文件(Excel、PDF、图片等)
  • 禁止调用任何 API
  • 禁止执行任何脚本或命令
  • 禁止进行参数解析或预处理

只允许输出提示信息,然后停止,等待用户提供 apiKey。

用户提供 apiKey 后,写入系统环境变量并使当前会话生效:

  • Windows:setx ZXT_API_KEY \x3CapiKey> 写入用户级环境变量,然后执行 export ZXT_API_KEY=\x3CapiKey> 使当前会话生效。
  • macOS/Linux:将 export ZXT_API_KEY=\x3CapiKey> 追加到 ~/.bashrc~/.zshrc(根据用户使用的 shell),同时执行 export ZXT_API_KEY=\x3CapiKey> 使当前会话生效。

环境变量就绪后,继续以下步骤:

  1. 校验必填参数存在且非空。任何必填参数缺失时必须立即停止,禁止跳过或使用空值继续执行。
    • 缺少发票文件路径:停止并提示用户提供文件。
    • 文件不存在或不支持该文件类型:停止并提示用户。
  2. 通过 python 执行脚本调用远程 API(Windows 下使用 python,macOS/Linux 使用 python3),脚本优先使用 --api-key 参数,未传则回退读取环境变量 ZXT_API_KEY
  3. 检查返回的 status 字段,非 200 时停止并将错误信息展示给用户,禁止重试或忽略。
  4. 解析返回结果并以可读格式输出。

请求参数说明

发票识别 — POST /api/jxplus/zxtSkill/discern/invoiceDiscern

请求头:Content-Type: multipart/form-data

参数 类型 必填 说明
apiKey string apiKey
file file 发票文件(pdf/ofd/jpeg/jpg/png/xml)

返回说明

外层返回字段

字段 类型 说明
status string 返回接口状态码
message string 返回接口状态描述信息
data object 业务数据体

data 业务数据体

字段 类型 说明
invoiceType string 发票种类
invoiceCode string 发票代码
invoiceNumber string 发票号码
invoiceDate string 开票日期
hjje string 合计金额
hjse string 合计税额
jshj string 价税合计
xsfMc string 销售方名称
xsfNsrsbh string 销售方纳税人识别号
xsfAddressTel string 销售方地址、电话
xsfBankAccount string 销售方开户行及账号
gmfMc string 购买方名称
gmfNsrsbh string 购买方税号
gmfAddressTel string 购买方地址、电话
gmfBankAccount string 购买方开户行及账号
payee string 收款人
reviewer string 复核人
invoicer string 开票人
machineNo string 机器编号
checkCode string 校验码
passwordArea string 密码区
remark string 备注
item List 发票明细列表
otherInfo string 其他信息

item 明细数据体

字段 类型 说明
projectName string 项目名称
ggxh string 规格型号
projectUnit string 单位
projectCount string 数量
projectPriceEt string 单价
projectJeEt string 金额
sl string 税率
se string 税额

异常状态码

状态码 说明
400 请求参数错误
300 参数为空或格式错误
305 无权访问该接口
307 消费失败,授权余次不足
308 超出接口调用次数
500 系统异常

接口请求示例

发票识别 — POST /api/jxplus/zxtSkill/discern/invoiceDiscern

请求方式:multipart/form-data,包含 apiKey 字段和 file 文件字段。

成功返回:

{
  "status": "200",
  "message": "成功",
  "data": {
    "invoiceType": "82",
    "invoiceCode": "数电票",
    "invoiceNumber": "23622000000012981281",
    "invoiceDate": "2023-10-18",
    "hjje": "34.65",
    "hjse": "0.35",
    "jshj": "35.00",
    "xsfMc": "金昌市安行征途汽车运输有限公司",
    "xsfNsrsbh": "91620302MA71XY3022",
    "xsfAddressTel": "",
    "xsfBankAccount": "",
    "gmfMc": "北京中兴通融资产管理股份有限公司",
    "gmfNsrsbh": "911101087582285868",
    "gmfAddressTel": "",
    "gmfBankAccount": "",
    "payee": null,
    "reviewer": null,
    "invoicer": "张玉芳",
    "machineNo": null,
    "checkCode": "23622000000012981281",
    "passwordArea": null,
    "remark": "车人1 00****00 2023-10-16 武威- 金川机场- 长途汽车\
价税合计(大写) 叁拾伍圆整 (小写)¥35.00\
线路:武威-金川机场日期:2023-10-1608:30\
",
    "otherInfo": null,
    "item": [
      {
        "projectName": "*运输服务*客运服务",
        "ggxh": null,
        "projectUnit": null,
        "projectCount": "34.65",
        "projectPriceEt": "1",
        "projectJeEt": "34.65",
        "sl": "1%",
        "se": "0.35"
      }
    ]
  }
}

异常返回:

{
  "status": "400",
  "message": "文件不能为空",
  "data": ""
}

命令示例

发票识别:

python .claude/skills/invoice-ocr/invoice_ocr.py ocr --file "E:\\invoices\	est.pdf"
能力标签
requires-sensitive-credentials
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install invoice-ocr-pro
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /invoice-ocr-pro 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0-alpha
- 初始提交
元数据
Slug invoice-ocr-pro
版本 1.0.0-alpha
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

发票识别 是什么?

发票识别技能。上传发票文件进行 OCR 识别,返回发票票面信息。适用于从发票图片或文件中提取结构化数据的场景。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 38 次。

如何安装 发票识别?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install invoice-ocr-pro」即可一键安装,无需额外配置。

发票识别 是免费的吗?

是的,发票识别 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

发票识别 支持哪些平台?

发票识别 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 发票识别?

由 Sunrise(@sunriseorient)开发并维护,当前版本 v1.0.0-alpha。

💬 留言讨论