企业级AI财务助理

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

香兰财务系统官方技能:让 OpenCode、Codex、Claude Code、DeepSeek CLI、WorkBuddy、Mimo 等 AI 助手直接操作你的账套——自然语言记账、三大报表与账簿查询、发票录入与批量生成凭证、出纳资金、固定资产折旧、结账结转反结账、金税四期税务风险体检,并具备与网页版 AI 同源的进阶能力(销售额多维统计、税务深度体检、AI 报表分析、发票图片识别、多轮对话生成凭证、460+ 接口目录动态发现)。用户尚未注册时,引导到 https://fin.fdmobile.top/ 注册(手机号+短信验证码)。当用户提到香兰财务、注册账号、API 密钥、记账、凭证、利润表、资产负债表、现金流量表、科目余额表、明细账、辅助核算、客户、供应商、发票、销项、进项、发票生成凭证、出纳、资金日记账、折旧、计提折旧、结账、结转损益、反结账、销售额统计、销售趋势、大客户、AI 分析、发票识别、税务风险、漏报、风险体检、稽查自查、账套工作空间、税务配置、一键取票、开票、报税时使用。

一句话选型结论

按资料字段整理

企业级AI财务助理是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

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

安装

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

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

  2. 2
    拿到技能文件

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

  3. 3
    刷新技能列表

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

  4. 4
    验证是否生效

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

技能档案

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

典型使用场景

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

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

批量处理重复任务

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

把流程写成清单

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

选择建议

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

值得选的地方

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

先想清楚的地方

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

更适合

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

不太适合

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

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
企业级AI财务助理当前 未标注权限 未标注 未标注 未标注 有
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 全文

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

香兰财务系统自然语言操作指南(F-API-KEY)

子技能索引

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

子技能 适用场景 文件
AI 分析与识别 报表 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 覆盖全部能力,含服务端 AI 与聚合工具端点(路径 J)
MCP Tools AI 助手已连接香兰财务系统 MCP 服务 凭证/辅助/账期检查优先 MCP;报表、列表、发票、出纳、结账写操作走 REST
接口目录发现 本文档未覆盖的系统功能 GET /agent/tools 一次获取全量接口的 HTTP 方法/路径/参数定义,与网页版 AI 工具面同源

MCP 覆盖凭证创建/预览、辅助核算、账期列表与结转检查;其余走 REST。两者字段命名不同:MCP 为英文(subjects / auxiliaries[].items),REST /ai/context 为中文键(科目列表 / 辅助核算[].details)。

配置

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

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

# config.txt — 含密钥,勿分享
baseUrl=https://fin.fdmobile.top/api
AK=AK-xxxxxxxx
accountSetId=735079029572375852

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

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

AK 获取: 打开 https://fin.fdmobile.top/ →(无账号先注册:手机号+短信验证码)→ 登录 → 个人设置 → 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 AI 上下文(凭证字/科目列表/辅助核算/币别,已裁剪)
account-sets 账套列表
invoices / invoice-goods / invoice-summary 发票列表(--type IN\|OUT、--unvouchered 只查未生成凭证)/ 货物明细 / 年度汇总
vouchers 凭证列表(自动补 凭证号/已审核/借方合计/贷方合计)
balance / report / fee-detail / age 科目余额表(--code 前缀过滤)/ 三大表 / 费用明细 / 账龄分析(--subject 1122 自动解析科目 ID)
depreciation / periods 折旧期间清单 / 账期列表
cashier-accounts / cashier-io / salary 资金账户 / 收支类型 / 工资记录
tools [--keyword 词] 全量接口目录(HTTP 方法/路径/只读标记;--full 含参数定义)
sales-stats [--dimension byPeriod\|byCustomer\|byMonth] 销售额统计(含 --start/--end/--top)
tax-checkup [--focus all\|unreported\|unpaid\|expiring] 税务深度体检(漏报/缴款/临期风险报告)
raw <METHOD> <路径> [--body JSON] 原始透传逃生舱(未封装的接口先查 tools 目录再调用)

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

协议要点

请求头:

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

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

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

权限: AK 会加载用户在该账套的角色;写操作需对应权限(如创建凭证需 voucher-vouchermanage-canedit)。

错误处理

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

现象 告诉用户
账套错误 请确认 config.txt 在当前文件夹,或重新选择账套
IP 不在白名单 到香兰财务系统「API 密钥」里关闭白名单或添加本机 IP
没有权限 你在该账套的角色不能记账,请联系管理员
凭证日期无效 该月份可能已结账,请改用当前开放账期
缺少辅助核算项 先快速创建客户/供应商等明细,再写入分录 auxiliary 后记账
列表没显示全 还有更多页,是否继续查看
期末不平衡 先查试算平衡与科目余额表,找出借贷差额后再结账
损益未结转 先完成结转损益,再执行结账
上期未结账 必须按月连续结账,先结上期
非最后已结账期 反结账只能从最近已结账月往前逐月取消

交互流程

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

步骤〇:读取配置

  1. 读 config.txt 或环境变量
  2. 有 accountSetId → GET /ai/context → 步骤三
  3. 仅 AK → GET /account-sets → 步骤二
  4. 无 AK → 步骤一

步骤一:注册与获取 AK

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

步骤二:选择账套

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

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

GET /ai/context,展示账套名称与当前账期,按意图走路径:

意图 路径
经济业务描述(收款、付款、计提等) A 创建凭证
报表、账簿、试算平衡 B 读取报表
查凭证、凭证列表、记-1 C 查询凭证
发票、进项、销项、发票生成凭证 D 发票(见 api-reference.md 附录 A)
出纳、资金、日记账、资金生成凭证 E 资金(见附录 B)
折旧、计提折旧、固定资产折旧 H 资产折旧(见下方路径 H;附录 C)
账期、结账、结转、反结账、期末检查 F 结账(见下方路径 F;MCP:listAccountPeriods / checkCarryOver)
为所有账套建工作空间、批量初始化账套目录 G 批量建账套工作空间
税务风险、风险自检、体检、稽查自查 I 税务风险自检(只读;详见 skills/tax-risk-check.md)
销售额、销售趋势、大客户、哪个客户买得多 J 聚合分析(sales-stats,见路径 J)
税务深度体检、查漏报、应缴未缴 J 聚合分析(tax-checkup,见路径 J)
AI 分析、分析报表、发票图片识别、AI 帮我开票 J 服务端 AI 能力(见路径 J;skills/ai-analysis.md)
文档未覆盖的系统功能 J 接口目录发现(tools / GET /agent/tools)
无法判断 简短询问后路由

能力总览:

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

路径 A:创建凭证

A1 收集业务描述

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

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

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

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

业务里已有客户/供应商/部门等名称,但账套 details 里没有对应项时:

识别科目所需分类 →(可选)确认名称/编码 → POST /ai/auxiliary/create
→ 用返回的 id/code/name 填入该分录 details[].auxiliary[]
→ 再进入预览
步骤 动作
1 取科目 auxiliaryAccounting[] 中的分类 ID,在 辅助核算 中找到 categoryId / categoryType / categoryTypeDesc
2 从用户描述提取名称(如「华为技术」);编码可选,不传则系统自动生成
3 向用户确认将新建:将创建{categoryTypeDesc}「{name}」并用于本凭证,确认?(用户已明确给出名称时可简确认)
4 POST /ai/auxiliary/create,body:categoryId、categoryType、name、可选 code
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:listAuxiliaryCategories → createAuxiliaryItem → 写入 detailsJson[].auxiliary → previewVoucher。
接口字段见 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. 按期间查未生成凭证记录(含转账,转账行借=转入科目/贷=转出科目)
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 查账期 / 结账状态

用户说法 优先方式
哪些月结过账、账期列表 MCP listAccountPeriods,或 GET /checkout
当前待结账月份 MCP checkCarryOver,或 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(或 checkCarryOver 的 canInvoice=true)。注意: canInvoice 只表示已结转损益,仍须完成 F2 强制检查
  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 已连接时:查账期/结转状态优先 Tool;正式结账/反结账与期末检查走 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 月~当前账期月;自动完成数据拉取、指标计算、报告生成并打印体检报告(有 🔴 项时退出码为 2)。脚本能跑通时不要逐接口手动拉数;脚本不可用(无 python3)时才走下方手动流程。拿到报告后:向用户解读风险项含义、给整改建议(这层业务判断由 AI 完成,脚本只算指标)。

I1-I4 详细流程

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

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


路径 J:聚合分析与服务端 AI(与 Web 版 AI 对等)

Web 版 AI 助手的两类高级能力对 F-API-KEY 全量开放:聚合分析工具(多接口编排统计)与服务端 AI 接口(消耗账套内已配置的大模型)。详细字段见 api-reference.md 附录 E;子技能 skills/ai-analysis.md。

J1 销售额统计(只读)

基于销项发票的多维聚合,分页列表接口无法直接做到:

维度 说明
byPeriod 按时间段汇总(含税/不含税/税额,默认)
byCustomer 按客户分组取 TopN(找大客户)
byMonth 按月销售趋势

优先脚本:python3 scripts/xl.py sales-stats --dimension byCustomer --start 2026-01-01 --end 2026-06-30 --top 10
REST:GET /agent/tool/sales-statistics?dimension=&startDate=&endDate=&topN=

J2 税务深度体检(只读)

基于漏报检查明细的结构化风险报告:漏报风险(state=0)、缴款风险(payState=0)、15 天临期预警、综合风险分级。依赖已有检查数据,提示「暂无数据,请先发起漏报检查」时引导用户先在税务模块发起检查(见 skills/tax-filing.md)。

优先脚本:python3 scripts/xl.py tax-checkup --focus all
REST:GET /agent/tool/tax-deep-checkup?focusArea=all|unreported|unpaid|expiring

与路径 I 的区别:路径 I 是本地脚本按金税四期口径算 14 项指标(发票+账簿数据);J2 是服务端聚合已有申报检查数据(漏报/缴款/临期)。用户说「税务风险体检」默认走路径 I;说「深度体检/查漏报」走 J2;不确定时两者都跑。

J3 服务端 AI 接口(消耗账套配置的模型)

这些接口在服务端调用大模型(需用户已在「个人设置 → AI 配置」配置模型),外部 AI 借力使用:

能力 接口 说明
AI 报表分析 POST /ai/analysis(form:tableName 报表数据 + prompt 问题) 以注册会计师视角分析报表数据,返回 Markdown 分析
AI 凭证预览 POST /ai/voucher(body:{"description": "业务描述"}) 服务端 AI 按账套科目体系生成凭证明细(预览不落库)
多轮对话凭证 POST /ai/voucher/chat(body:{"description": "...", "sessionId": 可选})→ POST /ai/voucher/chat/{sessionId}/confirm 多轮调整凭证明细(改金额/加行/改摘要),确认后落库;会话 30 分钟有效
开票文本识别 GET /kimiai/chat?content=粘贴的发票文本 AI 解析购买方抬头(名称/税号/地址/银行)
开票图片识别 POST /kimiai/chatImage(multipart:file) 上传发票图片识别抬头

使用原则: 路径 A(本地组装凭证)为主;服务端 AI 凭证接口适合「让系统 AI 试一把」的对照场景或用户明确要求时。返回结果仍须按 A2b 预览确认。AI_CONFIG_MISSING 报错时提示用户先配置 AI。

J4 接口目录发现(能力对等的兜底)

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

python3 scripts/xl.py tools --keyword 发票    # 按关键词过滤
python3 scripts/xl.py tools --full            # 含完整参数定义(较大)

REST:GET /agent/tools?keyword=。目录条目含 name(工具名)、httpMethod、path(REST 路径)、readOnly、params(参数名/来源/描述/必填)。按 path + httpMethod 组装请求(query 参数进 URL,body 参数放 JSON),写操作前照常预览确认。聚合工具条目(sales_statistics 等)的 path 指向 /agent/tool/* 端点。

J5 注意

  • J1/J2/J4 均为只读,无需确认即可执行
  • 服务端 AI 接口消耗用户配置的模型额度,主动告知用户再调用
  • 目录中 readOnly=false 的接口是写操作,必须预览确认后调用

参考文件

文件 内容
api-reference.md 全部接口字段;§7 结账、附录 A/B/C/D/E 发票/出纳/折旧/聚合与服务端 AI
report-format.md 报表与账簿展示格式
examples.md cURL 示例
mcp.md MCP Tools 与工作流
config.txt.example 配置模板
scripts/xl.py 数据获取脚本(读操作,字段裁剪精简 JSON)
scripts/init-workspaces.sh / .ps1 账套工作空间批量初始化(路径 G)
skills/ 专项技能子目录(按需加载)

常见问题

5 问
答案由本站依据条目字段整理
企业级AI财务助理怎么安装?

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

企业级AI财务助理支持哪些客户端?

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

企业级AI财务助理权限高吗,安全吗?

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

企业级AI财务助理收费吗?

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

企业级AI财务助理用什么许可证?

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

热门专题

按场景挑技能
全部专题 →

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