Skip to content
| Marketplace
Sign in
Azure DevOps>Azure Boards>Time Tracker
Time Tracker

Time Tracker

Rothausen Development

|
44 installs
| (2) | Free
Log time against work items, report on everyone's time with role-based access, and back up entries to JSON.
Get it free

Time Tracker for Azure DevOps

Log hours against work items. See your month at a glance. Slice org-wide reports for billing and capacity, with role-based access you control from one settings page. All without leaving Azure DevOps and without paying per seat.

Monthly calendar hub


Built for two audiences

For developers

  • One-click add on every work item. The "Time Tracking" panel slides in beside the description, so you log time where you already are — no separate timesheet app, no context switch.
  • Quick-add buttons +0.5h / +1h / +2h / +4h for common durations, plus precise From/To inputs that snap to 15-minute steps with arrow keys or scroll wheel.
  • Personal monthly calendar showing every day's total, your week, and your month — hover any cell to add time with a single click.

Edit time slide-out modal

For project managers and admins

  • Team breakdown on every ticket. See exactly who logged how much on this work item, with a proportional progress bar — without leaving the ticket.
  • Reports hub with daily stacked chart, summary cards, and a per-user table that expands into work-item-level detail. Filter by date range, users, projects, work items, or iteration.
  • Org-wide roles — Admin, Manager (read-only view of everyone's time), Member, and No access, assigned per user on the Organization Settings page. Works out of the box: ADO administrators default to Admin, everyone else to Member.
  • Cross-project reporting — an entry logged against a work item from another project lands in that project's collection, and Time Reports aggregates every project into one view with a Project column and filter.
  • CSV export of any filtered view — drop into invoicing, capacity planning, or external dashboards.
  • JSON backup & restore — snapshot all entries (or just the current filter) to a portable JSON file, then re-import on demand with a preview dialog that flags duplicates, phantom users, and missing work items before anything is written.
  • Invalid-entry inspector — admin-only section that surfaces stale rows (deleted work items, phantom users, over-cap hours) with inline Edit / Delete on each, including reassigning an entry to another user.
  • Iteration filter to slice reports per sprint.

Time Tracking panel on a work item with Team breakdown

Time Reports hub — daily chart + per-user totals


Roles & the Organization Settings page

Who sees what is controlled by four org-wide roles, assigned per user in Organization Settings → Time Tracker:

Role What the hubs show
Admin Everyone's time across all projects, plus the write surfaces: edit / delete / reassign others' entries, backup & restore, invalid-entry cleanup
Manager Everyone's time, strictly read-only (a "Read-only · all users" badge makes the scope explicit)
Member Own time only (a "Personal view" badge) — the default for everyone without an assignment
No access Time Tracker hides itself for that user: no panel on work items, a quiet note on the hubs

The settings page lists every org user with their access level, current role, and last-accessed date. Rows of ADO administrators carry an ADO Admin badge, so group-derived defaults are easy to tell from explicit assignments.

Organization Settings → Time Tracker — per-user role assignments with ADO Admin badges

A few deliberate rules:

  • Works with zero setup. With no assignments, Project Collection Administrators (including the organization owner) default to Admin and everyone else to Member — a fresh install behaves sensibly before anyone opens the settings page.
  • An explicit assignment always wins — ADO administrators included. A Collection Administrator can set themselves Member and the tracker genuinely behaves like it does for a regular user until they switch the role back. ADO admin status governs settings management, never report visibility.
  • No self-lockout. The right to manage roles is derived from ADO group membership, so a Collection Administrator can always open this page and fix any assignment — no stored role can lock the org out of role management. Delegation works too: anyone assigned the Admin role can manage roles as well.
  • Entra ID groups are fully supported. Admins and project members are recognized even when their membership runs through nested Entra ID (Azure AD) groups — badges, defaults, and the report validators all see through the group nesting.

Backup & restore

A single Backup menu in the Time Reports header covers both directions:

  • Backup all to JSON — every entry in the current scope (admins: project-wide; non-admins: own).
  • Backup filtered to JSON — only what matches the current FilterBar (date range, users, work items, iteration). Use this for per-sprint snapshots or per-user handoffs.
  • Restore from JSON… — opens a preview dialog before writing anything.

Filenames embed project and timestamp, so backups are self-describing on disk.

Time Reports header — Backup menu with full / filtered / restore options

Restore preview is a dry-run. The dialog summarises new, changed, unchanged / skipped, and invalid entries up front, then lets you:

  • Narrow the import by date range and user without re-exporting.
  • Resolve conflicts field-by-field — for each changed entry, see Current (ADO) vs Backup side by side and choose Keep current or Restore from backup. Bulk shortcuts handle the whole list at once.
  • Tick / untick individual new entries to import. Smart defaults pre-check entries that pass validation and pre-uncheck rows referencing phantom users, missing work items, or over-cap hours.

Nothing hits Extension Data Service until you click Apply — and the count on the button reflects exactly what's about to be written.

Restore from backup preview — conflict resolution + selectable new entries


Invalid-entry inspector

When the Project Members lookup is available, admins also see a collapsible N invalid entries banner above the summary cards. It lists every row that fails one of the integrity rules with the specific reason — "<userName>" is not a current member of this project., Work item #N doesn't exist or you have no read permission., Hours N exceeds the per-entry cap of M., etc. — and offers per-row Edit and Delete so you can clean things up without leaving the hub. Edit opens the full entry editor, where an admin can also point the entry at a different work item or reassign it to another user.

Membership checks follow nested Entra ID (Azure AD) groups, so a user whose project access comes through an AAD group is never falsely flagged as a phantom.

This is the same validator that powers the smart defaults in the restore preview, so the two features stay in sync: anything flagged here is exactly what restore will refuse to silently re-import later.

Invalid entries banner in Time Reports with per-row Edit / Delete


Why this extension

This extension Most alternatives
Hosting Lives entirely inside your Azure DevOps org Separate SaaS backend
Pricing Free, no per-seat licensing Monthly subscription per user
Privacy Time data stays in your ADO Extension Data Service Routes through a third-party server
Setup Install from Marketplace, done Auth flows, license keys, admin accounts
Permissions Reads work items + identity. Nothing else Often broad org-wide scopes

If you need a heavyweight stand-alone product (invoicing, salary integration, time-off accrual, dozens of report views), this isn't it. If you need solid in-Azure-DevOps time logging that team members will actually use, this is it.


What's inside

Feature What it does
Time Tracking panel (work item form) Per-user CRUD on time entries. Edit/Delete only on your own rows
Team widget (work item form) Per-user breakdown of who logged how much on the current ticket
Monthly hub Personal 6×7 calendar; click a day for an editable day-detail; hover for one-click add
Time Reports hub Role-based: Admins see and manage everyone's time, Managers see everyone read-only, Members see their own — filterable by date / users / projects / work items / iteration
Org-wide roles Admin / Manager / Member / No access per user, managed in Organization Settings → Time Tracker; ADO administrators default to Admin
Cross-project reporting Entries are stored in the work item's home project; Time Reports aggregates every project with a Project column and filter
CSV export Filename time-entries_{project}_{from}_to_{to}.csv
JSON backup / restore Full or filter-scoped backup; restore via preview dialog with conflict resolution, per-entry selection, and validation-aware smart defaults
Invalid-entry inspector Admin-only banner listing rows that fail integrity rules (phantom user, missing work item, over-cap hours) with inline Edit / Delete / reassign
Entra ID (Azure AD) aware Admin detection and member validation see through nested Entra ID groups
Bidirectional Duration ↔ From/To Set any two of three and the third recomputes
Save & add another Log consecutive entries in one flow — the modal stays open and advances the date to the next day
Midnight-crossing entries Auto-split into two records (day 1 ends 23:59, day 2 starts 00:00) on save
Locale-aware dates DD-MM-YYYY end-to-end, matching ADO's Work Items grid

Day-detail view

Click any day in the Monthly hub for the full breakdown — entries listed latest-first, editable and deletable in place.

Monthly hub with day-detail expanded


Privacy

Everything stays inside your Azure DevOps organization:

  • Time entries are stored in Azure DevOps Extension Data Service (Microsoft-hosted, scoped to your org)
  • No external API calls, no telemetry, no analytics
  • Two scopes per entry: User (only the author reads) and Collection (project members read for aggregate views)
  • Uninstalling the extension does not delete your data — it remains in your org's EDS until manually purged

OAuth scopes requested: vso.work (read work items so we can show titles next to entry IDs) and vso.identity (identities endpoint backing the role defaults for ADO administrators, the project-member validation behind the invalid-entry inspector, and the Entra ID group expansion — all read-only).


Install

  1. Open the Marketplace listing (or search for Time Tracker in your org's Extensions panel).
  2. Click Get it free and pick the target Azure DevOps organization.
  3. Project Collection Administrator rights are required to install. If you don't see the Install button, ask a PCA group member.
  4. Optional: open Organization Settings → Time Tracker to assign roles. Skipping this step is fine — ADO administrators start as Admins, everyone else as Members.

After install, Time Tracker appears as a top-level entry in every project's navigation (with Monthly and Time Reports under it), and Time Tracking appears as a section on every work item form.


Compatible with

  • Azure DevOps Services (dev.azure.com)
  • Azure DevOps Server 2020+

Support & feedback

Questions, bug reports, and feature requests: info@rothausendevelopment.com.

You can also use the Marketplace listing's Q&A tab for public questions.


License

All rights reserved by Rothausen Development. Distributed via the Visual Studio Marketplace at no charge.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft