# Report AI Bookkeeping

> 生成个人月账单和消费分析。当用户说“出 7 月账单”“生成本月月账单”“做一个 HTML 消费报告”“分析我这个月的钱花在哪”“给省钱建议”或“导出月度财务分析”时触发。基于已确认流水生成离线 HTML、同源 JSON、丰富图表和带事实依据的建议。

- Skill: `tjxj/report-ai-bookkeeping` (Agent Skill)
- Install (CLI): `npx skillmds@latest add tjxj/report-ai-bookkeeping`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tjxj/report-ai-bookkeeping/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: tjxj (https://skillmd.com/u/tjxj)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tjxj/report-ai-bookkeeping

---


# Report AI Bookkeeping

把一个月的已确认流水变成可核对、可分享、可离线查看的 HTML 月账单。

## 何时触发

- “出 2026 年 7 月账单”
- “给我本月消费分析”
- “生成图表丰富的 HTML 月账单”
- “我在哪些地方花得多，有什么省钱建议？”
- “把这个月的账单导出来”

## 共用入口

```bash
python3 "$AI_BOOKKEEPING_HOME/scripts/bookkeeping.py" \
  --config "/absolute/path/to/config.json" \
  report 2026-07 \
  --output-dir "/absolute/path/to/reports"
```

命令同时生成：

- `2026-07-ai-bookkeeping.html`
- `2026-07-ai-bookkeeping.json`

## 生成流程

1. 确认月份和配置时区。用户说“本月”时转换为 `YYYY-MM`。
2. 运行报告命令，只读取该月流水。
3. 检查数据质量：待确认笔数、已撤销笔数、缺分类、缺账户、外币汇率。
4. 核对核心数字：
   - 真实收入。
   - 个人消费。
   - 结余与结余率。
   - 现金净流量。
   - 转账、退款、报销到账和待报销。
5. 核对图表数据：每日趋势、分类、商户、项目账本、固定与弹性、原币。
6. 建议只能来自本月事实。默认从最大的弹性支出类别生成 20% 情景测算，并明确这是假设值。
7. 确认 HTML 中包含内嵌 JSON，且没有外部脚本、字体或图片地址。
8. 回传两个文件的位置、3 个核心数字和最值得关注的 1 至 3 条事实。

## 报告口径

- 只统计状态为已确认、已修正或已关闭的流水。
- 退款冲减原分类和个人消费，不进入真实收入。
- 报销到账回补现金，不进入真实收入。
- 转账不进入收入或消费。
- 报销垫付只把最终个人承担部分算入消费。
- 外币按每笔确认汇率折算，同时保留原币合计。

## 建议规则

建议包含四部分：事实、可执行动作、每月与每年情景影响、适用限制。

合格示例：

```text
本月弹性餐饮净支出 300.00 元。若先试着减少 20%，每月约留出 60.00 元，一年约 720.00 元。这个数字是情景测算，实际结果取决于下月选择。
```

收入为零、数据少或弹性支出为空时，降低建议力度，并提示先补齐数据。

## 边界与异常

- 月份格式必须是 `YYYY-MM`。
- 待确认流水不进入核心数字，要在数据质量区显示。
- 账目明显不完整时，不给“你一定能省多少”的结论。
- 退款或报销缺关联时，先回到录入 Skill 修正。
- HTML 与 JSON 必须来自同一次汇总，校验值用于发现内容错配。
- 报告适合复盘个人现金流，不代替税务、审计或投资意见。
- 当前正式输出是月账单；年账单沿用同一流水模型，留待后续版本。

## 完成检查

- 两个文件均存在且可打开。
- HTML 断网可用。
- 核心数字与 JSON 一致。
- 建议金额会随源流水变化。
- 回复中写清月份、币种、口径和数据质量提醒。

