SuperAPI AI 工具集

lovstudio-expense-report

办公与效率

查看项目

更新于 10-15 08:19

技能介绍

用途

lovstudio-expense-report 用于将发票信息转换为按类别整理的 Excel 报销报告。它从图片或文字中提取发票数据,对费用进行分类,并生成一份带有每个类别小计的专业 Excel 报告。

适用时机

  • 用户有发票照片或扫描收据需要处理
  • 用户用文字描述费用并希望被整理
  • 用户需要一份分类的报销单
  • 用户提到发票报销、报销汇总、发票整理、expense report

主要能力

费用类别

技能支持以下类别及对应的关键词或示例:

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

输出格式

生成的 Excel 文件包含两个工作表:

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

样式采用 Lovstudio warm-academic 风格(陶土色表头 #CC785C,暖奶油色点缀)。

使用方式

工作流程分为以下阶段:

第一步:收集发票数据

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

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

每张发票提取以下字段:

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

第二步:分类

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

  • 如果用户明确说明类别,则使用该类别。
  • 如果项目或商户明显匹配某个类别的关键词,则自动归入。
  • 对于有歧义的项目(例如「餐费」可能是业务招待或差旅-餐饮):
    • 如果备注中提到客户或顾客,则归为业务招待
    • 如果上下文是出差,则归为差旅-餐饮
    • 如果不明确,则询问用户

第三步:与用户确认

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

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

使用 AskUserQuestion 询问:「以上信息是否正确?需要修改或补充吗?」

第四步:生成 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": "机场→酒店"}
]

第五步:交付

告知用户:

  • 输出文件路径
  • 总金额及按类别的明细
  • 提醒查看「分类汇总」工作表以获取汇总

适用场景

  • 需要整理发票照片或扫描收据的个人或团队
  • 需要将文字描述的费用整理为结构化报告的用户
  • 需要生成分类报销单的场景

限制

技能资料中说明了以下边界处理方式:

  • 模糊或无法识别的图片:告知用户哪些字段无法提取,请其手动提供。
  • 外币:注明币种;如果用户提供汇率则换算为人民币,否则保留原币种并附注。
  • 重复发票:生成前标记潜在的重复项(相同日期、商户、金额)。
  • 发票无日期:使用用户提供的日期,或标记为「日期不详」。

关于收费、价格、平台支持范围等信息,资料中暂未提供。