This feature list provides an overview of the functions of the Redmine HRM Plugin.
Legend:
Available - Feature is fully implemented
Limited - Feature available, but with limitations
Not available - Feature is not implemented
Special Feature: Dynamic Real-time Calculations (on-the-fly)
Advantage: The plugin works with a lean, performant calculation model. All evaluations (performance, availability, resource planning) are created dynamically at runtime - without additional storage requirements for historical snapshots.
How it works: The system uses the current working time calendar for all calculations, even when analyzing past periods. This requires an adjusted workflow compared to systems with historical data storage.
Supervisors can manage attendance of their subordinates
Own data always visible
User sees own attendance/resources
Project-specific permissions
Resource view controllable per project
Menu Configuration
Feature
Status
Description
Custom menu items
Up to 5 menu items per user type
Submenus
Each main item can have sub-items
Variables in URLs
Dynamic placeholders for user IDs and login names
Icons
Font Awesome icons usable
Help menu
Show/hide help menu
My Page menu
Show/hide My Page
Watched projects
Show watched projects in top menu
Working Time Calendar
Calendar Functions
Feature
Status
Description
Unlimited calendars
Any number of working time calendars definable
Default calendar
One calendar can be marked as default
Hours per week
Weekly working time configurable
Define working days
Monday-Sunday individually enable/disable
Core time
Work start and end (e.g., 09:00 - 18:00)
Velocity
Maximum assignment per day for resource planning
Flexible working hours
Only via different calendars, no individual daily planning (only 1 calendar per user possible)
Important: Working Time Calendar Changes
Feature
Status
Critical Notes
Change calendar
Affects all historical reports retroactively
Change calendar properties
Affects all users with this calendar
Historical calendar versions
Are not saved
Retroactive corrections
Not possible
Recommended approach:
Avoid changing existing working time calendars
Instead, create new calendars and reassign users
Before changes, export the affected reports if needed
Possible Working Time Models
Feature
Status
Description
Full-time
E.g., 40h/week, Mon-Fri
Part-time
E.g., 18h/week, Mon-Wed
4-day week
E.g., 32h/week, Mon-Thu
6-day week
E.g., 48h/week, Mon-Sat
Overtime account
No account, only dynamic calculation for selected period
Holiday Integration
Feature
Status
Description
TAG system
Calendars can have holiday TAGs
Regional holidays
Via TAGs (e.g., “Bavaria”, “NRW”)
Global holidays
Holidays without TAG apply to all
Multiple TAGs
One calendar can have multiple TAGs
Velocity and Resource Planning
Feature
Status
Description
Configure velocity
Max. hours/day for resource planning
Velocity = 0
Exclude user from resource planning
Velocity per priority
Different max assignment per ticket priority
Dynamic velocity
No time-of-day dependent velocity
Holidays
Holiday Management
Feature
Status
Description
Unlimited holidays
Any number of holidays definable
Holiday with date
Fixed date holiday (e.g., Jan 1)
Recurring holidays
No automatic recurrence rule. Yearly holidays can be created for a whole year range at once via iCal import
Half-day holiday
Only full-day holidays possible
Regional holidays
Via TAG system
URL/Link
Optional link to additional information
TAG System
Feature
Status
Description
Holiday TAGs
TAGs for regional assignment (e.g., “Bavaria”, “Hamburg”)
Multiple TAGs per holiday
One holiday can have multiple TAGs
Global holidays
Holidays without TAG apply to all calendars
Calendar TAGs
Working time calendars can have TAGs
System TAGs
TAGs configurable for non-internal users
Import/Export
Feature
Status
Description
iCal import (.ics)
Upload in the holidays area with year range selection. Yearly recurring entries are created for every year of the range
iCal export (.ics)
Dedicated feed of the holiday list for use in other calendars
API access
REST API for holidays
CSV import
No CSV import - use the iCal import instead
List export (CSV/XLSX/PDF)
Holidays can only be output as iCal or via the API
Supervisors & Hierarchies
Supervisor Management
Feature
Status
Description
Multiple supervisors
User can have multiple supervisors
Hierarchy levels
Flat hierarchy (user → supervisors), no tree structure
Assign supervisors
Simple assignment via user editing
Show supervisors
In user profile and lists
Supervisor Rights
Feature
Status
Description
View subordinate attendance
Always, independent of view_attendance permission
Approve attendance
When type requires approval
Reject attendance
With rejection reason
Edit attendance
Can create/change entries for subordinates
Email notifications
On new attendance entries (optional)
Resource view
See resources of subordinates
View time entries
Via Redmine project permissions, not HRM-specific
Team Functions
Feature
Status
Description
Team view
Filter by group in attendance/resources
Team calendar
Show absences of a team in HRM absence calendar
Team workload
Resources by group
Reports & Dashboards
Dashboard Blocks
Feature
Status
Description
Upcoming holidays
Next holidays (considers working time calendar)
Birthdays
User birthdays (requires custom field)
Anniversaries
Work anniversaries (requires custom field)
Today present/absent
Current attendance status
My resources
Personal planned hours for today
Resource problems
Overview of planning issues
Tickets for today
Today’s planned tickets
Required actions
Attendance entries for approval
Missing attendance bookings
Users without entries
Custom reports
Via redmine_reporting plugin
Attendance Reports
Feature
Status
Description
Attendance list
Filterable table with all entries
Grouping
By user, type, month
Filters
By user, type, date, status, approval
Totals
Days, hours
Statistics
Available / Used / Remaining days
List export
CSV, XLSX, PDF
Charts
The attendance list itself is tabular. HRM does ship its own dashboard charts (e.g. attendance heatmap, effort distribution)
Resource Reports
Feature
Status
Description
Planned hours
Forecast table
Time spent
Historical time entries (calculated on-the-fly)
Resource problems
Detailed problem listing
Workload overview
Color-coded table
Capacity overview
Available vs. planned hours
List export
No export of the resource view (see Resource Planning)
Charts
No Gantt/Burndown (only via redmine_reporting)
Performance Reports
Feature
Status
Description
User performance
Per user (calculated on-the-fly)
Working time vs. effort
Target-actual comparison (target value based on the current working time calendar)
Availability
Attendance rate (calculated dynamically)
Over-/Under-hours
Difference calculation (based on the current working time calendar)
Time periods
Current/last month, year, custom
Visualization
Tables (charts via redmine_reporting)
List export
The performance page is an on-screen report without export
Note: All performance calculations are based on the currently assigned working time calendar. If the calendar changes, the values for past periods shift with it.
API Reports
Feature
Status
Description
REST API
Access to all data via API
JSON/XML
Both formats supported
Authentication
API key or session
Pagination
For large datasets
Filter parameters
API-side filtering
Integration & API
Redmine Integration
Feature
Status
Description
Redmine users
Uses Redmine user management
Redmine groups
Uses Redmine groups
Redmine projects
Project-specific resource view
Redmine tickets
Resource planning based on issues
Redmine time entries
Automatic TimeEntry creation possible
Redmine versions
Version date as deadline
Redmine activities
For automatic time bookings
Redmine custom fields
For users and attendance
Redmine dashboards
HRM blocks in dashboards
Redmine permissions
Integration with role system
Plugin Integration
Feature
Status
Description
Additionals plugin
Required base
Additional Tags
TAG system for holidays/calendars
Redmine Reporting
Extended reports and charts
Other AlphaNodes plugins
Compatible, optional feature extension possible (e.g., Automation)
REST API
Feature
Status
Description
User API
/hrm/users.json
Attendance API
/hrm/attendances.json
Holiday API
/hrm/holidays.json
Working calendar API
/hrm/working_calendars.json
User types API
/hrm/user_types.json
Attendance types API
/hrm/attendance_types.json
CRUD operations
Create, Read, Update, Delete
Filter parameters
URL parameters for filtering
Authentication
API key, session cookie
Export Formats
Feature
Status
Description
CSV export
Attendance, user, project member and group list
Excel export (XLSX)
The same four lists, as a real XLSX file (not a renamed CSV)
PDF export
Attendance list only
iCal export
Absence calendar, personal calendar and holiday list
JSON/XML export
Via API
Resource and performance view
On-screen reports without file export
Import Functions
Feature
Status
Description
User import
Via Redmine Core (not HRM-specific)
Attendance import
Via API possible, no CSV import in UI
Holiday import
iCal import (.ics) in the UI with year range selection, additionally via API
Bulk import
Holidays only (iCal). No dedicated import workflow for users and attendances
Advanced Features
Automation
Feature
Status
Description
Automatic time booking
Automatically create time entry on attendance booking
Email notifications
On attendance entries, approvals
Automatic approval
No time-based auto-approval
Escalation
No automatic escalation
Reminders
No automatic reminders (e.g., “attendance missing”)
Cronjobs
Via Redmine cronjobs possible, not HRM-specific
User automation
Via Redmine Automation Plugin possible, not HRM-specific
Customizability
Feature
Status
Description
Custom fields
For users and attendance
Custom attendance types
Unlimited
Custom user types
Unlimited
Custom menus
Up to 5 menu items per user type
Custom dashboards
Via integrated dashboard system
Custom queries
Saved filters for lists
Custom workflows
No workflow engine
Security & Compliance
Feature
Status
Description
IP range restriction
For attendance types
Audit log
Via Redmine activity log, not HRM-specific
Anonymization
Anonymize activities (GDPR)
Privacy options
Configurable visibility
Encryption
Via Redmine/Rails, not HRM-specific
2FA
Via Redmine plugins possible
LDAP/SSO
Via Redmine Core
Audit-proof
Not given, as values are calculated at runtime
Performance
Feature
Status
Description
Large datasets
Optimized for 100,000+ records
Caching
Rails cache for expensive operations
Pagination
For large lists
Lazy loading
Partially implemented
Functional Limitations Due to Architecture
Feature
Limitation
Workaround
Historical reports
Recalculated with current calendar
Regular snapshots/exports, create new calendars instead of changing
Book overtime
Max. working hours per day
RANGE type for flexible hours or multiple entries
Multiple entries per day
Only with different half-day bookings
Use RANGE type or combine attendance types
Velocity = 0
User disappears from resource planning
Set small velocity (e.g., 1h) instead of 0
Group tickets
Not scheduled
Assign tickets to specific users
User type change internal↔non-internal
All users lose working time calendar
Create new user types instead of changing
Repeated bookings
Holidays/weekends are silently skipped
Book individual days manually or check calendar
Ticket date vs. version date
Version date is preferred
Use only version date OR ticket date, not both
Approval status
Only “undecided” is not considered
Use dashboard to track open approvals
Technical Limitations
Limitation
Description
Redmine dependency
Plugin requires Redmine Core (no standalone version)
Browser compatibility
Modern browsers required (Chrome, Firefox, Safari, Edge)
Database
PostgreSQL or MySQL (SQLite not recommended for production)
Performance with very large installations
For >1000 users, appropriately performant infrastructure is required
No historization
Working time calendar changes falsify historical data
Summary by Use Cases
Perfectly suited for:
Attendance management (vacation, sickness, office, home office)
Resource planning based on Redmine tickets
Capacity planning for development teams
Flexible working time models (full-time, part-time, 4-day week)
Regional holiday management
Approval workflows for absences
Supervisor hierarchies (flat)
Permission management (fine-grained)
Reporting (lists, tables, export)
API integration (connect external systems)
Please note the limitation of the on-the-fly calculations (see above).
Conditionally suitable for:
Historical evaluations (only with regular snapshots/exports)