PAYATHON 2026

求推荐可在 Windows 运行的免费项目管理与计费系统

支付阿杰

结论

优先考虑 Invoice Ninja 自托管版。它与多客户管理、项目记录、基础计费、付款状态跟踪、自动催款、免费和可扩展等需求较为匹配。

如果更看重项目管理,也可以比较以下系统:

系统适合场景项目管理付款与催款开源/免费
Invoice Ninja项目、工时、报价和发票一体化中等强自托管版开源,基本功能免费
Dolibarr需要客户、项目、发票等综合业务管理中等较强开源、自托管免费
Kimai以工时记录和按时计费为主较强中等核心版本开源
Akaunting以记账、发票和客户应收管理为主较弱较强有开源自托管版本,但部分功能可能收费
ERPNext将来可能扩展到完整 ERP强强开源,但部署和维护相对复杂

通常可以先试 Invoice Ninja 或 Dolibarr。如果只是满足上述基础需求,不建议一开始就部署 ERPNext,它的维护成本可能高于实际收益。

为什么优先选择 Invoice Ninja

Invoice Ninja 的功能与这些需求对应得比较直接:

  • 可以建立多个客户及联系人。
  • 支持项目、任务和工时记录。
  • 可以创建报价单和发票。
  • 能记录发票的已付、未付、部分付款和逾期状态。
  • 支持通过邮件发送发票和付款提醒。
  • 可以设置定期发票及催款规则。
  • 自托管后可以修改代码,也可以通过 API 集成其他系统。
  • 不依赖 IIS,可以使用 Docker 部署在 Linux 服务器上。Windows 开发机也能通过 Docker Desktop 运行。

需要区分“自动收款”和“自动催款”。自动催款通常只需要配置邮件;如果还要让客户在线付款,就需要接入 Stripe、PayPal 等支付网关,支付服务商可能收取交易手续费。

推荐部署方式

可以采用下面的结构:

Windows 工作电脑
        │
        │ HTTPS
        ▼
Linux 服务器
├── Caddy / Nginx
├── Invoice Ninja
├── MariaDB / MySQL
└── 定时任务、邮件服务和备份

Invoice Ninja 可以通过 Docker Desktop 在 Windows 上运行,但生产环境更适合部署在小型 Linux 服务器上。定时任务、证书、备份和容器自动重启会更容易管理,也不需要 IIS。

如果只能使用 Windows Server,可以安装兼容的 Docker 环境,或者虚拟化一个 Linux 实例。不过,确定方案前要先核对目标系统当前支持的容器类型和官方部署文档,不能默认所有 Linux 容器都能直接作为 Windows 容器运行。

部署步骤

1. 先验证 Docker 环境

在 Windows PowerShell 中执行:

docker version
docker compose version

确认两个命令都能正常返回后,再使用项目官方提供的 Compose 配置部署。数据库密码、应用密钥和邮件凭据等信息应放在 .env 中,不要直接写入可公开访问的仓库。

常用的启动命令如下:

docker compose pull
docker compose up -d
docker compose ps
docker compose logs --tail 100

服务名、镜像名和环境变量可能随项目版本变化,因此 Compose 文件应以所安装版本的官方示例为准,不要直接照搬旧教程。

2. 配置邮件发送

自动付款提醒依赖 SMTP,至少需要准备以下信息:

SMTP host
SMTP port
SMTP username
SMTP password
Encryption: TLS/STARTTLS
From address

配置完成后,先发送一封测试邮件,并逐项检查:

  • 发件地址是否已通过验证。
  • SPF、DKIM 和 DMARC 是否配置正确。
  • 邮件是否进入垃圾箱。
  • 服务器能否连接 SMTP 端口。
  • 应用后台的定时任务是否确实在运行。

如果使用 Microsoft 365 或 Gmail,不要默认普通账户密码仍可用于 SMTP。具体方式取决于租户的安全策略,可能需要 OAuth、应用密码或 SMTP AUTH 授权。

3. 设置付款提醒规则

催款频率不宜过高,可以采用下面的节奏:

到期前 3 天:友好提醒
到期当天:付款到期通知
逾期 7 天:第一次催款
逾期 14 天:第二次催款

邮件中最好包含:

  • 客户名称。
  • 发票编号。
  • 应付金额和币种。
  • 到期日期。
  • 付款方式或付款链接。
  • 对账联系方式。

过于频繁的催款会影响客户体验,也可能增加邮件被判定为垃圾邮件的概率。

4. 验证完整流程

正式使用前,先建立一个测试客户,完整走一遍下面的流程:

  1. 创建客户。
  2. 创建项目和任务。
  3. 记录一笔工时或费用。
  4. 生成并发送测试发票。
  5. 将到期日期调整到测试范围。
  6. 确认定时任务触发提醒。
  7. 登记一笔部分付款。
  8. 确认剩余应付金额正确。
  9. 登记全部付款,并确认系统停止催款。

收到测试邮件,并确认付款状态变化无误后,才能证明自动提醒链路确实可用。

备选系统如何选择

Dolibarr

如果除了发票,还准备逐步加入产品、供应商、合同和库存等模块,Dolibarr 会更合适。它更接近轻量 ERP,覆盖的功能较多,但界面和配置项也更复杂。

选择前要实际验证自动催款能否满足所需流程,因为这项能力可能受启用模块、邮件配置和定时任务设置影响。

Kimai

如果业务主要按工时收费,Kimai 值得考虑。它擅长:

  • 客户与项目管理。
  • 活动和工时记录。
  • 按人员、项目或费率统计。
  • 根据工时生成账单资料。

不过,如果“自动发送逾期付款提醒”是硬性要求,就要确认当前核心版本是否原生支持,还是需要插件、外部自动化或其他开票系统配合。

Akaunting

Akaunting 更偏向财务和发票管理,适合不需要复杂任务管理的团队。选择前要仔细核对计划购买或自托管的版本,因为部分扩展、自动化或集成功能可能需要付费。

ERPNext

ERPNext 能够管理客户、项目、工时、销售发票、付款和应收账款,扩展空间最大,但部署、升级和业务配置也明显更复杂。除非预计很快就会用到库存、采购、会计或审批流程,否则没有必要只为基础催款功能引入一套完整 ERP。

注意事项

“免费”通常只是指软件许可或核心功能免费,并不代表运行成本为零。服务器、域名、邮件服务、备份、运维和支付网关手续费仍需计入成本。

这类系统可以处理业务记录和辅助催款,但不能自动满足当地的税务与会计合规要求。发票编号、税率、币种、数据保留期限和财务导出格式,都应交由会计确认。

综合比较后,可以先通过 Docker 部署 Invoice Ninja 自托管版,完成一轮端到端测试。如果项目管理能力不够,再评估 Dolibarr。这样能以较低成本满足当前需求,同时保留后续二次开发的空间。

备注:内容仅供参考。