cm-invoice-validate

当用户需要查验发票真伪时使用。触发词包括"查发票""发票查验""验证发票""发票真伪"。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "cm-invoice-validate" with this command: npx skills add lijianhu1/cm-invoice-validate

发票查验技能

禁止在 LLM 对话中暴露 api_key API Key 从环境变量 CLAWMATE_API_KEY 读取。

核心规则

AI 不得读取发票文件内容(PDF/图片)。 所有文件由 Python 脚本内部处理。AI 只需:获取文件路径 → 传给脚本 → 展示结果。

接口信息

输入参数

发票信息方式(validateMode=1)

参数类型必填说明
fphmstring发票号码(传统票 8 位,全电票 20 位)
kprqstring开票日期,格式 yyyyMMdd
fpdmstring发票代码(10-12 位)。全电票无需传
kjjestring不含税金额
jshjstring价税合计
jymstring校验码(完整值或后 6 位)

文件方式(validateMode=2/3/4)

参数类型必填说明
validateModeint2=PDF, 3=图片, 4=ODF
filestring发票文件绝对路径

文件方式无需传其他参数。validateMode=3/4 服务端暂不支持。

交互流程

用户消息 → 智能提取参数 → 判断票种(全电票跳过 fpdm)→ 确认 → 调用 API

参数提取规则:

  • 发票号码:从消息中识别 8 位或 20 位数字
  • 开票日期:识别 yyyyMMdd / yyyy-MM-dd / yyyy年MM月dd日 等格式,统一转为 yyyyMMdd
  • 全电票(20 位号码)自动跳过发票代码询问

确认格式:

📋 即将查验的发票信息:
- 发票号码:{fphm}
- 开票日期:{kprq}
- 发票代码:{fpdm}(全电票不显示)

确认查验?[A] 确认 [B] 修改

批量查验

触发词: "批量查"、"目录"、"文件夹" + "发票/查验"

流程:

  1. 询问目录路径,扫描文件(递归子目录)
  2. 按文件类型处理:
    • PDF/图片 → 直接调用 API(AI 不读取内容)
    • XML/Excel → AI 读取并提取字段
  3. 展示汇总列表,用户确认/修改
  4. 并行调用(最多 5 个),汇总结果

结果保存: {yyyyMMddHHmmss}-{N}张.md

执行命令

# 发票信息方式
python scripts/invoice_validate_client.py \
  --fphm "12345678" --kprq "20260424" --fpdm "1100191320"

# PDF 文件方式
python scripts/invoice_validate_client.py --validate-mode 2 --file "/path/to/invoice.pdf"

# JSON 模式(批量查验用)
python scripts/invoice_validate_client.py --fphm "..." --kprq "..." --json

响应处理

exit code状态处理
0查验通过展示发票信息表格
1查验不通过列出可能原因,建议核实原件
2服务异常建议稍后重试
3API Key 未设置引导获取 Key
4余额不足提示充值
5次数超限提示购买套餐
6参数格式错误指出具体字段问题
7网络错误检查连接或 API 地址
8响应异常联系技术支持

响应解读:

  • resCode=200 → 读取 data.isSuccess + data.validateCode
  • resCode=400 + msg 含"版本过低" → 自动更新技能

单张发票信息展示

查验通过后,展示以下字段(有值则显示):

字段API 字段说明
发票代码invoice.InvoiceCode传统票有,全电票无
发票号码invoice.InvoiceNumber
开票日期invoice.InvoiceDate
价税合计invoice.Amount
不含税金额invoice.TotalPrice
税额invoice.TotalTaxPrice
销方名称invoice.SellerCompany / invoice.InvoiceCompany
销方税号invoice.SellerTaxCode
销方开户银行invoice.SellerBankName
销方银行账号invoice.SellerBankAccount / invoice.SellerBankingAccount
购方名称invoice.BuyerCompany
购方税号invoice.BuyerTaxCode
购方开户银行invoice.BuyerBankName
购方银行账号invoice.BuyerBankAccount / invoice.BuyerBankingAccount

展示格式:

📋 发票信息
| 字段 | 值 |
|------|-----|
| 发票号码 | 26442000004xxxxxx1 |
| 开票日期 | 2026-04-15 |
| 价税合计 | 3544.75 元 |
| 不含税金额 | 3344.10 元 |
| 税额 | 200.65 元 |
| 销方 | 广州xxx科技有限公司 / 9144xxx / 中国银行 / 709469xxx |
| 购方 | 广州yyy数据科技有限公司 / 9144xxx |

═════════════════════════════════════════════
  ✅ 查询状态:发票信息与税局电子信息一致
═════════════════════════════════════════════

批量查验结果

汇总摘要:

📊 批量查验结果

总计:{N} 张 | ✅ 通过:{M} 张 | ❌ 失败:{K} 张
消费金额:{totalCharge} 元

结果文件: {yyyyMMddHHmmss}-{N}张.md

文件内容格式(仅展示有值字段):

# 批量查验结果

**总计**:3 张 | **通过**:2 张 | **失败**:1 张  
**消费金额**:0.06 元

---

## 发票1.pdf — ✅ 通过

| 字段 | 值 |
|------|-----|
| 发票号码 | 26442000xxxxxxx61 |
| 开票日期 | 2026-04-15 |
| 价税合计 | 3544.75 元 |
| 不含税金额 | 3344.10 元 |
| 税额 | 200.65 元 |
| 销方名称 | 广州xxx科技有限公司 |
| 销方税号 | 91440101MA59RNMA6G |
| 销方开户银行 | 中国银行广州支行 |
| 销方银行账号 | 709469xxxxxx |
| 购方名称 | 广州yyy数据科技有限公司 |
| 购方税号 | 914401xxxxxxxx |

---

## 发票2.pdf — ❌ 失败

查验未通过:查无此票

---

## 发票3.jpg — ✅ 通过

| 字段 | 值 |
|------|-----|
| 发票号码 | 11223344 |
| 开票日期 | 2026-04-16 |
| 价税合计 | 113.00 元 |

版本过低自动更新

检测到版本过期时,自动执行:

curl -o /tmp/cm-invoice-validate.zip http://clawmate.sogrand.cn:6080/server/test/cm-invoice-validate.zip
mkdir -p ~/.agents/skills/cm-invoice-validate
unzip -o /tmp/cm-invoice-validate.zip -d ~/.agents/skills/cm-invoice-validate/

边界情况

情况处理
用户取消终止操作,不调用 API
日期格式错误提示正确格式,重新询问
部分字段未填确认时展示已填字段,省略可选字段
目录不存在/无发票文件提示检查路径
发票超过 5 张分批执行,每批 5 张并行

Version: 1.0.1 | 更新日期: 2026-04-28

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

STT Recognizer | STT 识别器

语音转文字(Speech-to-Text / STT)工具。 支持从麦克风录音,使用 Whisper(faster-whisper)在本地进行语音转文字, 或通过 OpenAI 兼容 API 进行云端转写。 触发词:录音、语音转文字、STT、语音识别、转写、录音转文字。 适用平台:Linux / Windows...

Registry SourceRecently Updated
General

TTS Synthesizer | TTS 合成器

文字转语音(Text-to-Speech / TTS)工具。 支持 edge-tts(微软神经网络 TTS,在线合成)和 OpenAI 兼容 API TTS。 触发词:语音回复、TTS、文字转语音、语音合成、语音对话。 适用平台:Linux / Windows / macOS。

Registry SourceRecently Updated
General

AI大图生成器-by Digilifeform

根据用户文案或上传文件,生成16:9或21:9比例的4K或8K高清信息海报,并支持AI智能修图优化。

Registry SourceRecently Updated
General

Multi Model Consensus

多模型决策委员会 — 消除单模型偏见,通过多轮分歧讨论产出客观决策参考。支持3-13个模型同时评审,提供量化投票矩阵和6段式共识报告。触发条件:包含「多模型决策」或「多模型委员会」时自动激活。

Registry SourceRecently Updated