How to turn Jira worklogs into a cost report
Hourly rates, overtime and weekends · Last updated: 12 September 2026
Short answer. Jira records time, not what it cost. There is no rate field
and no cost report built in, and the built-in export gives you time per issue rather than per person
per day. So the choice is a spreadsheet you rebuild every month, or an app. The spreadsheet is fine —
as long as you avoid the three traps in section 3.
1. What Jira gives you
- Every worklog: who, which issue, which day, how long, and the comment.
- Totals of time spent per issue, and search over issues.
- Exporting issues to CSV puts each worklog of an issue in its own column, which a spreadsheet can
then split and regroup by person.
What it does not have: hourly rates, overtime or weekend rules, or a report of cost by person or by
epic. Atlassian has an open public request for a native worklog-based report
(JRACLOUD-97253).
2. The spreadsheet method
- Search for the issues of the project and month, and export them to CSV with the worklog
columns.
- Split the worklog columns into one row per worklog: person, date, hours.
- Add each person's hourly rate (a lookup table by person).
- Multiply hours by rate, then group by person, or by issue and epic.
That gives a number. Whether it is the right number depends on the next section.
3. The three traps that make the number wrong
| Trap | What goes wrong | The fix |
| Overtime counted per entry |
Five 2-hour worklogs on one day are 10 hours — but no single entry is over 8, so nothing is
paid as overtime. |
Add up per person per day first, then apply the standard day. |
| Shifts past midnight |
A worklog from 22:00 to 02:00 lands entirely on the first day, so Sunday hours are paid as
Saturday, or night hours are missed. |
Cut every worklog at midnight and price each side with its own day's rules. |
| Rate changes mid-month |
A single rate column prices the whole month at the new rate — or rewrites last month when
you update it. |
Give every rate an effective date and use the rate in force on each day. |
And one quiet one: if the export missed issues — a project you cannot see, a page of results that
failed — the total comes out short and nothing tells you. Check the hours you priced against the
hours Jira reports for the same period.
4. Where Fair Hours fits
Fair Hours is our app, so read this part as the maker's description. It does the
spreadsheet method inside Jira, with the three traps handled:
- Rates by company, team (a Jira group) or person, each with an effective date.
- Overtime counted per day, weekend multipliers, and a night premium — all off until you set
them.
- Worklogs cut at midnight; money rounded only for display.
- The report by person or by issue rolling up to the epic, a detail line per worklog showing why
it was paid differently, and a reconciliation against Jira's own hours that says so when
something could not be read.
- Close a month to record who approved it — and the report still tells you if Jira changed
afterwards.
- Costs are visible only to Jira administrators. Free for sites up to 10 users. No external
servers.
What it is not: payroll (no tax or payslips) or invoicing, and it reports one project at a time.
Full detail in the documentation.
Fair Hours on the Atlassian
Marketplace · About Fair Hours
Fair Hours is an independent app, not made by or affiliated with Atlassian. Jira is a
trademark of Atlassian.