支持识别企业财务报销场景的19 种常见票据,包括:增值税发票,增值税卷票,出租车发票,火车票,航空运输电子客票行程单,机动车销售统一发票,定额发票,过路过桥费发票,医疗发票,税收完税证明,船票,非税票据,通用机打发票,汽车票,值税通行费发票,网约车行程单,银联POS签购单,医疗住院发票,医疗费用结算单识别。仅在用户明确要求识别某张本地票据图片时触发,调用前必须确认用户同意上传该文件到 Scnet 远程 OCR 服务。
编程
expense_voucher_ocr
试用一个接口可识别28种财务场景的票据,详细包括:增值税电子普通发票、增值税电子专用发票、增值税普通发票_数电、增值税专用发票_数电、增值税通行费发票、增值税通行费发票_数电、增值税区块链电子发票、增值税专用发票、增值税普通发票、增值税卷票、出租车发票、火车票_红票、火车票_蓝票、火车票_数电、航空运输电子客票行程单、航空运输电子客票行程单_数电、机动车销售统一发票、定额发票、通用机打发票、过路过桥费发票、税收完税证明、非税票据、船票、汽车票、医疗门诊发票、其他票据
它能做什么
一个接口可识别28种财务场景的票据,详细包括:增值税电子普通发票、增值税电子专用发票、增值税普通发票_数电、增值税专用发票_数电、增值税通行费发票、增值税通行费发票_数电、增值税区块链电子发票、增值税专用发票、增值税普通发票、增值税卷票、出租车发票、火车票_红票、火车票_蓝票、火车票_数电、航空运输电子客票行程单、航空运输电子客票行程单_数电、机动车销售统一发票、定额发票、通用机打发票、过路过桥费发票、税收完税证明、非税票据、船票、汽车票、医疗门诊发票、其他票据
技能文档
Sugon-Scnet 通用 OCR 技能
⚠️ 数据安全与隐私声明:本技能会将你指定的本地文件上传到第三方服务
api.scnet.cn进行识别。发票、火车票、医疗票据等财务凭证通常包含个人身份信息、税号、银行账户、行程记录、交易金额等敏感数据。继续使用即表示你了解并同意该文件会被传输到 Scnet 服务器。请勿上传涉及国家秘密、他人隐私或受管制数据的文件。具体数据保留与隐私政策请参考 Scnet 官方说明。
本技能封装了 Sugon-Scnet 智能财务报销OCR 服务,通过单一接口即可调用28种财务票据识别能力,高效提取文字及票据信息。
功能特性
- 智能财务报销:覆盖增值税电子普通发票、增值税电子专用发票、增值税普通发票_数电、增值税专用发票_数电、增值税通行费发票、增值税通行费发票_数电、增值税区块链电子发票、增值税专用发票、增值税普通发票、增值税卷票、出租车发票、火车票_红票、火车票_蓝票、火车票_数电、航空运输电子客票行程单、航空运输电子客票行程单_数电、机动车销售统一发票、定额发票、通用机打发票、过路过桥费发票、税收完税证明、非税票据、船票、汽车票、医疗门诊发票、其他票据识别,自动提取关键字段。
前置配置
⚠️ 重要:使用前需要申请 Scnet API Token
申请 API Token
- 访问 Scnet 官网 注册/登录
- 在控制台申请 API 密钥(格式:
sc-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) - 复制密钥备用
配置 Token
手动配置(推荐)
- 在技能目录下创建
config/.env文件,内容如下:
# ===== Sugon-Scnet OCR API 配置 =====
# 申请地址:https://www.scnet.cn
SCNET_API_KEY=your_scnet_api_key_here
# API 基础地址(一般无需修改)
SCNET_API_BASE=https://api.scnet.cn/api/llm/v1
- 添加:
SCNET_API_KEY=你的密钥 - 设置文件权限为 600(仅所有者可读写) ⚠️ 安全警告:切勿将 API Key 直接粘贴到聊天对话中,否则可能被记录或泄露。
Token 更新
Token 过期后调用会返回 401 或 403 错误。更新方法:重新申请 Token 并替换 config/.env 中的 SCNET_API_KEY。
依赖安装
本技能需要 Python 3.6+ 和 requests 库。请运行以下命令:
pip install requests
使用方法
参数说明
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| ocrType | string | 是 | 识别类型枚举。必须为以下之一:• UNIFIED_IDENTIFICATION_OF_FINANC(财务票据统一识别) |
| filePath | string | 是 | 待识别图片的本地绝对路径。支持 jpg、png、pdf 等常见格式。 |
命令行调用示例
python .claude/skills/expense_voucher_ocr/scripts/main.py UNIFIED_IDENTIFICATION_OF_FINANC /path/to/invoice.jpg
在 AI 对话中使用
用户可以说:
- “提取这张发票的信息,路径是 /Users/name/Downloads/fapiao.png”
AI 仅应在用户明确提供了本地文件路径并请求进行 OCR 识别时触发本技能。不要仅凭“发票”“报销”等泛化关键词自动执行文件读取或网络上传;如果用户未提供有效路径,AI 必须先询问确认。
AI 调用建议
为避免触发 API 速率限制(10 QPS),请串行调用本技能,即等待前一个识别完成后再发起下一个请求。 如果使用 OpenClaw 的 exec 工具,建议设置 timeout 或 yieldMs 参数,让命令同步执行,避免多个命令同时运行导致并发。
配置选项
编辑 config/.env 文件:
| 变量名 | 默认值 | 说明 |
|---|---|---|
| SCNET_API_KEY | 必需 | Scnet API 密钥 |
| SCNET_API_BASE | https://api.scnet.cn/api/llm/v1 | API 基础地址(一般无需修改) |
输出
- 标准输出:识别结果的 JSON 数据,结构与 API 文档一致,位于
data字段内。 - 识别结果位于 data[0].result[0].elements 中,具体字段取决于 ocrType。
- 错误信息:如果发生错误,会输出以
错误:开头的友好提示。
注意事项
- 本技能调用的 OCR API 有 10 QPS 的速率限制。
- 如果遇到 429 错误,请等待 2-3 秒后重试,不要连续发起请求。
- 建议在调用前确保图片已准备就绪,避免因网络问题导致重复调用。
- 本技能仅读取用户显式指定的文件路径,不会主动扫描目录或访问其他文件。
- 上传的原始文件及其中的个人/公司财务信息将离开本地设备,请确认文件内容适合外传后再使用。
故障排除
| 问题 | 解决方案 |
|---|---|
| 配置文件不存在 | 创建 config/.env 并填入 Token(参考前置配置) |
| API Key 无效/过期 | 重新申请 Token 并更新 .env 文件 |
| 文件不存在 | 检查提供的文件路径是否正确 |
| 网络连接失败 | 检查网络连接或防火墙设置 |
| 不支持的文件类型 | 确保文件扩展名为允许的类型(参考 API 文档) |
| 401/403/Unauthorized | Token 无效或过期,重新申请并配置 |
| 429 Too Many Requests | 请求过于频繁,技能会自动等待并重试(最多 3 次)。若持续失败,请降低调用频率或联系服务方提高限额。 |
相关技能
Use when user asks to recognize invoices, extract receipt data, or OCR bills and tickets. Recognize and extract structured data from invoices, receipts, and...
面向上市公司的发票识别与自动入账技能包,通过 OCR 拍照/截图提取发票数据, 自动分类并匹配入账。支持增值税专用发票、普通发票、全电发票、机动车发票、 通行费、火车票机票等全类型发票,实现发票验真、自动分类、三单匹配和台账管理。
支持金融单据识别,支持识别多种金融单据,包括银行承兑汇票、电子银行承兑汇票、商业承兑汇票、电子商业承兑汇票、银行支票、银行回单、进账单、电汇凭证、支款凭证、移动支付账单、财政授权支付凭证、海关专用缴款书、海关进/出口货物报关单、国际汇票、商业发票、原产地证明、货物运输保险单、装箱单、提单,结构化提取关键信息。
支持医疗报销场景的票据识别,包括医疗住院发票和医疗费用结算单。用户必须明确指定本地文件路径并确认需要上传至 Scnet OCR API 后,方可触发本技能。
国际汇票 OCR 技能:仅在用户明确同意后,读取本地票据图像/PDF,上传至 Scnet OCR 服务并提取收付方信息、币种金额、到期日、付款银行及票据号码。