mcpField
L
lovstudio-expense-report

lovstudio-expense-report

github.com/lovstudio文档处理7386 次安装今天更新
代码仓库

关于 lovstudio-expense-report

lovstudio-expense-report 是一项将发票图片或费用描述整理为分类 Excel 报销报告的技能。它会提取并分类发票信息,在生成包含明细和分类汇总的工作簿前先请用户确认。

主要功能

  1. 01从图片和文本提取发票字段
  2. 02按类别整理费用
  3. 03导出前确认提取的信息
  4. 04生成 Excel 明细与汇总表
  5. 05标记可能重复的发票

适用场景

  1. 01整理扫描收据以办理报销
  2. 02汇总费用描述中的分类金额
  3. 03生成报告前核对发票信息

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lovstudio/skills --skill lovstudio-expense-report

安装后在 Claude Code 中输入/lovstudio-expense-report确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

CHANGELOG.md
README.md
scripts/
generate_report.py

详细介绍

expense-report — 发票 → 分类 Excel

从图片或文本中提取发票信息,对费用进行分类,并生成包含各类别小计的专业 Excel 报告。

适用场景

  • 用户有发票照片 / 扫描件需要处理
  • 用户用文本描述费用,并希望对其进行整理
  • 用户需要分类后的报销单
  • 用户提到发票报销、报销汇总、发票整理或 expense report

费用类别

类别关键词 / 示例
业务招待客户餐费、商务宴请、礼品、招待
差旅-交通机票、火车票、高铁、出租车、打车、网约车、加油、过路费、停车费
差旅-住宿酒店、住宿、宾馆
差旅-餐饮出差期间餐费、工作餐
办公用品文具、打印、办公耗材、办公设备
通讯费话费、流量、网费、宽带
其他不属于以上类别的费用

工作流(必须遵循)

第 1 步:收集发票数据

接受以下任意形式的输入:

  • 图片:使用 Read 工具读取发票照片。提取:日期、供应商、金额、项目类型、备注。
  • 文本描述:解析用户的文本,提取相同字段。
  • 混合输入:多张图片 + 补充文本。

对于每张发票,提取以下字段:

{
  "date": "2026-04-15",
  "vendor": "海底捞(国贸店)",
  "item": "客户餐费",
  "amount": 486.00,
  "category": "业务招待",
  "note": "与XX公司李总晚餐"
}
第 2 步:分类

将每张发票归入上表中的一个类别。规则:

  1. 如果用户明确说明了类别,则使用该类别。
  2. 如果项目 / 供应商明显符合某个类别的关键词,则自动归类。
  3. 对于有歧义的项目(例如,“餐费”可能属于业务招待或差旅-餐饮):
    • 如果备注提到客户 → 业务招待
    • 如果上下文涉及出差 → 差旅-餐饮
    • 如果不明确,则询问用户。
第 3 步:与用户确认

生成文件前,以表格形式展示提取的数据:

| # | 日期 | 商户 | 项目 | 金额 | 分类 | 备注 |
|---|------|------|------|------|------|------|
| 1 | 2026-04-15 | 海底捞 | 客户餐费 | 486.00 | 业务招待 | 与XX公司李总 |
| 2 | 2026-04-14 | 滴滴出行 | 打车 | 45.50 | 差旅-交通 | 机场→酒店 |

使用 AskUserQuestion 提问:“以上信息是否正确?需要修改或补充吗?”

第 4 步:生成 Excel

将确认后的数据写入临时 JSON 文件,然后运行:

python expense-report-skill/scripts/generate_report.py \
  --input /tmp/invoices.json \
  --output "发票报销汇总-YYYYMMDD.xlsx"

JSON 格式(对象数组):

[
  {"date": "2026-04-15", "vendor": "海底捞", "item": "客户餐费", "amount": 486.0, "category": "业务招待", "note": "与XX公司李总"},
  {"date": "2026-04-14", "vendor": "滴滴出行", "item": "打车", "amount": 45.5, "category": "差旅-交通", "note": "机场→酒店"}
]
第 5 步:交付

告知用户:

  • 输出文件路径
  • 总金额及各类别明细
  • 提醒用户查看“分类汇总”工作表中的汇总信息

输出格式

Excel 文件包含两个工作表:

  1. 发票报销汇总 — 完整明细,按类别分组并显示小计
  2. 分类汇总 — 汇总表:类别、数量、小计

样式:Lovstudio 温暖的学术风格(赤陶色表头 #CC785C、暖奶油色点缀)。

特殊情况

  • 图片模糊 / 无法读取:告知用户哪些字段无法提取,并请用户手动提供。
  • 外币:注明币种;如果用户提供汇率,则换算为人民币,否则保留原币种并备注。
  • 重复发票:生成前标记可能重复的发票(日期 + 供应商 + 金额相同)。
  • 发票上没有日期:使用用户提供的日期,或标记为“日期不详”。

评论

支持 Markdown