luzhenqian/ai-coding-lab/invoice-generator

Claude Code and agent skill by luzhenqian/ai-coding-lab

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

从 Excel 时间表或手动输入生成专业发票。当用户提到生成发票、创建账单、invoice、billing、开发票、时间表转发票、账单生成时使用此技能。

Install

npx vskill@latest install luzhenqian/ai-coding-lab/invoice-generator

SKILL.md

发票生成器

概述

解析 Excel/CSV 时间表数据或手动输入的账单信息,按照公司品牌模板生成专业的发票文档(Word/PDF 格式)。支持自动计算金额、税费,并确保格式统一。

使用场景

  • 自由职业者按时间表生成月度发票
  • 小团队给客户开具项目账单
  • 从已有的 Excel 工时表快速生成发票

工作流程

dot
digraph invoice_flow {
rankdir=TB;
"接收输入" [shape=doublecircle];
"Excel/CSV文件?" [shape=diamond];
"运行解析脚本" [shape=box];
"手动输入解析" [shape=box];
"数据校验" [shape=box];
"数据有误?" [shape=diamond];
"提示修正" [shape=box];
"计算金额" [shape=box];
"应用品牌模板" [shape=box];
"生成文档" [shape=box];
"输出发票" [shape=doublecircle];
"接收输入" -> "Excel/CSV文件?";
"Excel/CSV文件?" -> "运行解析脚本" [label="是"];
"Excel/CSV文件?" -> "手动输入解析" [label="否"];
"运行解析脚本" -> "数据校验";
"手动输入解析" -> "数据校验";
"数据校验" -> "数据有误?";
"数据有误?" -> "提示修正" [label="是"];
"提示修正" -> "数据校验";
"数据有误?" -> "计算金额" [label="否"];
"计算金额" -> "应用品牌模板";
"应用品牌模板" -> "生成文档";
"生成文档" -> "输出发票";
}

执行步骤

第一步:获取输入数据

方式一:解析 Excel/CSV 文件

如果用户提供了文件,使用 scripts/parse_timesheet.py 脚本解析:

bash
python scripts/parse_timesheet.py <文件路径>

脚本会输出结构化的 JSON 数据。

方式二:手动输入

引导用户提供以下信息:

📋 请提供以下发票信息:
【发票方信息】
- 公司/个人名称:
- 地址:
- 联系方式(邮箱/电话):
- 银行账户信息(可选):
【客户信息】
- 客户名称:
- 客户地址:
- 联系人(可选):
【账单明细】(可多条)
- 服务描述:
- 数量/小时数:
- 单价:
【其他】
- 货币单位(默认 CNY):
- 税率(默认 0%):
- 付款期限(默认 30 天):
- 备注(可选):
第二步:数据校验

验证以下内容:

检查项规则
必填字段发票方名称、客户名称、至少一条明细
数值合法性数量 > 0,单价 ≥ 0,税率 0-100%
日期格式YYYY-MM-DD 格式
货币一致性所有金额使用同一货币单位

如果有问题,列出所有错误,一次性让用户修正。

第三步:金额计算
每条明细小计 = 数量 × 单价
税前总额 = 所有明细小计之和
税额 = 税前总额 × 税率
应付总额 = 税前总额 + 税额

精度要求: 所有金额保留 2 位小数,使用银行家舍入法(四舍六入五成双)。

第四步:生成发票文档

使用 python-docx 生成 Word 文档,需要写一个 Python 脚本来实现。

发票模板结构:

┌─────────────────────────────────────────┐
│ [LOGO] 发票 / INVOICE │
│ │
│ 发票编号:INV-2025-001 │
│ 开票日期:2025-03-25 │
│ 付款期限:2025-04-24 │
├─────────────────────────────────────────┤
│ 发票方: 客户: │
│ 公司名称 客户名称 │
│ 地址 地址 │
│ 联系方式 联系人 │
├─────────────────────────────────────────┤
│ 序号 │ 描述 │ 数量 │ 单价 │ 小计 │
│ 1 │ ... │ ... │ ... │ ... │
│ 2 │ ... │ ... │ ... │ ... │
├─────────────────────────────────────────┤
│ 税前总额:¥ X,XXX.XX │
│ 税额 (X%):¥ XXX.XX │
│ ━━━━━━━━━━━━━━━━━━━ │
│ 应付总额:¥ X,XXX.XX │
├─────────────────────────────────────────┤
│ 付款方式:银行转账 │
│ 账户名称:XXX │
│ 银行名称:XXX │
│ 账号:XXXX XXXX XXXX XXXX │
├─────────────────────────────────────────┤
│ 备注: │
│ 感谢您的合作! │
└─────────────────────────────────────────┘

品牌规范:

元素规范
主色调由用户在首次使用时指定,默认 #2563EB(蓝色)
字体中文用微软雅黑,英文用 Arial
标题字号24pt 粗体
正文字号11pt
表头主色调背景 + 白色文字
金额右对齐,千分位分隔符
Logo如果 assets/ 目录下有 logo 文件则使用
第五步:输出与确认

生成完成后,展示摘要:

✅ 发票已生成!
📄 文件:invoice-INV-2025-001.docx
📊 摘要:
- 客户:ABC 科技有限公司
- 明细项:3 条
- 税前总额:¥ 15,000.00
- 税额(6%):¥ 900.00
- 应付总额:¥ 15,900.00
- 付款期限:2025-04-24

发票编号规则

格式:INV-{年份}-{序号}

  • 序号从 001 开始,三位数补零
  • 同一年度内递增
  • 如果当前目录下已有发票文件,自动读取最大序号 +1

常见问题

多币种怎么处理?

每张发票只支持一种货币。如果有多币种需求,生成多张发票。

如何自定义品牌色?

首次使用时告诉 Claude 你的品牌色(如"我们的品牌色是 #FF6B35"),后续会记住。也可以在 references/brand-config.json 中配置。

Excel 格式要求?

脚本支持以下列名(不区分大小写):

  • Date / 日期
  • Description / 描述 / 项目
  • Hours / Quantity / 数量 / 小时
  • Rate / Price / 单价
  • Amount / 金额(可选,会自动计算)

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
139
Repository forks
20
7-day trend score
25

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/luzhenqian/ai-coding-lab/invoice-generator/badge)](https://verified-skill.com/skills/luzhenqian/ai-coding-lab/invoice-generator)

Something wrong with this skill or its page? Tell us.