Project

General

Profile

Plugins Directory » Time Tracking

Author: Frank Reinmuth
Website: https://redmine-plugins.atori.de/en/zeiterfassung.html
Code repository: -
Registered on: 2026-05-07 (6 months ago)
Current version: 1.7.0
Compatible with: Redmine 7.0.x, 6.1.x, 6.0.x, 5.1.x
User ratings:   (0)

Weekly grid time tracking for Redmine — a personal weekly timesheet with a
submit/approve workflow, multiple timers and per-project effort budgets.

Time entry
- Weekly grid (Mon–Sun) across all visible projects, inline create/edit/delete
- Drag & drop entries between days; the entry dialog's date field defaults to
the cell you clicked and can be changed, so a booking can be moved without it
- Issue autocomplete by id/subject/project
- Favorite issues as quick-log chips; copy the previous week in one click
- Daily/weekly totals with a target-hour progress bar

Timers
- Multiple parallel timers, each on its own issue; pause/resume; stopping logs
a TimeEntry. Optional rounding up to a customer's minimum granularity
(together with at_rechnungstellung)
- Start a timer where the work happens: from the timer panel, from any cell of
the weekly grid, or from a start/stop control in the issue toolbar

Submit & approve
- Submit and approve per project, by week or month; approve/reject/reopen
- Locked periods: a submitted or approved project period is read-only
EVERYWHERE — the grid, the standard "Log time" dialogs, the project time log
and the REST API — not just in the plugin. Administrators can override

Portals
- Export a submitted or approved period as the file a contractor portal
imports — currently MyTime by Hays, whose import takes the file without
column mapping. The portal is assigned per project; projects without one
show no export

Planning
- Per-project effort budget (hours) with consumed / planned / forecast on a
Budget tab
- Per-issue remaining effort (Restaufwand), computed as estimated − spent and
manually overridable; shown only to users who may see the logged time it is
derived from

Permissions: view own timesheet (global), approve timesheets (project),
approve all timesheets (global), manage project budget (project).
English and German. Requirements: Redmine 5.1+ (CI-tested on 5.1, 6.1 and 7). GPL v2.

Changelog

1.7.0 (2026-10-30)

Compatible with Redmine 7.0.x, 6.1.x, 6.0.x, 5.1.x.

Synchronized suite release. Handbook: new section "Updating Redmine", favourites described as built. No functional changes.

1.6.0 (2026-10-15)

Compatible with Redmine 7.0.x, 6.1.x, 6.0.x, 5.1.x.

1.6.0:
- New: portal exports are configured per project. Export formats are presets
(currently MyTime by Hays); a project is assigned one on the new "Portal
export" tab of its settings, optionally with a reference such as the
contract number for the file name. Only projects with an assignment show
the export on their submissions. New project-level permission "Manage
portal export".
- Upgrade note: projects that used the 1.5.14 export need the format
assigned once in their settings.

Since 1.5.8 (the version listed here before):

1.5.15 – Fix: the issue suggestions under the "add entry" field at the bottom
of the grid were cut off since 1.5.10; the list is now positioned
against the viewport and opens upward when there is no room below.
1.5.14 – New: Export for MyTime by Hays. A submitted or approved period
downloads as an XLSX that the Hays portal imports without column
mapping — one row per booking with date, hours and description;
column names and formats verified against the live import. The
submission shows when it was last exported.
1.5.13 – The delete button in the cell dialog shows a bin icon. Fix: Ctrl+drag
copying read the modifier key only during the drag, which some
platforms (Chromium on Wayland) never report; it is now read when the
block is picked up. Manual: moving, copying and deleting described.
1.5.12 – Security: a booking naming both a project and an issue skipped the
visibility check on the issue, so time could be logged on private
tickets and their subject read from the reply. Bookings always
resolve the issue through the user's visibility now; timers require
a visible project; a period can only be handed in for projects the
user may log time on. Upgrading is recommended.
1.5.11 – Fix: a rejected period can be submitted again from the grid
("Erneut einreichen"); the badge follows the newest submission.
1.5.10 – Fix: every day column of the weekly grid has the same width.
1.5.9 – Entry dialog: "Start timer" is a quiet secondary button; the
date/activity/hours row ends flush with the comment row.

1.5.8 (2026-08-22)

Compatible with Redmine 6.1.x, 6.0.x, 5.1.x.

1.5.8 – Fix: a booking rejected for a future date claimed the period had been
submitted; locked period, future date and missing date now each report
themselves.
1.5.7 – Entry dialog has an editable date field (prefilled from the clicked
cell), so a booking can be moved to another day without drag & drop;
the cell timer is no longer limited to today's column.
1.5.6 – Start a timer straight from a grid cell, and from a start/stop control
in the issue toolbar. The remaining-effort (Restaufwand) field is now
limited to users who may see the logged time it is derived from.
1.5.5 – Approvals promoted to a top-menu entry next to the timesheet.
1.5.4 – Issue autocomplete shows the full project path and the customer
(with at_rechnungstellung installed).

1.5.3 (2026-07-09)

Compatible with Redmine 6.1.x, 6.0.x, 5.1.x.

1.5.3 – Full project path in approval/submission lists; Ctrl+drag copies a
single entry reliably in the Details view.
1.5.1 – Weekly submission clamped to the month boundary (per-month segments).
(1.5.2 was a no-change re-release for a clean deploy pipeline.)

1.5.0 (major)

- Submit and approve timesheets per project; choose week or month per submission.
- Period locking everywhere: submitted/approved periods are read-only in all
time-entry paths (Log time, project time log, REST API, grid, timer).
- Multiple parallel timers, pausable/resumable; stopping logs a TimeEntry.
- Granularity rounding when at_rechnungstellung sets a customer minimum.
- Timer issue auto-select on unique match.
- Project effort budget tab (budget vs. consumed/planned/forecast).
- Per-issue remaining effort (estimated − spent), manually overridable.
- Permissions: approve_timesheets is now project-level; new global
approve_all_timesheets; new project-level manage_project_budget.
- Upgrade note: existing weekly submissions are split per project on migrate;
grant approve_all_timesheets to former global approvers.

1.4.3 (2026-05-04)

Compatible with Redmine 6.1.x, 6.0.x, 5.1.x.