Redmine Dashboard Plugin — KPI & Throughput

Free Redmine dashboard plugin with open/resolved/overdue KPIs and assignee throughput per project. Open source, MIT.

KPIThroughputProject dashboard

Looking for a Redmine dashboard plugin that answers “who closed what this month?” without Excel exports? Custom Dashboard for Redmine is a free, open-source (MIT) project module for self-hosted teams. It adds a Dashboard tab inside each project with KPI cards and assignee throughput — no SaaS, no external analytics database.

The problem with stock Redmine reports

Redmine’s built-in reports and issue filters are powerful but slow for recurring leadership questions. Team leads export CSV, pivot in spreadsheets, and repeat the ritual every Monday. Filters also assume everyone remembers the same query. A dedicated dashboard tab makes the same KPIs visible to anyone with permission, inside the project they already use.

Custom Dashboard is intentionally scoped: per-project clarity first. It is not a global executive BI suite. If you need cross-project rollups later, treat that as a separate product decision — do not expect Community to fake enterprise BI.

What you get

  • Dashboard tab per project (enable via project modules)
  • Five live KPI cards: open, resolved (period), overdue, in progress, due soon (7 days)
  • Clickable KPIs that open the matching Redmine issue filter
  • Period filter: last 7 / 30 / 90 days with visible date range and deltas
  • Assignee breakdown table including an Unassigned row
  • Role permission: view_custom_dashboard
  • Works on your existing Redmine issue data — no sync jobs to a third party

Who it is for

  • Team leads who need a quick performance overview during standups or weeklies
  • Project managers reporting backlog health and resolved volume
  • Admins who want to retire one-off spreadsheet exports for basic KPIs
  • Organizations that must keep project metrics on self-hosted infrastructure

How to enable it on a project

  1. Install the plugin package on your Redmine server (see the installation guide).
  2. Restart Redmine / your application server so the plugin loads.
  3. Open Project → Settings → Modules and enable Custom Dashboard.
  4. Grant view/manage permissions on the relevant roles.
  5. Open the new Dashboard tab, pick a date range, and verify KPIs match a known filter query.

Reading the KPIs correctly

Open is the current open backlog for the project (not limited to the date range). Resolved (period) counts issues that reached a closed/resolved state within the selected window. Overdue highlights issues past their due date that are still open — useful for SLA pressure, not vanity charts.

The assignee table answers throughput questions: who closed how many issues in the period. Use it for coaching and capacity conversations, not as a blunt ranking tool without context (leave, support spikes, and issue size still matter).

Permissions and privacy

Dashboard visibility follows Redmine roles. If a user cannot see certain issues under Redmine permissions, do not assume the dashboard bypasses that model — configure roles the same way you would for the Issues tab. Keep manage permission limited to leads who should change dashboard-related settings.

Compatibility and operations

Targets Redmine 5.0.x, 5.1.x, and 6.x. Primary QA on Redmine 6.x + MySQL 8 — confirm your stack on the compatibility matrix before production install. Like any Redmine plugin: take a DB backup, install on staging first, and verify after Redmine upgrades.

There is no external telemetry requirement. Metrics are computed from your Redmine database. That keeps data residency simple for regulated teams.

What this plugin is not

  • Not a replacement for full BI tools (Metabase, Power BI) across many systems
  • Not a cross-project executive scoreboard in the Community edition
  • Not a time-tracking or financial reporting suite

If those are your requirements, scope a different tool. If your need is “project KPIs and assignee throughput inside Redmine,” Custom Dashboard is the direct fit.

Download the official package from the Custom Dashboard product page — free forever (MIT); source is included in the package. For SSO and identity on the same Redmine instance, see the Redmine OIDC solution.

Using the dashboard in weekly rituals

Open the Dashboard tab at the start of planning. Check overdue first — that is usually the risk signal. Then look at resolved volume for the period against what the team committed. Use the assignee table to spot load imbalance, not to shame individuals. If one person closed far more issues, ask whether issues were smaller, or whether work is unevenly assigned.

For stakeholder updates, screenshot or export is optional; many teams simply share the Redmine URL with view permission. That keeps a single source of truth instead of freezing a spreadsheet that diverges by Friday.

Operational tips after Redmine upgrades

  1. Confirm the Custom Dashboard module is still enabled on active projects.
  2. Re-check role permissions if you migrated roles or copied a project template.
  3. Compare KPI numbers against a known saved issue query for one project.
  4. If counts look wrong, verify time zone and “resolved” status mappings in your workflow.

Plugins that read issue status depend on your tracker workflow. If “Resolved” is not a closed status in your instance, throughput will under-count — fix the workflow definition rather than blaming the dashboard.

Related RedmineShop tooling

Teams that adopt dashboards often tighten access next. If you still share a single Redmine password among contractors, evaluate the Redmine OIDC plugin so dashboard viewers authenticate through your IdP. Read the generic install guide for package layout shared by Community plugins.

Frequently asked questions

Is this a global executive dashboard?
Community edition adds a Dashboard tab per project (module toggle). Cross-project executive reporting is a separate planned product.
What KPIs are included?
Five live KPIs (open, resolved in period, overdue, in progress, due soon), clickable drill-down to issue filters, period deltas, plus an assignee breakdown that includes Unassigned.
Does it need an external database or SaaS?
No. It reads your existing Redmine issues. No external services required.
How do permissions work?
Standard Redmine role permission: view_custom_dashboard.