Ratecard InvoicesGuide

Getting a month of Jira Cloud worklogs out, without Tempo

Updated 2026-10-11 · by Hieu Tran, written with AI agents and checked against the sources below

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.

Option 1: per-issue worklogs (simplest script)

  1. Find the issues with time logged in the month: JQL worklogDate >= 2026-09-01 AND worklogDate <= 2026-09-30.
  2. For each issue, call GET /rest/api/3/issue/{key}/worklog with startedAfter and startedBefore (UNIX milliseconds), paging with startAt and maxResults.
  3. Write one CSV row per worklog: issue key, author, started date, timeSpentSeconds, comment.

Option 2: everything changed since a date

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.

Option 3: a free app

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.

The 20-worklog trap

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).

More guides