To bill a client you need every worklog for the month: who, which issue, which day, how long. Jira's issue search finds issues with time logged (JQL worklogDate), and its CSV export shows time totals, but neither gives you a clean list of individual worklogs for a date range. Here are the ways that do, and the check that stops you under-billing.
Free tool: Worklog CSV → client invoices with dated rates, plus Xero and QuickBooks files
Runs in your browser. Works with Tempo exports, Jira CSV exports with Log Work columns, or any CSV with person, date and hours.
worklogDate >= 2026-09-01 AND worklogDate <= 2026-09-30.GET /rest/api/3/issue/{key}/worklog with startedAfter and startedBefore (UNIX milliseconds), paging with startAt and maxResults.timeSpentSeconds, comment.GET /rest/api/3/worklog/updated?since=… returns the IDs of worklogs updated after a time, 1,000 per page, oldest first (it skips the last minute). Send the IDs to POST /rest/api/3/worklog/list, up to 1,000 at a time, for the details, then filter on the started date. This also catches worklogs someone edited after you last billed. Both only return worklogs your account is allowed to see.
Marketplace apps such as Worklog Pivot export raw worklog rows for a date range as CSV. Check the install count and support status before relying on one for billing.
If you, or a script, read worklogs from issue search results, each issue carries only its first 20 worklogs; a developer forum thread shows maxResults: 20 with a total of 32. Busy issues are exactly where you lose billable hours. Always fetch each issue's worklogs separately (option 1), and before invoicing, compare the hours per issue with the issue's own Time spent.
Free tool: Worklog CSV → client invoices with dated rates, plus Xero and QuickBooks files
Runs in your browser. Works with Tempo exports, Jira CSV exports with Log Work columns, or any CSV with person, date and hours.
How do you get hours out of Jira for client invoices today, and what went wrong the last time?
We're researching this problem and read every answer. Tell us what happened (4 short questions, no sign-up; AI tools help us read the answers).