税安犬自动报税记账直连电子税务局

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

税安犬官方技能:让 OpenCode、Codex、Claude Code、DeepSeek CLI、WorkBuddy、Mimo 等 AI 助手直接操作你的账套——自然语言记账、三大报表与账簿查询、发票录入与批量生成凭证、出纳资金、固定资产折旧、存货进销存、费用单、结账结转反结账、金税四期税务风险体检、税局漏报检查,并具备开票 AI 识别、销售额多维统计、内置 655+ 接口目录检索能力。用户尚未注册时,引导到 https://ceda.shuianquan.cn/ 注册(手机号+短信验证码)。当用户提到税安犬、注册账号、API 密钥、记账、凭证、利润表、资产负债表、现金流量表、科目余额表、明细账、辅助核算、客户、供应商、发票、销项、进项、发票生成凭证、出纳、资金日记账、折旧、计提折旧、结账、结转损益、反结账、销售额统计、销售趋势、大客户、发票识别、税务风险、漏报、漏报检查、风险体检、稽查自查、账套工作空间、存货、库存、出入库、进销存、库存余额、费用、费用单、费用报销、税务配置、一键取票、开票、报税时使用。 本版为完整专业版:先给一句话结论再展开,交付结构化结果文件,关键判断均标注依据。触发词:企业级AI财务助理、企业级AI财务助理怎么做、帮我做企业级AI财务助理。

一句话选型结论

按资料字段整理

税安犬自动报税记账直连电子税务局是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

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

安装

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

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

  2. 2
    拿到技能文件

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

  3. 3
    刷新技能列表

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

  4. 4
    验证是否生效

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

技能档案

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

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

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

值得选的地方

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

先想清楚的地方

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

更适合

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

不太适合

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

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
税安犬自动报税记账直连电子税务局当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

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

企业级AI财务助理

> 原始版本:@user_d9ee8846/xianglan-financial。本版为 skillhub+ 改造版。
> v1.2.0 重要变更:系统已下线旧 /ai/* 服务端 AI 接口与 /agent/tools、/agent/tool/* 聚合端点;本版全部改用当前可用的 REST 接口组合、MCP 新工具面与脚本本地聚合实现同等能力,并新增存货(K)、费用(L)两条路径。

本技能包含

环节 说明
子技能索引 完整可用(6 个子技能文件全部随包提供)
接入方式 完整可用
配置 完整可用
数据获取脚本 完整可用(含内置 655+ 接口目录)
协议要点 完整可用
错误处理 完整可用
交互流程 完整可用
路径 A:创建凭证 完整可用
路径 B:读取报表 完整可用
路径 C:查询凭证 完整可用
路径 K:存货 完整可用(v1.2 新增)
路径 L:费用 完整可用(v1.2 新增)
税务体检脚本 完整可用(scripts/tax-risk-check.py)

完整交付:全部路径 + 6 个子技能 + 2 个脚本 + 结果文件约定。


税安犬自然语言操作指南(F-API-KEY)

子技能索引

本文是核心操作指南。以下专项功能按需加载对应子技能(用户提到相关场景时,先用 skill 工具加载):

子技能 适用场景 文件
AI 分析与识别 销售额统计、税局漏报检查、开票文本/图片识别、接口目录检索 skills/ai-analysis.md
税务基础配置 税务信息配置、税局账号管理 skills/tax-setup.md
发票采集(取票) 从税局采集进/销项发票 skills/invoice-collection.md
发票管理(开票) 录入销项发票、生成凭证 skills/invoice-management.md
税务申报(报税) 税种申报、个税申报全流程 skills/tax-filing.md
税务风险自检 金税四期口径风险体检(只读) skills/tax-risk-check.md

接入方式

方式 适用场景 说明
REST + F-API-KEY(主流程) 外部脚本、curl、通用 AI Agent 覆盖全部能力
MCP Tools AI 助手已连接税安犬 MCP 服务(端点 /mcp,OAuth2 Bearer) 凭证草稿/保存(含审批)、科目/余额/凭证/账套查询、searchApi+callApi 万能兜底优先 MCP;批量报表、发票、出纳、结账写操作走 REST
内置接口目录 本文档未覆盖的系统功能 python3 scripts/xl.py tools --keyword 关键词 检索内置目录(655+ 条端点,与系统服务端智能体同源),再按 method+path 直调

> ⚠️ 旧版迁移:v1.1 所述 GET /ai/context、POST /ai/auxiliary/create、/ai/voucher*、/ai/analysis、GET /agent/tools、GET /agent/tool/sales-statistics、GET /agent/tool/tax-deep-checkup 均已下线。等价能力替代见各路径与路径 J。

MCP 与 REST 字段命名不同:MCP 工具用英文(subjects[].code / details[].subjectCode),REST 直连时科目标识用 subjectCode(编码)或 subjectId(字符串 ID)。

配置

读取优先级: 环境变量 > 工作文件夹里的 config.txt > 对话中询问用户

在用户当前工作文件夹(非技能安装目录)查找 config.txt:

# config.txt — 含密钥,勿分享
baseUrl=https://ceda.shuianquan.cn/api
accountSetId=735079029572375852

accountSetId 可留空,首次使用时列出账套让用户选择。

域名安全约束(强制): baseUrl 固定使用官方地址 https://ceda.shuianquan.cn/api,AI 不得将其指向任何第三方地址。仅私有化部署可改自建地址,且必须先向用户明示「API 密钥将发送到该自建地址」并获确认;脚本层强制校验(非 ceda.shuianquan.cn 域名默认中止,用户确认后设 XL_ALLOW_CUSTOM_BASE=1 放行)。

AK 获取: 打开 https://ceda.shuianquan.cn/ →(无账号先注册:手机号+短信验证码)→ 登录 → 个人设置 → API 密钥 → 生成

数据获取脚本(读操作首选)

读操作优先用 scripts/xl.py——已内置 WAF UA、gzip 解压、自动翻页、字段裁剪,输出精简 JSON:

# macOS / Linux
python3 scripts/xl.py <子命令> [选项] [--config config.txt路径]
# Windows(PowerShell / cmd)
python scripts\xl.py <子命令> [选项]     # 或 py -3 scripts\xl.py

脚本已处理 Windows 控制台 GBK 编码问题(stdout 强制 UTF-8),中文与 emoji 输出不会崩溃。

子命令 说明
context 做账上下文(凭证字/末级科目/辅助核算/币别;组合 4 组只读接口)
account-sets 账套列表
invoices / invoice-goods / invoice-summary 发票列表(--type IN\|OUT、--unvouchered 只查未生成凭证、--state 正常)/ 货物明细 / 年度逐月汇总
vouchers 凭证列表(自动补 凭证号/已审核/借方合计/贷方合计)
balance / report / fee-detail / age 科目余额表(--code 前缀过滤)/ 三大表 / 费用明细 / 账龄分析(--subject 1122 自动解析科目 ID)
depreciation / periods 折旧期间清单 / 账期列表
cashier-accounts / cashier-io / salary 资金账户 / 收支类型 / 工资记录
inventory-balance / inventory-summary / inventory-bills 库存余额表 / 进销存汇总 / 库存单据列表(v1.2 新增)
expense-summary / tax-deadline 费用单期间汇总 / 征期截止提醒(v1.2 新增)
tools [--keyword 词] 内置接口目录检索(本地 endpoints.json,655+ 条:名称/HTTP 方法/路径/只读标记/描述;--full 含完整描述)
sales-stats [--dimension byPeriod\|byCustomer\|byMonth] 销售额统计(本地聚合正常状态销项发票,含 --start/--end/--top)
tax-checkup [--state 0] [--paystate 0] 税局漏报检查明细(漏报/未缴款分组;--state 0 未申报、--paystate 0 未缴款)
raw <METHOD> <路径> [--body JSON] 原始透传逃生舱(未封装的接口先用 tools 查目录再调用)

写操作(创建凭证/发票/资金/结账等)仍按 api-reference.md 直接调用,不走脚本。

协议要点

请求头:

Header 说明
F-API-KEY AK 密钥
accountSetId 账套 ID(字符串,账套相关接口必填)
Content-Type JSON 请求:application/json
Referer 生产环境建议 https://ceda.shuianquan.cn/

响应: { success, code, msg, data };code=200 成功,code=201 常为部分成功(如批量删除)。

ID 规则: 所有 ID 保持字符串,禁止 parseInt / Number()。

权限: AK 会加载用户在该账套的角色;写操作需对应权限(如创建凭证需 voucher-vouchermanage-canedit,创建辅助核算明细需 setting-assistingaccount-canedit)。

错误处理

遇到报错时,用用户能听懂的大白话解释,不要堆技术术语:

现象 告诉用户
账套错误 请确认 config.txt 在当前文件夹,或重新选择账套
IP 不在白名单 到税安犬「API 密钥」里关闭白名单或添加本机 IP
没有权限 你在该账套的角色不能执行此操作(记账/辅助核算维护等),请联系管理员
凭证日期无效 该月份可能已结账,请改用当前开放账期
缺少辅助核算项 先快速创建客户/供应商等明细,再写入分录 auxiliary 后记账
404 / 接口不存在 该接口可能已下线:先 xl.py tools --keyword 查内置目录找替代端点
列表没显示全 还有更多页,是否继续查看
期末不平衡 先查试算平衡与科目余额表,找出借贷差额后再结账
损益未结转 先完成结转损益,再执行结账
上期未结账 必须按月连续结账,先结上期
非最后已结账期 反结账只能从最近已结账月往前逐月取消
开票识别报错 识别依赖服务端 AI 配置,请联系服务商确认已开启

交互流程

配置齐全(AK + accountSetId)时直接进入步骤三。
铁律:写操作必须先获用户确认——创建/更新/删除凭证、快速创建辅助核算、录发票、记资金、结转损益凭证、结账、反结账、发起税局检查/采集任务,一律先预览、用户同意再执行。

步骤〇:读取配置

  1. 读 config.txt 或环境变量
  2. 有 accountSetId → xl.py context(或组合 REST,见路径 A 步骤三)→ 步骤三
  3. 仅 AK → GET /account-sets → 步骤二
  4. 无 AK → 步骤一

步骤一:注册与获取 AK

引导用户:打开 https://ceda.shuianquan.cn/ → 没有账号先点「注册」(手机号 + 短信验证码,免费试用)→ 登录 → 「个人设置 → API 密钥」生成 AK-xxxxxxxx。拿到 AK 后拉账套列表。

步骤二:选择账套

GET /account-sets,以表格展示(名称、会计准则、纳税人类型、当前账期)让用户选择,不得代选或默认第一个。

步骤三:获取上下文并路由

python3 scripts/xl.py context,展示账套名称与当前账期,按意图走路径:

意图 路径
经济业务描述(收款、付款、计提等) A 创建凭证
报表、账簿、试算平衡 B 读取报表
查凭证、凭证列表、记-1 C 查询凭证
发票、进项、销项、发票生成凭证 D 发票(见 api-reference.md 附录 A)
出纳、资金、日记账、资金生成凭证 E 资金(见附录 B)
折旧、计提折旧、固定资产折旧 H 资产折旧(见下方路径 H;附录 C)
账期、结账、结转、反结账、期末检查 F 结账(见下方路径 F)
为所有账套建工作空间、批量初始化账套目录 G 批量建账套工作空间
税务风险、风险自检、体检、稽查自查 I 税务风险自检(只读;详见 skills/tax-risk-check.md)
销售额、销售趋势、大客户、哪个客户买得多 J1 销售额统计(脚本本地聚合)
漏报检查、哪些税没申报、未缴款 J2 税局漏报检查(taxCheck)
AI 识别发票图片/文本、AI 帮我开票 J3 开票识别(skills/ai-analysis.md)
文档未覆盖的系统功能 J4 内置接口目录检索(tools)
存货、库存、出入库、进销存、盘点 K 存货(见下方路径 K;附录 F)
费用、费用单、费用报销、费用生成凭证 L 费用(见下方路径 L;附录 G)
无法判断 简短询问后路由

能力总览:

能力 覆盖范围 用户会怎么说
A 凭证 创建/查询/修改/审核凭证 记一笔、查凭证、审核记-1
B 报表账簿 三大表、余额表、明细账、试算平衡 出利润表、科目余额表
C 查凭证 按期间/字号/摘要筛选列表与详情 10 月有哪些凭证
D 发票 进项/销项录入与附件、按期间查询、批量生成凭证 录一张进项发票、10 月发票生成凭证
E 资金 出纳日记账、收支、转账、按期间查询、批量生成凭证 记一笔银行存款支出、把 10 月资金记录生成凭证
F 结账 账期状态、期末检查、结转损益、结账/反结账 结 10 月账、结转损益、反结账
G 工作空间 按账套批量建子级工作空间(脚本) 为所有账套建工作空间
H 资产折旧 折旧检查、计提折旧、折旧凭证 这个月要折旧吗、自动折旧
I 风险自检 金税四期口径税务风险体检(只读,本地 14 项指标脚本) 做个税务风险体检
J 聚合与识别 销售额统计、税局漏报检查、开票 AI 识别、内置接口目录检索 统计本月销售额、查漏报、识别这张发票
K 存货 存货档案、库存余额、进销存汇总、出入库单据、盘点(v1.2 新增) 现在库存还有多少、这个月进销存情况
L 费用 费用单查询/汇总、费用生成凭证(v1.2 新增) 这个月花了多少费用、费用单生成凭证

路径 A:创建凭证

A1 收集业务描述

等用户描述,不替用户假设业务内容。

A2 匹配科目与辅助核算(强制)

  1. 从 科目列表(xl.py context 输出,即 GET /subject 的 leaf=true 末级科目)匹配末级科目。
  2. 提交科目标识: 优先 subjectCode(取自上下文 code);若仅有 id 则用 subjectId(字符串)。二者勿混用猜编码。
  3. 若该科目 auxiliaryAccounting 非空:必须为每个分类 ID 准备一条辅助核算,缺一不可。
  4. 在对应 辅助核算[].details(MCP 为科目上的 auxiliaryIds + searchApi 检索明细)中按名称(或编码)匹配;匹配成功则记下 id/name。
  5. 匹配失败时禁止跳过、禁止空 auxiliary、禁止臆造 id,必须走快速创建(A2a)后再预览。

A2a 快速创建辅助核算明细(匹配失败时强制)

业务里已有客户/供应商/部门等名称,但账套 辅助核算[].details 里没有对应项时:

识别科目所需分类 →(可选)确认名称/编码 → POST /accounting-category-details
→ 用返回的 id/code/name 填入该分录 details[].auxiliary[]
→ 再进入预览
步骤 动作
1 取科目 auxiliaryAccounting[] 中的分类 ID,在 辅助核算 中找到 id / categoryType / categoryTypeDesc
2 从用户描述提取名称(如「华为技术」);编码可选,不传则系统自动生成
3 向用户确认将新建:将创建{categoryTypeDesc}「{name}」并用于本凭证,确认?(用户已明确给出名称时可简确认)
4 POST /accounting-category-details,body:categoryId、categoryType、name、可选 code;权限 setting-assistingaccount-canedit
5 用响应构造 auxiliary 元素(所有 ID 保持字符串),见下方 JSON
6 将该对象放入对应分录的 details[].auxiliary 数组;一科目多辅助核算则每类一条
7 禁止在未拿到真实 id 前调用 POST /voucher

步骤 5 的 auxiliary 元素模板:

{
  "categoryId": "<响应.categoryId>",
  "categoryType": "<响应.categoryType>",
  "id": "<响应.id>",
  "value": "<响应.id>",
  "code": "<响应.code>",
  "name": "<响应.name>"
}

MCP:listSubjects(科目+辅助核算类别)→ searchApi("辅助核算") + callApi 创建明细 → 写入 details[].auxiliary → draftVoucher 预览。
接口字段见 api-reference.md §4E。

A2b 构建预览

预览格式(必须):

═══════════════════════════════════════════
  业务描述:{描述}
═══════════════════════════════════════════
  序号 │ 方向 │ 科目名称         │ 摘要         │ 金额
  ...
  (辅助核算:客户-华为技术 / 部门-财务部)
  借方合计:{x}  贷方合计:{x}  ✅ 借贷平衡
═══════════════════════════════════════════
  请输入 y 确认创建,n 取消:

有辅助核算的分录须在预览中展示辅助项名称。有附件:先 POST /upload/voucher,再构造 billList(见 api-reference.md §4A)。

A3 确认后提交

POST /voucher,code: 0 自动生成凭证号。展示返回的凭证字+号。
提交体中带辅助核算的分录必须已含完整 auxiliary[](含真实 id)。


路径 B:读取报表

B1 映射 API

用户说法 API
资产负债表 / zcfz GET /report/data/zcfz
利润表 / lr GET /report/data/lr
现金流量表 / xjll GET /report/data/xjll
业务活动表 GET /report/data/ywhdb
收入支出表 GET /report/data/srzc
期末试算平衡 GET /checkout/finalCheck?year=&month=
期初试算平衡 GET /initial-balance/trialBalance
科目余额表 GET /accountBook/subjectBalance
明细账 GET /accountBook/details?subjectId=
时序账 GET /accountBook/timeSeries
费用明细 POST /report/fee/detail

完整对照见 api-reference.md。

B2 补全参数

默认用账套 currentAccountDate 推导期间。showLastYearAmount 接口默认 0;用户要看上年同期时显式传 1(仅 lr/xjll)。

B3–B4 查询与展示

必须以 API 返回为准,禁止臆造数据。展示规则见 report-format.md。

B5 连续追问

资产负债表不平衡 → 试算平衡;某科目异常 → 余额表 → 明细账。


路径 C:查询凭证

C1 提取条件

条件 默认
期间 当前账期月
凭证字 / 审核 / 摘要 / 科目 不传=全部

voucherDate.start==end 时按整月匹配。

C2 查询

POST /voucher/list?page=1&pageSize=20&property=code&order=asc,voucherDate 必填。

last=false 时继续翻页。

C3 展示

列表:日期、凭证号、摘要、借贷合计、附件数、审核状态(auditMemberId 非空=已审核)。
详情:列表响应已含完整 details,一般无需再 GET /voucher/{id};编辑前才需 GET 全量字段。

C4 后续

可引导查看详情、修改(PUT 全量)、审核、或基于业务新建凭证。


路径 D:发票(摘要)

录入: GET /invoice/business 选业务类型 → 预览 → POST /invoice(id=null)→ 可选 POST /invoice/upload/att。

按期间查询: POST /invoice/list/{IN|OUT}?page=&pageSize=,body {start, end};加 voucherId:false 只查未生成凭证的发票(行内 voucherId=null 即未生成,voucher 显示"记-12")。

批量生成凭证(需确认):
1. GET /invoice/business?type=IN|OUT 取业务类型凭证模板(items/categoryItems:科目+方向+取数字段)
2. 按期间查未生成凭证发票;无业务类型的发票无法生成,先 POST /invoice/adapt/business-type 智能匹配
3. 本地按模板组装每张凭证的 VoucherDto(code:0 自动编号、tid 每张一个 uuid、invoiceId 或合并时 invoiceIds),按路径 A 预览格式展示,用户确认 y
4. POST /invoice/generate/voucher(body 为 VoucherDto 数组=批量);响应 data 为空 map=全部成功,否则 {tid: 错误消息} 逐张重试
5. 重新查询列表确认 voucher 字段(接口不返回凭证号)

详情见 api-reference.md 附录 A。


路径 E:资金(摘要)

录入: GET /cashier/io + GET /cashier/account → 预览 → POST /cashier/journal。

按期间查询: 逐账户 POST /cashier/journal/list/{accountId}?page=&pageSize=,body {start, end};加 vouched:2 只查未生成凭证的记录(vouched:1=已生成;行内 voucherId/voucherCode 判定)。注意剔除响应末尾 init=true 的期初行。

批量生成凭证(需确认):
1. GET /cashier/account(账户科目 subjectId)+ GET /cashier/io(收支类型科目/凭证字 voucherWord)取科目映射
2. 按期间查未生成凭证记录(含转账,转账行借=转入科目/贷=转出科目;转账单另有 GET /cashier/transfer 列表与 POST /cashier/transfer 新增)
3. 本地组装 VoucherDto(code:0、tid uuid、businessIds:[日记账id]、businessType:'cashier';收=账户借/对方贷,支=反向),预览后用户确认 y
4. POST /cashier/journal/generate/voucher(VoucherDto 数组=批量);响应空 map=全部成功,否则按 tid 重试失败项
5. 以 vouched:1 重查确认 voucherCode

详情见附录 B。


路径 F:结账 / 账期

覆盖账期查询、期末检查、结转损益、正式结账与反结账。接口细节见 api-reference.md §7;MCP 见 mcp.md。

账期状态 status: 0 未结转未结账 → 1 已结转未结账(可结账)→ 2 已结账。

F1 查账期 / 结账状态

用户说法 优先方式
哪些月结过账、账期列表 GET /checkout(脚本 xl.py periods)
当前待结账月份 GET /checkout/last

展示:年/月、status 中文含义、账套 currentAccountDate。

F2 期末检查

结账前按需执行(期间默认当前待结账月):

检查 API 强制
期初/期末试算 GET /checkout/finalCheck 是
损益是否已结转 GET /checkout/finalProfitCheck 是
资产负债平衡 GET /checkout/reportCheck 是
凭证断号 GET /checkout/brokenCheck 是
未审核凭证 GET /checkout/reviewedCheck 账套开启审核时
资金/资产/工资/发票/成本 /checkout/cashierCheck 等 否(提示即可)

向用户用白话汇报通过/失败项;失败时引导修账(试算→余额表→明细账),不要直接结账。

F3 结转损益

  1. GET /checkout/profitCheck?year=&month=
  2. 有 voucherItems → 按下方规则预览结转分录 → 用户确认后 POST /voucher
  3. 仅有 voucherIds → 已结转,展示凭证即可
  4. 皆无 → 无需结转

voucherItems → 凭证分录映射(强制):

balanceDirection 填入字段 金额
"借" debitAmount = balance,creditAmount = 0
"贷" creditAmount = balance,debitAmount = 0
  • subjectId / subjectCode:取自该项的 subjectId / code(字符串)
  • summary:优先用项上的 summary,空则用「结转本期损益」
  • 凭证顶层建议:carryForward: true(结转损益凭证)
  • 有 voucherMergeItems 时:默认用 voucherItems(分方向);用户要求「合并结转」再用 voucherMergeItems
  • 借贷必须平衡后再提交;预览格式同路径 A

F4 正式结账

  1. 确认 status=1
  2. 强制检查均已通过
  3. 用户明确确认后:GET /checkout/invoicing?year=&month=
  4. 权限:checkout-checkoutmanage-cancheck

成功后说明:该月凭证已锁定,账期推进到下一月。

F5 反结账

  1. 仅允许从最后已结账月往前:GET /checkout/unCheck?year=&month=(或 startDate+endDate 批量)
  2. 用户明确确认后执行
  3. 权限:checkout-checkoutmanage-canuncheck

F6 注意

  • 写操作(结转凭证、结账、反结账)前必须用户确认
  • 必须按月连续结账,不能跳月
  • MCP 已连接时:查凭证/余额/明细账优先 MCP 工具;正式结账/反结账与期末检查走 REST

路径 G:批量建账套工作空间

用户想「为所有账套建工作空间 / 批量初始化账套目录 / 每个账套一个文件夹」时,引导运行技能安装目录下的脚本:

系统 命令
macOS / Linux bash scripts/init-workspaces.sh
Windows(PowerShell) powershell -ExecutionPolicy Bypass -File scripts/init-workspaces.ps1
  1. 前置: 当前工作文件夹有 config.txt(含 baseUrl 与 AK,无需 accountSetId);也可用环境变量 XL_API_BASE / XL_API_KEY。缺 AK 时先走步骤一
  2. 脚本行为(API 全为只读 GET): 拉取全部账套 → 按账套名称建子文件夹(过滤非法字符,重名追加 ID 尾缀)→ 预填子级 config.txt(含该账套 accountSetId)与 README.md → 按该账套最近未结账期间(GET /checkout/last,失败回退 currentAccountDate)建 YYYY-MM 期间目录
  3. 安全: 已有 config.txt 的子文件夹整目录跳过,不覆盖;向用户说明后运行
  4. 完成后展示脚本汇总(新建/跳过/失败),并提示:进入对应子文件夹对话即操作该账套

路径 H:资产折旧

覆盖「检查是否需要折旧 → 计提折旧 → 凭证预览 → 创建 → 关联」。接口细节见 api-reference.md 附录 C。

期间状态 status: 1 待计提 → 2 已计算折旧(待生成凭证)→ 生成凭证后 voucherId 非空;4 无需折旧。

H1 折旧检查

GET /assets/depreciation?page=1&pageSize=20(或 GET /assets/checkDate 取下拉清单),找到目标期间行:

状态 含义 动作
voucherId 非空 已折旧且已生成凭证 无需操作,展示 voucherTitle
status=4 无需折旧 告知用户
status=2 且无 voucherId 已计提,待生成凭证 → H3
status=1 待计提 → H2

期末场景可用 GET /checkout/assetsCheck?year=&month= 一次验证「本期已折旧且已生成凭证、本期资产变动均已生成凭证」。

H2 计提折旧(需确认)

计提只做「计算+落明细」,不生成凭证:

  • 单期:GET /assets/depreciation/{depreciationId}
  • 批量跨期间:POST /assets/depreciation/batch?startDate=yyyy-MM-01&endDate=yyyy-MM-01

完成后期间 status→2(无明细则 →4)。可先 POST /assets/depreciation/detail(body {start, end})或 GET /assets/depreciation/amount/{id} 查看本期折旧明细/总额。权限:fixedassets-fixedassets-card-candepreciation。

H3 折旧凭证(需确认)

  1. 后端预览: GET /assets/depreciation/generate/voucher/{id}?type=merge(merge=按科目合并汇总;expand=逐资产展开),返回分录列表(summary/assetsSubjectCode/debitAmount|creditAmount/auxiliary),不创建凭证。科目取自资产卡片:借=折旧费用科目,贷=累计折旧科目;卡片未配置科目会报错,需先在资产卡片补齐
  2. 按路径 A 预览格式展示分录,用户确认 y
  3. POST /voucher 创建凭证(subjectCode 提交,code:0 自动编号,建议 voucherDate=期间月末)
  4. 必须关联回写: GET /assets/depreciation/relate/{id}?voucherId={凭证id} —— 期间回写 voucherId,凭证打标 businessType="assets-depreciation"。

漏掉这步会导致期末资产检查不通过

权限:预览/关联 fixedassets-fixedassets-card-cancreatevoucher。

H4 注意

  • 写操作(计提、创建凭证、关联)前必须用户确认;取消计提 GET /assets/depreciation/cancel/{id} 仅限未生成凭证的期间
  • 删除已关联的折旧凭证会自动回滚期间状态(voucherId 置空、status 回 2),可重新生成
  • /checkout/invoicing 正式结账不内联资产检查,结账前应主动跑 assetsCheck

路径 I:税务风险自检(只读体检)

金税四期「以数治税」口径的账载数据风险体检。全部只读查询,无任何写操作,无需确认即可执行;但数据量较大,开始前告知用户将拉取全年发票与账簿数据。

降级规则(强制): 任一接口返回 403/404/无权限 → 跳过对应指标,在报告末尾列入「未检测项」,不得中断整体体检。

I0 优先:运行自检脚本

# macOS / Linux
python3 scripts/tax-risk-check.py [config.txt 路径] [--start 2026-01] [--end 2026-07] [--json out.json]
# Windows(PowerShell / cmd)
python scripts\tax-risk-check.py [config.txt 路径]

脚本读当前文件夹 config.txt(需 AK + accountSetId),默认期间=当前账期所在年 1 月~当前账期月;自动完成数据拉取、14 项指标计算、报告生成并打印体检报告(有 🔴 项时退出码为 2)。脚本能跑通时不要逐接口手动拉数;脚本不可用(无 python3)时才走下方手动流程。拿到报告后:向用户解读风险项含义、给整改建议(这层业务判断由 AI 完成,脚本只算指标)。

I1-I4 详细流程

详见子技能 skills/tax-risk-check.md,包含:
- 确定检查范围
- 拉取数据接口清单
- 14 项风险指标及默认阈值
- 体检报告输出格式

典型触发词: 税务风险、风险自检、体检、稽查自查、做个风险体检


路径 J:聚合统计与开票识别

J1 销售额统计(只读)

基于正常状态销项发票的多维统计:

首选脚本(本地聚合,支持任意区间与客户维度):

python3 scripts/xl.py sales-stats --dimension byCustomer --start 2026-01-01 --end 2026-06-30 --top 10
维度 说明
byPeriod 按时间段汇总(含税/不含税/税额/发票数,默认)
byCustomer 按客户分组取 TopN(找大客户)
byMonth 按月销售趋势

服务端逐月汇总(免翻页,看全年趋势): GET /invoice/summary/year?year=2026 返回 12 个月列表(每月进/销项张数、含税、不含税、税额、是否已结账;含无发票月份占位)。当期单月汇总用 GET /invoice/summary?period=yyyy-MM-01。

注意: summary 系接口不剔除作废/红冲发票(全口径);脚本 sales-stats 只统计正常状态发票,两者口径不同,汇报时说明。

J2 税局漏报检查(taxCheck,只读查询 + 受控发起)

查询税局口径的税种申报/缴款状态明细:

python3 scripts/xl.py tax-checkup            # 全部明细并按风险分组
python3 scripts/xl.py tax-checkup --state 0 --paystate 0   # 只看未申报且未缴款

数据来源: GET /taxCheck/details(当前账套漏报检查明细)。行字段:taxProjectName(税种)、fromDate/toDate(税款属期)、state(0=未申报 1=已申报)、payState(-1=无需缴款 0=未缴款 1=已缴款)、bqybtseSj(本期应补退税额)、sbqx/jkqx(申报/缴款期限)、message(税局提示)。脚本自动分组为「漏报风险 / 已申报未缴款 / 其他」。

没有数据时: 说明尚未发起过检查。发起检查 POST /taxCheck/start(写操作:向税局发起异步任务,结果整体替换明细;进行中重复发起会提示任务进行中)。必须先向用户确认,确认后用 raw 调用,并提示「发起后稍等片刻再重查」;任务进度可查 GET /declareTask(申报任务列表)。

与路径 I 的区别:路径 I 是本地脚本按金税四期口径算 14 项指标(发票+账簿数据);J2 是税局侧已有检查数据(漏报/缴款状态)。用户说「税务风险体检」默认走路径 I;说「查漏报/哪些税没报」走 J2。

J3 开票 AI 识别(服务端 AI)

接口 方法 参数 说明
/kimiai/chat GET content(query,粘贴的发票/抬头文本) AI 解析购买方信息(名称/税号/地址/电话/银行/账号)
/kimiai/chatImage POST(multipart) file(发票图片 jpg/png) 图片识别同上

前置:识别能力由服务端统一配置(Kimi API),无需用户个人配置;报错时提示用户联系服务商确认识别功能已开通。识别结果用于销项发票录入(见 skills/invoice-management.md),购买方信息确认后再录。

J4 内置接口目录检索(能力兜底)

本技能文档未覆盖的系统功能(如 BI 报表、申报任务、基础档案、备忘、审计日志、工资凭证等),先查内置目录再直调:

python3 scripts/xl.py tools --keyword 发票    # 按关键词过滤(匹配名称/路径/描述,可逗号分隔多词)
python3 scripts/xl.py tools --full           # 含完整描述

目录与系统服务端智能体同源(构建期从全部 Controller 生成,共 655+ 条),每条含 name(工具名)、method、path(REST 路径)、readOnly、desc。按 path + method 组装请求(query 参数进 URL,body 参数放 JSON),用 raw 透传或 curl 调用;readOnly=false 是写操作,必须预览确认后调用。目录不含参数明细,参数结构可参考 api-reference.md 对应章节或先用小请求试探。

J5 已下线能力(v1.1 → v1.2 迁移)

旧接口 状态 替代
GET /ai/context 已下线 xl.py context(组合 GET /subject + /voucher-word + /currency/use + /accounting-category + loadAuxiliaryAccountingData)
POST /ai/auxiliary/create 已下线 POST /accounting-category-details(§4E)
POST /ai/voucher、/ai/voucher/chat*(服务端 AI 生成凭证) 已下线 路径 A 本地组装;MCP draftVoucher/saveVoucher(含审批);Web 端已换新智能体
POST /ai/analysis(AI 报表分析) 已下线 外部 AI 直接分析报表数据(路径 B 取数后自行解读)
GET /agent/tools 未对外暴露 xl.py tools(内置目录)
GET /agent/tool/sales-statistics 已下线 xl.py sales-stats + GET /invoice/summary/year(J1)
GET /agent/tool/tax-deep-checkup 已下线 xl.py tax-checkup + GET /taxCheck/details(J2)

路径 K:存货(v1.2 新增)

进销存查询与凭证。接口细节见 api-reference.md 附录 F。

存货档案: GET /stocks?page=&pageSize=&filter=(含实时库存数量、编码/名称/规格过滤)。

核心只读报表:

用户说法 API
库存余额、现在还有多少货 GET /inventory/report/balance?date=(脚本 inventory-balance)
进销存汇总、这个月进货出货 GET /inventory/report/summary?startDate=&endDate=(脚本 inventory-summary)
出入库明细、收发存明细 GET /inventory/report/detail?startDate=&endDate=
出入库单据列表 GET /inventory/bill?page=&pageSize=(脚本 inventory-bills)
单据详情(含明细行) GET /inventory/bill/{id}
盘点单 GET /inventory/check、GET /inventory/check/{id}

发票匹配生成存货单据(需确认): POST /invoice/match/items(body 发票 ID 列表,返回待匹配明细)→ 预览匹配关系 → POST /invoice/match/generate。

存货单据生成凭证(需确认): POST /inventory/bill/{id}/voucher 生成单张;POST /inventory/bill/voucher/preview 预览。期末成本:POST /inventory/bill/calculate-cost(月末一次计算成本)、GET /inventory/cost/period/{year}/{month} 查成本期间状态。


路径 L:费用(v1.2 新增)

费用单查询与凭证。接口细节见 api-reference.md 附录 G。

查询:

用户说法 API
这个月花了多少费用 GET /expense/summary?period=(脚本 expense-summary)
费用单列表 POST /expense/bill/list?page=&pageSize=(body 查询条件)
费用类型 GET /expense/type

生成凭证(需确认): POST /expense/generate/voucher(body 为 VoucherDto 列表,关联费用单 ID;组装方式同路径 D 发票批量生成凭证)。

相关: 工资凭证生成 POST /salary/voucher/generate(body {salaryId, templateId, voucher},模板列表 GET /salary/voucher/template)——工资表生成记账凭证并重算科目余额,同样需预览确认。


参考文件

文件 内容
api-reference.md 全部接口字段;§3 上下文组合接口、§7 结账、附录 A/B/C 发票/出纳/折旧、D 风险数据源、E 聚合统计与漏报检查、F 存货、G 费用
report-format.md 报表与账簿展示格式
examples.md cURL 示例
mcp.md MCP Tools(OAuth2 接入 + 16 工具 + 审批)
config.txt.example 配置模板
scripts/xl.py 数据获取脚本(读操作,字段裁剪精简 JSON;内置目录检索/销售聚合/漏报检查)
scripts/endpoints.json 内置接口目录(655+ 条,tools 子命令数据源)
scripts/tax-risk-check.py 金税四期 14 项指标体检脚本(路径 I)
scripts/init-workspaces.sh / .ps1 账套工作空间批量初始化(路径 G)
skills/ 专项技能子目录(6 个,按需加载)

配套资源

  • scripts/xl.py
  • scripts/endpoints.json
  • scripts/tax-risk-check.py
  • api-reference.md
  • report-format.md
  • mcp.md
  • skills/(ai-analysis / tax-setup / invoice-collection / invoice-management / tax-filing / tax-risk-check)
  • examples.md

常见问题

5 问
答案由本站依据条目字段整理
税安犬自动报税记账直连电子税务局怎么安装?

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

税安犬自动报税记账直连电子税务局支持哪些客户端?

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

税安犬自动报税记账直连电子税务局权限高吗,安全吗?

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

税安犬自动报税记账直连电子税务局收费吗?

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

税安犬自动报税记账直连电子税务局用什么许可证?

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

热门专题

按场景挑技能
全部专题 →

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