面向需求方:自由职业者、设计/开发工作室、咨询公司、跨境电商、中小企业——所有需要给客户开票、催款、看营收的经营者。
行业痛点:
现成 SaaS(FreshBooks/Xero 等)有订阅费、不能白标、无法嵌入客户自己的产品
Excel 手工开票:金额容易算错、编号靠手写、逾期全靠记性
企业数据敏感,客户希望完全自托管
适用行业:专业服务(设计/开发/咨询)、电商、物流、教育培训、医疗美容等线下服务。
点击空白处退出提示
面向需求方:自由职业者、设计/开发工作室、咨询公司、跨境电商、中小企业——所有需要给客户开票、催款、看营收的经营者。
行业痛点:
现成 SaaS(FreshBooks/Xero 等)有订阅费、不能白标、无法嵌入客户自己的产品
Excel 手工开票:金额容易算错、编号靠手写、逾期全靠记性
企业数据敏感,客户希望完全自托管
适用行业:专业服务(设计/开发/咨询)、电商、物流、教育培训、医疗美容等线下服务。
客户管理:地址簿 CRUD,含数据保护(有未结发票的客户不可删除)
发票编辑器:动态增删明细行、逐行税率、全局折扣、10 种货币、备注
自动状态机:草稿 → 已发送 → 已付款 / 逾期,自动检测到期日,支持部分付款与余额跟踪
服务端原生 PDF 导出:纯 Python 手写排版引擎生成品牌化发票(约 6KB/张)
打印视图:浏览器直接导出 PDF,完整支持中文等 Unicode 字符
营收看板:KPI 卡片、近 6 个月营收柱状图、状态分布环图、重点客户、逾期清单、最近发票
公司设置:发票抬头、税号、银行账户、付款条款,一键修改全量生效
后端:Python + FastAPI;前端:原生 JS 单页应用(浅色财务风格)+ 纯 SVG 图表
金额精度:全程 Decimal 精确计算——半进位舍入、JPY 零小数、千分位格式化,杜绝浮点误差
PDF 引擎(本项目最大亮点):约 300 行按 PDF 规范从零实现——内容流、WinAnsi 编码 Base-14 字体、实测宽度自动换行、表格与重复表头、多页流动、每页页脚;零第三方 PDF 库
业务完整性规则:已付款发票不可编辑、超额付款被拒绝、按年自动编号(INV-2026-001…)
存储:JSON 原子持久化(写临时文件再改名替换),重启不丢数据
部署:单容器 Docker( 即上线),内置健康检查docker compose up
测试:28 个自动化测试(金额精度、合计计算、状态机全路径、PDF 结构与内容校验、API 全生命周期)



评论