Tagline: Grid, calendar, list, timers, multi-stage approvals, planning, cost and reports — on native Jira worklogs, authored by the person who did the work. Free to 10 users, then $0.40.
Install from the Marketplace listing, or in Jira go to Apps → Explore more apps and search for Honest Timesheets for Jira. You need to be a Jira administrator. Nothing needs configuring before first use.
Timesheets turns Jira's own worklogs into a timesheet people will actually fill in:
hours by issue by day, expected hours from a working pattern, the variance, and a
sign-off that holds. Every worklog it creates is a real Jira worklog authored by the
real person, so worklogAuthor = currentUser(), Jira's own reports and anything else
reading Jira all keep telling the truth.
It runs entirely on Atlassian's infrastructure. No data leaves.
Logging time - Log, edit and delete straight from the grid: click any issue-day cell. - Start/stop/pause timers on an issue, held server-side — close the tab, change laptop, the timer is still running. Stopping it writes a worklog stamped with the moment the work began, so a session that crosses midnight lands on the right day. - Worklog comments, a first-class billable flag with a per-project default, and your own worklog attributes (account, activity, category) — text, list or flag, optional or required, stored on the Jira worklog itself so anything else can read them. - Copy the previous period forward. It previews first, shifts by whole days, and skips anything that would collide, so running it twice does not double your week. - Move a worklog to another issue or day; split one in two down to the minute.
Seeing it - Grid, calendar and list views of the same period, always in agreement. - Weekly, fortnightly, monthly and semi-monthly periods, with a configurable week start. - Every worklog is bucketed on the day its author was working, in that author's own timezone — a manager in London sees the days a Sydney engineer actually entered.
Working patterns - Expected hours per weekday at project level, overridable per person, and public holidays that really do zero out the day's expectation. - Rounding for billing: any increment, nearest/up/down, applied per entry, per day or per period — and you choose which, because twelve five-minute entries rounded to 15 minutes each is three hours while their one-hour sum is one hour.
Approvals that hold - Multi-stage chains: named stages, each with its own approvers by user or project role. Approved only when every stage has signed off; any stage can send it back. - Nobody signs off their own hours — refused even for administrators, unless the project explicitly opts in. - A submitted or approved period is frozen, including against dragging entries out of it. - The chain is snapshotted at submission, so changing approvers cannot strand or hijack a sheet already in the queue. Full history with actor, time and comment.
For managers - Team view: totals per person for the period, missing-time flags, status, cost, and bulk approve that reports each sheet individually rather than failing the batch. - Reminders for anyone under their expected hours, as an in-app notice plus — at your option — a Jira notification through your own notification scheme.
Reporting
- Group by project, issue, epic, user, day, month, billable or any attribute, up to three
levels, over any range to 400 days.
- CSV export, summary or per-worklog, RFC 4180 and Excel-safe (a cell starting with =
cannot execute when the file is opened).
- Nine JQL search aliases — timesheetStatus, timesheetLogged, timesheetBillable,
timesheetApproved, timesheetPending, timesheetDraft, timesheetContributors,
timesheetAuthor, timesheetLastLogged — so timesheetStatus = DRAFT AND
timesheetLogged > 3600 is a filter you can save and share.
- A dashboard gadget with this period at a glance.
Planning and cost, included - Plan time ahead on an issue and compare planned against actual. Plans are intentions held in app storage and are never written to Jira as worklogs, so your reported hours stay a record of work actually done. - Charge-out rates per person, in whole cents, shown on the timesheet, the team view and reports.
| Users | Per user / month |
|---|---|
| 1 – 10 | Free |
| 11 – 100 | US$0.40 |
| 101 – 500 | US$0.30 |
| 501 – 2,500 | US$0.20 |
| 2,501+ | US$0.12 |
At 100 users that is US$40/month. The comparable apps are US$85 (and that edition has no approvals) and US$521. We can price here because the app has no servers: it runs on Atlassian's compute and storage, so there is no hosting bill for the price to carry.
Four scopes, no external egress.
read:jira-work — read issues, worklogs, projects, project roles and issue and
worklog properties, and run the JQL search that finds which issues you logged against.write:jira-work — create, edit and delete worklogs as you, store worklog
attributes as worklog properties, write the issue property that makes timesheets
JQL-searchable, and raise the optional reminder notification through Jira's own
notification scheme. The app never creates, edits, transitions or deletes an issue.read:jira-user — resolve display names, timezones and group membership, so a
worklog is filed on the day its author was working rather than the day you happen to be
looking at it, and so a role named as an approver resolves to actual people.storage:app — project settings, approval state and history, running timers,
in-app notices, workplans, saved report definitions, and a fast-read mirror of worklog
attributes. No issue content and no worklog text is kept here.Every Jira call is made as the signed-in user, never as the app. That is not a convention in this codebase, it is enforced: the module that talks to Jira does not import the app-authentication API at all, so there is no way to write a worklog that is not authored by the person who asked for it.
No external fetch of any kind is declared or possible. All compute and storage stay on Atlassian, data residency follows the host product, and uninstalling the app removes everything it stored. Your worklogs stay, because they were always Jira's.