核心功能
Invoice Manager 是一款面向德奥德语区市场的发票自动化工具,通过命令行交互将发票(RE)与报价单(AN)以结构化 JSON 格式存储于 GitHub 私有仓库。核心工作流包括:自动序列号生成(RE-6007 格式)、基于脚本的金额计算预览、以及用户确认后的安全上传。
显著优点
1. 自动化编号与防冲突:通过 ./scripts/get-next-number.sh 自动确定下一个发票号,消除人工编号错误与重复风险
2. 计算一致性保障:强制使用 ./scripts/calc-preview.sh 生成预览,确保 Telegram 显示金额与最终 PDF 渲染结果完全一致
3. GitHub 原生版本控制:所有发票以 JSON 文件形式存储,天然具备审计追踪、分支管理与灾难恢复能力
4. 客户数据复用:支持通过 customerId 引用 Kunden/ 目录下的客户档案,减少重复录入
5. 德奥税务合规内置:预设 Kleinunternehmerregelung(小规模企业免税条款)模板,符合奥地利 UStG 1994 要求
潜在局限
- 地域限制:界面与法律条款针对奥地利/德国市场设计,其他地区用户需自行调整模板
- PDF 生成外置:JSON 仅为数据层,实际 PDF 渲染依赖外部的
invoice.sty(LaTeX),需额外配置构建环境 - 单仓库架构:所有数据集中于单一 GitHub 仓库,大规模企业可能需要分仓策略
- 实时协作限制:无并发编辑锁机制,多用户同时操作可能导致编号冲突(依赖脚本原子性)
适合人群
- 德奥地区自由职业者(Freiberufler)与小微企业主
- 已使用 GitHub 进行代码管理的开发者型用户
- 需要 7 年税务存档(GoBD 合规)的增值税免税企业
常规风险
- 凭证泄露风险:
GITHUB_TOKEN若使用经典 PAT 可能权限过宽;建议使用 fine-grained token 并限制contents:write单一权限 - 数据驻留问题:GitHub 服务器位于美国,虽提供私有仓库,但涉及 GDPR 第 44 条跨境传输合规考量
- 序列号跳跃风险:若
push-invoice.sh执行失败但编号已占用,可能导致空号;需监控上传状态 - 客户数据误关联:
customerId引用错误会导致发票地址错配,建议在上传前通过预览二次确认
安全建议
- 强制启用分支保护规则,禁止直接推送至主分支
- 定期轮换 GitHub Token(建议 90 天周期)
- 对
INVOICE_REPO启用 Dependabot 与 Secret scanning 防止敏感信息意外提交