| name | report-ai-bookkeeping |
| description | 生成个人月账单和消费分析。当用户说“出 7 月账单”“生成本月月账单”“做一个 HTML 消费报告”“分析我这个月的钱花在哪”“给省钱建议”或“导出月度财务分析”时触发。基于已确认流水生成离线 HTML、同源 JSON、丰富图表和带事实依据的建议。 |
Report AI Bookkeeping
把一个月的已确认流水变成可核对、可分享、可离线查看的 HTML 月账单。
何时触发
- “出 2026 年 7 月账单”
- “给我本月消费分析”
- “生成图表丰富的 HTML 月账单”
- “我在哪些地方花得多,有什么省钱建议?”
- “把这个月的账单导出来”
共用入口
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
生成流程
- 确认月份和配置时区。用户说“本月”时转换为
YYYY-MM。
- 运行报告命令,只读取该月流水。
- 检查数据质量:待确认笔数、已撤销笔数、缺分类、缺账户、外币汇率。
- 核对核心数字:
- 真实收入。
- 个人消费。
- 结余与结余率。
- 现金净流量。
- 转账、退款、报销到账和待报销。
- 核对图表数据:每日趋势、分类、商户、项目账本、固定与弹性、原币。
- 建议只能来自本月事实。默认从最大的弹性支出类别生成 20% 情景测算,并明确这是假设值。
- 确认 HTML 中包含内嵌 JSON,且没有外部脚本、字体或图片地址。
- 回传两个文件的位置、3 个核心数字和最值得关注的 1 至 3 条事实。
报告口径
- 只统计状态为已确认、已修正或已关闭的流水。
- 退款冲减原分类和个人消费,不进入真实收入。
- 报销到账回补现金,不进入真实收入。
- 转账不进入收入或消费。
- 报销垫付只把最终个人承担部分算入消费。
- 外币按每笔确认汇率折算,同时保留原币合计。
建议规则
建议包含四部分:事实、可执行动作、每月与每年情景影响、适用限制。
合格示例:
本月弹性餐饮净支出 300.00 元。若先试着减少 20%,每月约留出 60.00 元,一年约 720.00 元。这个数字是情景测算,实际结果取决于下月选择。
收入为零、数据少或弹性支出为空时,降低建议力度,并提示先补齐数据。
边界与异常
- 月份格式必须是
YYYY-MM。
- 待确认流水不进入核心数字,要在数据质量区显示。
- 账目明显不完整时,不给“你一定能省多少”的结论。
- 退款或报销缺关联时,先回到录入 Skill 修正。
- HTML 与 JSON 必须来自同一次汇总,校验值用于发现内容错配。
- 报告适合复盘个人现金流,不代替税务、审计或投资意见。
- 当前正式输出是月账单;年账单沿用同一流水模型,留待后续版本。
完成检查
- 两个文件均存在且可打开。
- HTML 断网可用。
- 核心数字与 JSON 一致。
- 建议金额会随源流水变化。
- 回复中写清月份、币种、口径和数据质量提醒。