Option 1: Jira's built-in worklog export

Jira's Tempo-free worklog reporting lives under Reports → Time Tracking on most Jira Cloud instances, or via the issue navigator's built-in export. It'll give you a CSV with issue keys, time spent, and the worklog author — but not much else.

What it doesn't give you: billing rates, client grouping, or any formatting suitable for a client. It's raw data, not an invoice input. You'll still need to reshape it before it's usable.

Option 2: JQL filters and issue navigator export

For more control, build a JQL query to scope exactly the issues you need — filtered by project, date range, epic, or label — then export the results.

Example JQL
Filter by project and worklog date
project = "ACME" AND worklogDate >= "2026-07-01" AND worklogDate <= "2026-07-31"

Run the query, open the issue navigator, and use Export → CSV (all fields). This gets you closer, but Jira's export is issue-centric, not worklog-centric — if an issue has five separate worklog entries from different people, the export often needs extra handling to break them out individually rather than summing them.

Option 3: The Jira REST API

For the most accurate data, the Jira REST API's worklog endpoints return every individual worklog entry — author, time spent, comment, and timestamp — without Jira's UI-layer aggregation. This is the same data source tools like WorklogPDF read from via OAuth.

The trade-off is obvious: this requires someone comfortable writing a script or using a tool like Postman, authenticating against Jira's API, and paginating through results. For a technical founder doing a one-off export, it's workable. As a recurring monthly task, it's a lot of overhead for something that needs to happen every billing cycle.

The common thread: every built-in export method gives you worklog data, not invoice data. Rates, client grouping, invoice numbering, and PDF formatting all happen after the export — and that's where most of the time actually goes.

Getting from CSV to an actual invoice

Once you have raw worklog data — from any of the methods above — the remaining steps are the same regardless of export method:

  1. Match each worklog entry to the correct person's billing rate
  2. Group entries by client, if one Jira project serves multiple clients
  3. Sum hours and calculate line totals
  4. Add invoice metadata: number, date, due date, client details
  5. Apply tax (GST for Australian invoices) if applicable
  6. Format as a PDF with your branding

This is usually the slower half of the process. The export itself might take ten minutes; turning a CSV into something client-ready with correct rates and formatting is where the 1–3 hour estimate for manual invoicing actually comes from.

Skipping the manual steps entirely

WorklogPDF does the export and the formatting in one step — it reads worklogs directly from Jira's API (the same data Option 3 above accesses manually), applies your saved billing rates, and outputs a finished PDF.

StepManual export pathWorklogPDF
Pull worklog dataCSV export or API scriptAutomatic via OAuth
Apply ratesManual, per entryPre-configured, applied automatically
Client groupingManual filteringEpic or label filter, built in
PDF formattingWord template, manualGenerated automatically
Total time1–3 hoursAbout 30 seconds

Skip the export-and-reformat cycle

Connect your Jira workspace and generate a client-ready invoice directly from your worklogs — no CSV, no spreadsheet, no template.

Try WorklogPDF free →
Free tier · 3 invoices/month · No credit card needed

Frequently asked questions

Can I export Jira worklogs without admin access?

Yes, for your own logged time and for projects you have permission to view. Full worklog exports across a whole Jira instance typically need project or site admin permissions. Tools that connect via OAuth, like WorklogPDF, only need read access to the projects you explicitly grant.

Does Jira have a native invoicing feature?

No. Jira tracks worklogs but has no built-in concept of billing rates, invoices, or client-facing PDF output. Any invoicing capability comes from a Marketplace app or an external tool.

What's the difference between exporting by issue vs by worklog?

Issue-level exports can hide multiple worklog entries inside a single row, especially when several people logged time against the same issue. Worklog-level exports (via the API) return one row per individual time entry, which is what you actually need for accurate per-person billing.