名称: invoice-generator
描述: 根据 JSON 数据生成专业的 PDF 发票。当用户需要创建包含公司/客户详情和明细项目的发票、账单或付款请求时使用。
元数据: {"clawdbot":{"emoji":"🧾","requires":{"bins":["node","jq","weasyprint"],"env":["INVOICE_DIR"]},"primaryEnv":"INVOICE_DIR"}}
根据结构化的 JSON 数据生成 PDF 发票。
cd invoice-generator && npm install
INVOICE_DIR 环境变量(或在 skills.entries.invoice-generator.env 中设置):export INVOICE_DIR="/path/to/your/invoices"
这将创建以下目录结构:
$INVOICE_DIR/
├── configs/ # 可选:保存的发票配置
└── invoices/ # 生成的 PDF 输出文件
# 从标准输入(即时生成)
cat invoice-data.json | {baseDir}/scripts/generate.sh
# 从完整文件路径
{baseDir}/scripts/generate.sh /path/to/invoice-data.json
# 从已保存的配置(在 $INVOICE_DIR/configs/ 中查找)
{baseDir}/scripts/generate.sh client-template
# 加载:$INVOICE_DIR/configs/client-template.json
# 输出文件位于:$INVOICE_DIR/invoices/invoice-{number}.pdf(如果文件已存在,会自动添加版本号)
JSON 输入必须包含以下字段:
{
"company": {
"name": "您的公司",
"address": "主街 123 号",
"cityStateZip": "城市,州,12345",
"country": "国家"
},
"client": {
"name": "客户名称",
"address": "客户大道 456 号",
"cityStateZip": "城市,州,67890",
"country": "国家",
"taxId": "TAX123"
},
"invoice": {
"number": "INV-2025.01",
"date": "2025年1月15日",
"dueDate": "2025年1月30日"
},
"items": [
{
"description": "服务描述",
"rate": "1000.00",
"currency": "USD"
}
],
"totals": {
"currency": "USD",
"total": "1,000.00"
}
}
完整字段说明请参阅 references/data-schema.md。
脚本成功运行后,会输出生成的 PDF 文件路径:
$INVOICE_DIR/invoices/invoice-INV-2025.01.pdf
# 如果该文件名已存在,脚本将写入:
# $INVOICE_DIR/invoices/invoice-INV-2025.01-2.pdf(然后是 -3,依此类推)