Redmine Billing
Finance给你已经在为其做项目的客户开票。客户、产品目录、发票、支付、周期性订阅、供应商账单和采购订单,全都在 Redmine 里,另有五份财务报表和十五个定时任务。
多台服务器: $399

- 记录类型
- 9 种,从客户到采购订单
- 报表
- 内置 5 份
- 定时任务
- 15 个,附健康日志
- 语言
- 51
- 改动的核心文件
- 无
发票
起草、过账、发送、收款。每个明细行有自己的税费和折扣,编号按月连续排号,还可打开一个适合打印的页面并保存为 PDF。
订阅
按月、按季或按年的方案,可设置试用天数和结束日期。每日任务会开出每张发票,并把下次开票日期顺延。
支付
记录现金、银行转账、银行卡、PayPal、支票或 UPI 收款,并附参考号。部分付款后余额保持未结,状态也准确无误。
采购
供应商、采购订单和供应商账单。按 PO 收货,把它转成账单并付款,然后看着仪表盘上的应付金额降下来。
五份报表
按月收入、订阅 MRR 与 ARR、发票账龄、供应商应付和支付台账,每份报表都有自己的日期范围。
定时任务
十五个 rake 任务负责标记逾期发票、发送提醒、续订订阅和邮寄汇总。每次运行都会记录耗时和结果。
看它在 Redmine 里运行
本页的每张截图都来自一套原版 Redmine 6.1,只是把插件放进了 plugins/ 目录。计费功能就在 Redmine 自己的页头、项目标签页和侧边栏之下,因为它本来就运行在那里。





你已在跟踪的工作,补上计费这一环
销售、产品目录、采购和报表,各自作为独立的 Redmine 模块,可按项目开关,团队只会看到自己用得上的部分。
发票
起草、过账、发送、收款。每个明细行有自己的税费和折扣,编号按月连续排号,还可打开一个适合打印的页面并保存为 PDF。
订阅
按月、按季或按年的方案,可设置试用天数和结束日期。每日任务会开出每张发票,并把下次开票日期顺延。
支付
记录现金、银行转账、银行卡、PayPal、支票或 UPI 收款,并附参考号。部分付款后余额保持未结,状态也准确无误。
客户与联系人
公司记录包含账单地址和收货地址、币种、付款条件和徽标,另有分类型的联系人,其中一位标为主要联系人。支持从 CSV 导入。
产品目录
服务、产品和订阅方案,包含价格、成本、税率、单位和计费周期。在发票明细行里选中一项,其余内容自动填好。
采购
供应商、采购订单和供应商账单。按 PO 收货,把它转成账单并付款,然后看着仪表盘上的应付金额降下来。
五份报表
按月收入、订阅 MRR 与 ARR、发票账龄、供应商应付和支付台账,每份报表都有自己的日期范围。
用对方的语言发邮件
十九种通知类型,可按客户或供应商单独开关。模板按语言保存,缺少某种语言时回退到英文。
定时任务
十五个 rake 任务负责标记逾期发票、发送提醒、续订订阅和邮寄汇总。每次运行都会记录耗时和结果。
从草稿到已付清,全程不离开项目
发票在草稿阶段可以随意编辑,过账后即锁定,此后一路跟着款项走。
1. 创建
选定客户,币种、到期日和条款随之带出。从产品目录添加明细行,或直接手动输入;税费和折扣按行计算。
2. 过账并发送
“过账”会确定发票及其编号。“发送邮件”使用客户所用语言的模板,PDF 视图可直接打印或作为附件。
3. 收款
“登记收款”会针对这张发票记录一笔收款。余额和状态随之变为部分付款或已付清;每日任务会标出所有逾期的发票。




自己会开发票的订阅
方案只需设置一次。插件会算出 MRR 和 ARR,生成每个周期的发票,并告诉你哪些方案即将到期。
三种计费周期
按月、按季和按年的方案,统一折算成仪表盘上的一个 MRR 数字。
清晰的生命周期
草稿、有效、已暂停、已取消和已过期,方案页面上有启用、暂停、恢复和取消按钮。
按时开票
每日任务为所有到期的有效方案开票,并顺延其下次开票日期。
完整的历史记录
每个方案都会列出它生成过的发票,以及这些发票是否已付款。



账本的另一半
像对待别人欠你的钱一样,认真跟踪你欠别人的钱。采购订单变成供应商账单,账单变成付款,应付和应收并排显示在仪表盘上。



财务每个月都要问的问题,这里有答案
五份报表直接读取上面的发票、账单和支付记录,所以数字和列表里显示的完全一致。




催款的事,它自己会办
让 cron 指向一个 rake 任务,插件就会完成每天的例行工作:续订、提醒、逾期标记和汇总。事后每一次运行都查得到。
上次运行与上次成功
十五个任务的情况,都在一个页面上。
耗时、记录数和错误
耗时、处理的记录数,以及运行失败时的错误信息。
内置健康检查
任务长时间没有运行时发出警报。
这些任务做什么
生成订阅发票、发送续订提醒、标记逾期发票、发送逾期提醒和供应商账单到期提醒、邮寄每日计费汇总和月度收入报表,并将到期的订阅设为过期。



谁能看到钱,由 Redmine 角色决定
计费功能分为七个项目模块和十三项权限,全部通过 Redmine 自带的“角色和权限”界面授予。
| 模块 | 权限 |
|---|---|
| 计费 | 查看计费 · 管理计费设置 |
| 客户 | 管理客户 · 管理客户联系人 |
| 发票 | 管理发票 · 管理支付 |
| 产品 | 管理产品 |
| 订阅 | 管理订阅 |
| 采购 | 管理供应商 · 供应商账单 · 采购订单 · 供应商联系人 · 通知偏好 |
| 报表 | 查看报表 · 查看 Cron 日志 |


运行环境
针对当前版本的 Redmine 开发和测试。不覆盖 Redmine 核心中的任何内容,所以核心升级仍然只是普通的升级。
| 关注点 | 支持 | 说明 |
|---|---|---|
| Redmine | 6.x、7.x | 本页截图来自 Redmine 6.1.2。 |
| Ruby | 3.4+ | 与 Redmine 6 支持的 Ruby 版本一致。 |
| 数据库 | MySQL | 二十五个迁移用于创建和扩展插件自己的 billing_* 表;不改动任何 Redmine 表。 |
| 语言 | 51 种语言 | Redmine 自带的每种语言都有对应的语言文件,并跟随每位用户自己的语言设置。 |
| 币种 | 可配置的列表 | 默认包含 USD、EUR、GBP、INR、AUD、CAD、SGD、AED 和 JPY;可在“设置”中添加你自己的币种代码。 |
| 主题 | 任意 Redmine 主题 | 页面在 Redmine 的标准布局和侧边栏内渲染。 |
| 单据 | 示例 |
|---|---|
| 发票 | INV-2026-10-00012 |
| 支付 | PAY-2026-10-00007 |
| 供应商账单 | VB-2026-10-00003 |
| 订阅 | SUB-2026-0012 |
| 采购订单 | PO-2026-0007 |
Billing 还是 Finance:你需要哪一个?
Billing 涵盖发票、订阅、支付、供应商和采购订单。Finance 在此基础上增加了带包含工时的合同、带计费费率和成本费率的工时计费、项目计费方案、费用报销和盈利报表。如果你只是开发票,Billing 就够了。如果你想知道一个项目赚了多少,就选 Finance。
| 功能 | Redmine Billing | Redmine Finance |
|---|---|---|
| 客户 | 包含 | 包含 |
| 发票 | 包含 | 包含 |
| 支付 | 包含 | 包含 |
| 产品 | 包含 | 包含 |
| 订阅 | 包含 | 包含 |
| 采购 | 包含 | 包含 |
| 合同 | 不包含 | 包含 |
| 工时表与费率 | 不包含 | 包含 |
| 费用 | 不包含 | 包含 |
| 报表 | 5 | 10 |
| 定时任务 | 15 | 18 |
| 模块 | 7 | 10 |
| 权限 | 13 | 20 |
三步完成安装
需要 shell 访问权限并能执行 rake 任务。安装插件前请务必备份。
# unpack the package from your email or download link, then cp -r redmine_billing $REDMINE_ROOT/plugins/redmine_billing
cd $REDMINE_ROOT bundle exec rake redmine:plugins:migrate RAILS_ENV=production bundle exec rake assets:precompile RAILS_ENV=production touch tmp/restart.txt
# Administration → Roles and permissions → grant the billing permissions # Project → Settings → Modules → enable the modules you want # Billing → Settings → fill in your company profile
# every daily billing job, 06:00 0 6 * * * cd /path/to/redmine && bundle exec rake billing:cron:daily RAILS_ENV=production # monthly revenue report, 1st at 07:00 0 7 1 * * cd /path/to/redmine && bundle exec rake billing:cron:send_monthly_revenue_report RAILS_ENV=production