We wanted billable time in the same place where the team logs and approves its hours, so in Timesheets for Jira 7.13.0 each worklog is billable, partly billable or non-billable. On top of that, billing accounts group the work per client, and the billable hours come along into approvals and into the export. There is also a new Billable report with each person's billable utilization, and like the rest of the app it is free on the Marketplace.
Billable hours in Jira, set on each worklog
Jira time tracking has no billable field on a worklog, so to track billable hours we put the state on the worklog itself, because one issue can hold billable and non-billable work.
You pick the state in Log time, Edit worklog or the Timesheets panel on the issue, and for partly billable time the written-off part is counted apart from internal time. Most worklogs never need that choice, because Jira admins set defaults per project, issue type and issue.
Billing accounts per client
Billing accounts belong to a client, so the team timesheet grouped by Client > Account gives a per-client breakdown you can check against an invoice.
Billable utilization report
Reports > Billable divides each person's billable hours by their capacity, which is the team's working hours minus holidays and absences, so a week of leave does not pull anyone's figure down. Managers set a team target, and each row shows the gap to it.
Billable hours in timesheet approvals and export
In Approvals each submission shows its billable share under the hours, for example "38% billable, 1.0h written off", so the approver knows what will be billed before signing off, and approvallocks the worklogs together with their billable state. The export has separate billable, non-billable and written-off columns plus client and account.
Timesheets for Jira is free on the Atlassian Marketplace, so you can install it and set the defaults for your projects, and the full setup is in the billable time documentation, or ask here in the comments.