Skip to content
maxrossello edited this page Aug 6, 2016 · 5 revisions

Timesheet tools are applications useful to track spent time over project activities, work orders ('Orders' in the following, assuming that a project has economics that depend from a contract or internal assignment), general management and other unproductive activities, such as vacations, leaves, training.

Existing timesheet plugins for Redmine are based on the core time tracking capability which is able to record time spent on issues or, alternatively, into a project. Nevertheless, this is not completely satisfying for accounting purposes because:

  • not every team is willing to represent Orders as an issue. Many teams use Redmine just to track bugs, and don't want to handle general activities, features, and their economics melted and confused into the same workspace
  • general management and unproductive activities are shared company-wide, and their costs have to be monitored as such, so a project context is not sufficient for this scope

The Redmine Timesheet Application plugin implements a global application which includes an administrative part for enabling Orders and defining their visibility (edit own timelogs only, view all timelogs, edit all timelogs) with per-Order granularity.

It allows to define brand new Orders, but also to reuse data about time spent on issues. Orders can be created globally, in the administrative interface, or locally into projects. In the latter case, they are represented by Target Versions marked by a special custom field and project Managers can control the access to the Order using normal roles in the project (Version should be visible). Both types of Order can then be enabled or disabled administratively.

Timelogs can be reported against issues belonging to a Version for project management purposes, and to a different Order for accounting purposes (even though Versions can be used as Orders too). The timelog values will be proposed as the easy option for accounting into timesheets too.

Order activities are disjoint from project activities as well. The enumeration is the same, but the Order admin interface allows for a more granular configuration. A timelog can therefore be also reported with different Activities sets for PM and accounting purposes.

Redmine's spent time statistics can split for Orders and Order Activities as well, orthogonally to Versions and Activities.

Global Orders are stored into a special administrative project that does not need to be visible to users filling data into the timesheet, nor any module except Time Tracking needs to be enabled on it.

For backward compatibility reasons, a setting is available that allows to prevent disclosing the existence of shared Target Versions to people not belonging to its source project (except for admins). This exists because up to version 1.3.x Target Versions needed to be shared up to the special hidden backend project in order to be recognized as Orders. This feature may be split in a separate plugin in the future.