A Jira worklog report by project and person.
Jira's CSV export has no report by project or person. Drop it in for the totals you actually bill.
Jira's “Export Excel CSV (all fields)” · .csv only
Free · nothing to connect, nothing to install · your file never leaves the browser
- Billable
Marcus Chen
Kestrel Robotics34.5h
- Billable
Omar Wright
Anchorline Freight12h
- Not billable
Priya Patel
Internal6h
Watch Worklog Report build totals by project and person from a Jira export, in 68 seconds.
A real Jira worklog export, turned into a report in the actual product — no account, and nothing to upload to watch it happen.
One minute eight seconds, narrated, with music playing from the first frame.
Nothing has been sent to YouTube yet: the image and this text came from us, and pressing play is what connects your browser to YouTube.
- 0:03Jira tracks time. It doesn't total it.
- 0:08Log Work: one header, two columns.
- 0:13No rules yet
- 0:16One thing to know about this date column
- 0:19Nothing to connect. Nothing to install.
- 0:22Totals, the moment the file loads.
- 0:26By project. By person. By issue.
- 0:30Same day, two people. No overlap shown.
- 0:47Submitted date, not logged date — stated, not hidden.
- 0:53The totals you actually bill from.
youtu.be/QVzz9hOMzmY · published September 24, 2026
Jira tracks time. It doesn't total it.
Every worklog is a date, a duration and an issue — accurate, atomic, and useless for billing until someone opens a spreadsheet. Atlassian has said, by name, that building the report is not something it will do.
The 20-year answer
Atlassian closed the request as Won't Fix
JRACLOUD-6137, “Generate worklog report”, opened 8 March 2005 with 124 votes, closed Won't Fix on 31 July 2014: “We recognise the importance of this feature request, but it is not something we will be able to devote development time to,” pointing at the Marketplace instead.
The real gate
Every Marketplace app has to be installed
The apps that fill the gap — $60 to $5,210 a year — all require installing into the customer's Jira. The person who needs the number is usually not an admin of the Jira they're billing against; they can run a filter and export, not install an app.
The open defect
The export date is not the work date
JRACLOUD-77926 and its server twin JRASERVER-64025, both open since 7 February 2017: the CSV export carries the date a worklog was submitted, not the date the work was for. Totals across a whole export are unaffected; a day-by-day breakdown would be a guess dressed as a fact — so this tool doesn't offer one.
Issue numbers, vote counts and dates verified against jira.atlassian.com and Atlassian's own support documentation.
Drop it in. Get the totals.
The CSV Jira exported
Issue key,Summary,Log Work
"PROJ-118","Client migration",
"comment;16/Sep/24;jsmith;7200"
Matched against your rules
PROJ-118 · 2h00m
Match by project
Totals, ready to bill
3 projects · 52.5h total, 46.5h billable
Reads the real export
Jira repeats a column header for every sprint, worklog and label an issue carries; a naive parser silently keeps only the last one. This reads every repeated column and every worklog line, in the comment;date;user;seconds grammar Jira writes.
Totals by project, person and issue
The same durations, grouped three ways at once — by project for a client invoice, by person for a payroll question, by issue for an issue-level breakdown.
Billable rules you write
Match a rule by project or by a keyword in the issue, mark it billable or not, and every worklog re-sorts instantly. The same rule engine Calendar Timesheet uses.
Three steps, nothing to connect or install.
Export from Jira
In the issue navigator, filter with JQL for the worklogs you need, then Export → Export Excel CSV (all fields). Any Jira user who can run a search can do this — no admin rights required.
Drop the CSV in
The file is read in your browser tab. Nothing is uploaded, and there's nothing to install into the Jira you're billing against.
Review and export
Check the totals, set your billable rules, and export a CSV shaped for a client invoice or a payroll question — not Jira's own column set.
Say what counts as billable
One matcher at a time: by project, or by a keyword in the issue key and summary. Rules run in order, so a narrow exception can sit above a broad rule.
Match by project
Every worklog on a Jira project becomes one category — the shape that matches a client or a cost centre.
Match by keyword
Catch a specific issue or type of work regardless of project, by a word in its key or summary.
Override any single worklog
A rule gets it right almost every time; the one it misses is fixed with a manual toggle, not a rule rewrite.
First match wins
Rules apply top to bottom, so a specific exception placed above a broad rule is read the way it's written.
Rules and overrides are saved only in this browser — nothing is synced to a server.
What the report actually contains
Every figure below comes from the file you dropped, computed the same way whether it's one issue or a thousand.
- Total hours
- Every worklog in the file, summed.
- Billable hours
- The subset your rules mark billable — the number you invoice from.
- Hours by project
- One row per Jira project, ready to match against a client or a cost centre.
- Hours by person
- One row per author, across every project they logged to — not just one.
- Hours by issue
- Every issue's total, for the issue-level breakdown a client asks for.
- Truncated or unreadable rows, flagged
- A capped export or a malformed worklog line is reported, never silently dropped or summed as if it weren't there.
Built for whoever bills against someone else's Jira. Consultants and agencies invoicing a client at month end, freelancers juggling several client Jiras, finance teams checking what a team logged before it reaches an invoice, and PMs turning a sprint's worklogs into a cost report.
Built for billing from someone else's Jira
Agencies and consultancies
You log time in a client's Jira, not your own, and need a number to put on an invoice at month end.
Freelancers and contractors
One person, several client Jiras, one spreadsheet you currently build by hand every month.
Cross-charging between teams
Time logged against a shared Jira project needs to be split back to the teams that used it.
A finance or PM handoff
Someone else runs the JQL filter and exports the CSV; you turn it into the number finance actually needs.
What it does not do
Stated plainly — including the one Jira itself hasn't fixed.
The date column is when it was submitted, not when the work was for
JRACLOUD-77926 (open since 2017): Jira's export gives no way to tell the two apart. Totals per person, project and issue across the whole file are correct regardless; a day-by-day or week-by-week breakdown would not be, so this tool doesn't offer one.
It doesn't connect to Jira
There's no live sync — a new worklog means exporting and dropping the file in again.
Jira's own export caps at 1,000 or 10,000 rows
The file carries no marker when it's been cut off. This tool flags a row count landing exactly on either cap so you can check your JQL result count before billing from it.
The author is often an account ID, not a name
Jira Cloud's export frequently gives an opaque account identifier for who logged the time rather than a display name. Totals are still correct; the label may need cross-referencing in Jira.
Privacy
The export never leaves your browser.
A worklog export can carry account identifiers and issue summaries — reason enough for this to run the same way every other WorkAlio tool does.
Your export is never sent to a server. The file is read in this browser tab, and no code on this page sends it — our code keeps it here, not the browser. What the browser enforces is narrower: the page's Content-Security-Policy admits only our own origin, Cloudflare's two analytics hostnames and youtube-nocookie.com, for the demo video's YouTube player frame, though nothing is loaded from YouTube until you press play. None of them receives your export.
No connection to Jira. No API token, no OAuth, no app to install into the Jira you're billing against — the input is the CSV file you already exported by hand.
No account, no sign-in. There's nothing to create and nothing to delete.
Your export is not stored. The only things kept between page loads are the rules you write and any change you make to a single worklog, saved under its issue key, in this browser only.
Questions people ask
Answered by what the tool does today.
- What does this Jira worklog report tool do?
- It reads a Jira worklog CSV export and totals the hours by project, by person and by issue, with billable/non-billable rules you write. It runs entirely in your browser and exports a CSV shaped for billing.
- Where do I get the CSV file?
- In Jira's issue navigator, search with a JQL filter for the worklogs you need (for example worklogDate >= startOfMonth()), then choose Export → Export Excel CSV (all fields). Any user who can run that search can export it — no admin permission is required.
- Why doesn't Jira just do this?
- Atlassian's own tracker has the request — JRACLOUD-6137, “Generate worklog report”, 124 votes since 2005 — closed Won't Fix, pointing to the Marketplace instead. Every Marketplace app that fills the gap has to be installed into the Jira you're billing against, which most people doing the billing cannot do.
- Can I trust the dates in this report?
- For a total across the whole file — per person, per project, per issue — yes: summing seconds doesn't care which date is on the row. For a day-by-day or week-by-week view, no: Jira's CSV export carries the date a worklog was submitted, not the date the work was for (JRACLOUD-77926, open since 2017), so this tool doesn't offer that breakdown at all.
- Do I need Jira admin access?
- No. You need to be able to run a JQL search and export the results, which any user with project access can usually do. Nothing is installed into the Jira you're exporting from.
- What if my export is too big?
- Jira's issue navigator caps a CSV export at 1,000 rows historically, or 10,000 since Atlassian raised the limit on 19 March 2025 — and the file carries no marker when it's cut off. If your row count lands exactly on one of those numbers, this tool warns you so you can check your JQL result count before billing from the file.
- Why does the author column show a code instead of a name?
- Jira Cloud's CSV export frequently reports the worklog author as an opaque account identifier rather than a display name — the export itself doesn't resolve it. Totals per person are still correct; matching the identifier to a name may need a look in Jira.
- What does it cost?
- Nothing. There's no account, no trial and no upload, so there's no cost to run it.
Tracking hours in a calendar instead of Jira?
Stop finishing this in a spreadsheet.Drop the export in.
Drop the CSV Jira exported. Nothing to install, no account, no upload.
Free · nothing to connect, nothing to install · your file never leaves the browser