← 返回 Skills 市场
sunriseorient

发票认证

作者 Sunrise · GitHub ↗ · v1.0.0-alpha · MIT-0
cross-platform ⚠ pending
38
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install invoice-cert
功能描述
发票认证技能。税局登录、发票勾选认证、抵扣统计。适用于进项发票勾选、认证、统计等税务操作场景。
使用说明 (SKILL.md)

\r \r

发票认证技能\r

\r 使用此技能进行税局登录、发票勾选认证、查询认证状态、申请抵扣统计等操作。\r \r

使用场景\r

\r 满足以下需求时使用:\r \r

  • 登录税局系统(电子税务局)。\r
  • 查询发票的勾选认证状态。\r
  • 提交或取消发票勾选认证。\r
  • 申请或撤销抵扣统计。\r
  • 查询抵扣统计数据。\r
  • 查询当前属期已认证的发票集合。\r
  • 查询当前税款所属期。\r
  • 确认签名。\r \r

触发语句示例\r

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

  • 帮我登录税局 / 税局登录 / 登录电子税务局\r
  • 查一下这张发票的认证状态 / 发票认证状态\r
  • 提交认证 / 勾选认证 / 取消认证\r
  • 申请统计 / 撤销统计 / 抵扣统计\r
  • 查看已认证发票 / 当前属期发票\r
  • 确认签名\r
  • 税款所属期 / 当前属期 / 查询税款所属期\r
  • 发票勾选 / 认证发票\r \r

输入参数\r

\r 执行前准备以下参数:\r \r

税局登录 (login)\r

\r

  • 税号(必填)\r
  • 账号(选填,登录时可能需要)\r
  • 密码(选填,登录时可能需要)\r
  • 地区码(选填,如 BJ、TJ)\r \r

验证码登录 (login-sms)\r

\r

  • 验证码(必填)\r
  • 税号(必填)\r
  • 账号(必填)\r \r

发送验证码 (send-sms)\r

\r

  • 税号(必填)\r
  • 账号(必填)\r \r

确认签名 (sign)\r

\r 无额外参数。\r \r

查询当前税款所属期 (current-period)\r

\r 无额外参数。\r \r

申请或撤销统计 (statistics)\r

\r

  • 提交类型(必填):1 申请统计,2 撤销统计\r
  • bz(必填):N 忽略未勾选发票直接统计,Y 取消未完成的统计状态\r \r

查询抵扣统计数据 (deduct-stats)\r

\r

  • 税款所属期(选填,不填默认当前属期)\r \r

查询当前属期认证发票集合 (checked-invoices)\r

\r

  • 税款所属期(选填,不填默认当前属期,传入可查询历史认证记录)\r \r

查询发票认证状态 (check-status)\r

\r

  • 发票号码(必填)\r
  • 开票日期(必填,格式 YYYY-MM-DD)\r
  • 发票代码(选填)\r \r

提交或取消认证 (commit-deduction)\r

\r

  • 提交类型(必填):1 勾选认证,2 取消勾选认证\r
  • 发票列表(必填):每条包含发票代码、开票日期、发票号码\r
  • 税款所属期(选填,不填默认当前属期)\r \r 批量处理规则:\r \r
  • 提交前无需先查验认证状态,可直接提交或取消认证。\r
  • 多张发票时自动按开票日期(kprq)升序排序后提交。\r
  • 每批最多 50 张,超出自动分批。\r \r

执行流程\r

\r 前置检查(最高优先级):检查环境变量 ZXT_API_KEY 是否已设置。\r \r 注意:当前 shell 会话可能未继承 Windows 用户级环境变量,必须按以下方式检查,不能仅依赖 $ZXT_API_KEY:\r \r

  • Windows:执行 powershell -Command "[System.Environment]::GetEnvironmentVariable('ZXT_API_KEY', 'User')" 获取用户级环境变量值,同时检查 $ZXT_API_KEY。\r
  • macOS/Linux:检查 $ZXT_API_KEY 即可。\r \r 如果以上检查结果均为空,禁止执行任何后续操作,立即向用户输出以下提示并停止:\r \r

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

  1. 注册账号\r 访问中兴通简税Skill平台:https://test-eqjs.es366.cn/jxplusSkill/ 完成注册。\r \r
  2. 申请 apiKey\r 登录后进入"技能中心",复制您的 apiKey。\r \r
  3. 提供 apiKey\r 将复制的 apiKey 发送给我,我将为您完成配置并立即执行技能。\r \r 严格限制:前置检查未通过时,禁止执行任何其他动作,包括但不限于:\r \r
  • 禁止读取文件(Excel、PDF、图片等)\r
  • 禁止调用任何 API\r
  • 禁止执行任何脚本或命令\r
  • 禁止进行参数解析或预处理\r \r 只允许输出提示信息,然后停止,等待用户提供 apiKey。\r \r 用户提供 apiKey 后,写入系统环境变量并使当前会话生效:\r \r
  • Windows:setx ZXT_API_KEY \x3CapiKey> 写入用户级环境变量,然后执行 export ZXT_API_KEY=\x3CapiKey> 使当前会话生效。\r
  • macOS/Linux:将 export ZXT_API_KEY=\x3CapiKey> 追加到 ~/.bashrc~/.zshrc(根据用户使用的 shell),同时执行 export ZXT_API_KEY=\x3CapiKey> 使当前会话生效。\r \r 环境变量就绪后,继续以下步骤:\r \r
  1. 校验必填参数存在且非空。任何必填参数缺失时必须立即停止,禁止跳过或使用空值继续执行。\r
  2. 通过 python 执行脚本调用远程 API(Windows 下使用 python,macOS/Linux 使用 python3),脚本优先使用 --api-key 参数,未传则回退读取环境变量 ZXT_API_KEY。\r
  3. 检查返回的 status 字段:\r
    • 非 200 且非 309 时,停止并将错误信息展示给用户。\r
    • status 为 309 时,脚本自动使用会话缓存中的登录凭证(creditCode、account、password)重新登录税局,登录成功后自动重试原请求。若缓存不存在或自动重登失败,则提示用户手动登录。\r
  4. 解析返回结果并以可读格式输出。\r \r

税局登录流程说明\r

\r 调用登录接口后,根据 returnType 分支处理:\r \r

  • returnType=4000:直接登录成功,可继续调用其他接口。\r
  • returnType=4001:需要验证码登录,会返回带星手机号。引导用户发送验证码(send-sms)→ 输入验证码完成登录(login-sms)。\r
  • returnType=4002:需要设置地区,会返回可选地区列表。引导用户选择地区码后使用 --area-code 参数重新登录。\r \r

请求参数说明\r

\r

1. 税局登录 — POST /api/jxplus/zxtSkill/dzsj/dzsjLogin\r

\r | 参数 | 类型 | 必填 | 说明 |\r | ---------- | ------ | ---- | -------------------- |\r | apiKey | string | 是 | apiKey |\r | creditCode | string | 是 | 税号(纳税人识别号) |\r | account | string | 否 | 税局账号 |\r | password | string | 否 | 税局密码 |\r | areaCode | string | 否 | 地区码(如 BJ、TJ) |\r \r

2. 验证码登录 — POST /api/jxplus/zxtSkill/dzsj/dzsjLoginBySmsCode\r

\r | 参数 | 类型 | 必填 | 说明 |\r | ---------- | ------ | ---- | ------------ |\r | apiKey | string | 是 | apiKey |\r | creditCode | string | 是 | 纳税人识别号 |\r | account | string | 是 | 税局账号 |\r | smsCode | string | 是 | 短信验证码 |\r \r

3. 发送验证码 — POST /api/jxplus/zxtSkill/dzsj/dzsjSendSmsCode\r

\r | 参数 | 类型 | 必填 | 说明 |\r | ---------- | ------ | ---- | ------------ |\r | apiKey | string | 是 | apiKey |\r | creditCode | string | 是 | 纳税人识别号 |\r | account | string | 是 | 税局账号 |\r \r

4. 确认签名 — POST /api/jxplus/zxtSkill/check/doSignature\r

\r | 参数 | 类型 | 必填 | 说明 |\r | ------ | ------ | ---- | ------ |\r | apiKey | string | 是 | apiKey |\r \r

5. 查询当前税款所属期 — POST /api/jxplus/zxtSkill/check/getCurrSkssq\r

\r | 参数 | 类型 | 必填 | 说明 |\r | ------ | ------ | ---- | ------ |\r | apiKey | string | 是 | apiKey |\r \r 返回 data 为税款所属期字符串,如 "2026-05"。\r \r

6. 申请或撤销统计 — POST /api/jxplus/zxtSkill/check/commitStatistics\r

\r | 参数 | 类型 | 必填 | 说明 |\r | ---------- | ------ | ---- | ------------------------------------------------ |\r | apiKey | string | 是 | apiKey |\r | commitType | string | 是 | 1 申请统计,2 撤销统计 |\r | bz | string | 是 | N 忽略未勾选发票直接统计,Y 取消未完成的统计状态 |\r \r

7. 查询抵扣统计数据 — POST /api/jxplus/zxtSkill/check/getDeductStatistList\r

\r | 参数 | 类型 | 必填 | 说明 |\r | ------ | ------ | ---- | ---------------------------- |\r | apiKey | string | 是 | apiKey |\r | skssq | string | 否 | 税款所属期,不填默认当前属期 |\r \r

8. 查询当前属期认证发票集合 — POST /api/jxplus/zxtSkill/check/getCheckedInvoiceList\r

\r | 参数 | 类型 | 必填 | 说明 |\r | ------ | ------ | ---- | -------------------------------- |\r | apiKey | string | 是 | apiKey |\r | skssq | string | 否 | 税款所属期,不填默认当前属期 |\r \r

9. 查询发票认证状态 — POST /api/jxplus/zxtSkill/check/getInvoiceCheckStatus\r

\r | 参数 | 类型 | 必填 | 说明 |\r | ------------- | ------ | ---- | ---------------------- |\r | apiKey | string | 是 | apiKey |\r | invoiceNumber | string | 是 | 发票号码 |\r | invoiceDate | string | 是 | 开票日期(YYYY-MM-DD) |\r | invoiceCode | string | 否 | 发票代码 |\r \r

10. 提交或取消认证 — POST /api/jxplus/zxtSkill/check/commitDeduction\r

\r | 参数 | 类型 | 必填 | 说明 |\r | ---------- | ------ | ---- | ------------------------------------------------- |\r | apiKey | string | 是 | apiKey |\r | commitType | string | 是 | 1 勾选认证,2 取消勾选认证 |\r | skssq | string | 否 | 税款所属期,不填默认当前属期 |\r | list | array | 是 | 发票列表,每条含 invoiceCode、kprq、invoiceNumber |\r \r

返回说明\r

\r

登录返回 (login)\r

\r | 字段 | 类型 | 说明 |\r | ----------- | ------ | --------------------------------------------------------- |\r | returnType | string | 4000 直接登录成功,4001 需验证码,4002 需设置地区 |\r | loginMobile | string | 带*手机号(returnType=4001 时返回) |\r | areaList | array | 地区列表(returnType=4002 时返回),含 areaCode、areaName |\r \r

认证发票返回 (checked-invoices)\r

\r | 字段 | 说明 |\r | ------------- | ------------ |\r | invoiceCode | 发票代码 |\r | invoiceNumber | 发票号码 |\r | qdfphm | 全电发票号码 |\r | kprq | 开票日期 |\r | hjje | 合计金额 |\r | hjse | 合计税额 |\r | jshj | 价税合计 |\r | fplx | 发票类型 |\r | fplxName | 发票类型名称 |\r | xsfNsrsbh | 销售方税号 |\r | xsfMc | 销售方名称 |\r \r

认证状态返回 (check-status)\r

\r | 字段 | 说明 |\r | ------------- | ---------------------------- |\r | invoiceCode | 发票代码 |\r | invoiceNumber | 发票号码 |\r | kprq | 开票日期 |\r | hjje | 合计金额 |\r | hjse | 合计税额 |\r | gxzt | 勾选状态:0 未勾选,1 已勾选 |\r | skssq | 认证属期 |\r \r

提交认证返回 (commit-deduction)\r

\r | 字段 | 说明 |\r | ------------ | -------------- |\r | successCount | 成功数量 |\r | failCount | 失败数量 |\r | successList | 成功集合 |\r | failLIst | 失败集合 |\r | skssq | 当前税款所属期 |\r \r

异常状态码\r

\r | 状态码 | 说明 |\r | ------ | ------------------------ |\r | 400 | 请求参数错误 |\r | 300 | 参数为空或格式错误 |\r | 305 | 无权访问该接口 |\r | 307 | 消费失败,授权余次不足 |\r | 308 | 超出接口调用次数 |\r | 309 | 税局未登录,需先登录税局 |\r | 500 | 系统异常 |\r \r

命令示例\r

\r 税局登录:\r \r

python .claude/skills/invoice-cert/invoice_cert.py login --credit-code "911101087582285868" --account "account" --password "password"\r
```\r
\r
发送验证码:\r
\r
```bash\r
python .claude/skills/invoice-cert/invoice_cert.py send-sms --credit-code "911101087582285868" --account "account"\r
```\r
\r
验证码登录:\r
\r
```bash\r
python .claude/skills/invoice-cert/invoice_cert.py login-sms --sms-code "123456" --credit-code "911101087582285868" --account "account"\r
```\r
\r
确认签名:\r
\r
```bash\r
python .claude/skills/invoice-cert/invoice_cert.py sign\r
```\r
\r
查询当前税款所属期:\r
\r
```bash\r
python .claude/skills/invoice-cert/invoice_cert.py current-period\r
```\r
\r
查询发票认证状态:\r
\r
```bash\r
python .claude/skills/invoice-cert/invoice_cert.py check-status --invoice-number "26127000000211930033" --invoice-date "2026-05-12"\r
```\r
\r
查询当前属期认证发票:\r
\r
```bash\r
python .claude/skills/invoice-cert/invoice_cert.py checked-invoices\r
```\r
\r
查询指定属期认证发票(历史记录):\r
\r
```bash\r
python .claude/skills/invoice-cert/invoice_cert.py checked-invoices --skssq "202604"\r
```\r
\r
提交勾选认证(单张):\r
\r
```bash\r
python .claude/skills/invoice-cert/invoice_cert.py commit-deduction --commit-type "1" --invoices "011002000311,2026-05-12,26127000000211930033"\r
```\r
\r
提交勾选认证(多张,自动按开票日期排序,每批最多 50 张):\r
\r
```bash\r
python .claude/skills/invoice-cert/invoice_cert.py commit-deduction --commit-type "1" --invoices "011002000311,2026-05-10,26127000000211930033" "011002000311,2026-05-12,26127000000211930034" "011002000311,2026-05-08,26127000000211930035"\r
```\r
\r
申请统计:\r
\r
```bash\r
python .claude/skills/invoice-cert/invoice_cert.py statistics --commit-type "1" --bz "N"\r
```\r
\r
查询抵扣统计:\r
\r
```bash\r
python .claude/skills/invoice-cert/invoice_cert.py deduct-stats\r
```\r
能力标签
requires-sensitive-credentials
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install invoice-cert
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /invoice-cert 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0-alpha
- 初始发布:支持按票面信息或上传发票文件查验发票真伪。 - 提供发票查验、批量查验、查验记录查询等功能。 - 严格的环境变量(ZXT_API_KEY)检查与配置指引,确保安全、合规使用。 - 执行流程透明,参数校验和错误处理明确。 - 支持多种发票类型,查询和查验功能覆盖广泛的应用场景。
元数据
Slug invoice-cert
版本 1.0.0-alpha
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

发票认证 是什么?

发票认证技能。税局登录、发票勾选认证、抵扣统计。适用于进项发票勾选、认证、统计等税务操作场景。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 38 次。

如何安装 发票认证?

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

发票认证 是免费的吗?

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

发票认证 支持哪些平台?

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

谁开发了 发票认证?

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

💬 留言讨论