Best Practices for Tracking Billable Hours

Billing your clients or customers for invoicing is a common reason to use Tempo accounts. There are different ways that you can track billable hours depending on how you want to work and what kind of data you eventually want to get out of a report. You can:

  • Use both billable and non-billable accounts

  • Use the Billable hours field in the Log Time form

So, what's the difference between these methods and what are the advantages of each? Read on and find out!

Using Billable and Non-billable Accounts

It's generally good practice to use accounts to organize the different types of work that your company does. For this reason, many people like to create separate accounts for billable work and non-billable work as a good way to identify each one when logging time, and especially for easily generating reports. Using accounts, you can list out buckets of work (contracts) across several Jira projects.


Once you have created accounts, you can add more information to them that gives you a depth of useful data for reports, and subsequently invoices:

  • Customers - Link customers to one or more accounts which is useful when you have several customers on the go. For example, each of your customers can have both billable and non-billable accounts. Having customers linked to accounts also gives you more options for filtering data in reports.

  • Account Category of a certain Type - Each account can have an Account Category that is of a certain Type: Billable, Internal, Capitalized, and Operational. An Account Category gives you yet another option for filtering data in reports, such as for accounts with an account category that is of the Billable Type.

  • Account field - Add the Account custom field to Jira issue screens which adds an Account dropdown in Jira issues. Then you can select and link a specific account to that issue. This way, all time logged to that Jira issue is automatically assigned to the Account specified there. Note that you must first link the account to the relevant Jira project in order to make that account available in the Account field in the Jira issue.

  • Account attribute - Create an Account work attribute which adds an Account dropdown in the Log Time Form. This way, a specific account can be linked to a time record when employees log their time. If the Account was already selected in the Jira issue, the same account is automatically selected in the Account dropdown in the Log Time form. See Using the Account Custom Field vs the Account Work Attribute for more information.

See the Tracking Billable and Non-Billable Hours Using Accounts tutorial to follow an example of how this method works.

Using the Billable hours field in the Log Time form

The Billable hours field gives you a simple way to track billable hours: at the Jira project level, only those with the Set Billable Hours permission will see this field in the Log Time form. This control over who is allowed to bill their hours can help you get more accurate data for invoicing.



The hours in the Billable hours field default to the same number of hours logged in the Duration field, so remember to adjust the number of Billable hours - for example, only 6 out of 8 hours worked might be actually billable.

While using the Billable hours field on its own to track billable hours is very easy to set up, it doesn't allow for more metadata that is useful when running reports. That's why many organizations use this field in addition to a billable account. As mentioned above, having a billable account opens the door to getting a richer set of data for reports: you can link a customer, account category, Jira issues, and even time records to that billable data.

In fact, it's not possible to filter a report by Billable hours alone. In the Logged Time and Planned vs Actual reports, you can add the "Billable" column, but the billable data can only appear according to the filters and grouping in your report - that is, you need to first filter a report by criteria such as customer, account, or account type.

See the Tracking Billable Hours Using the Billable Feature tutorial to follow an example of how this method works.

In summary:

  • Having both billable and non-billable accounts is useful for getting clean reports on each type of data, and also generally for organizing your logged time data for clarity. Accounts are powerful tools that let you add supporting data such as customers and account categories of certain types, and you can also link accounts to Jira projects which then lets you associate an account to Jira issues and/or time records.

  • The Billable hours field is easy to set up across your Tempo instance and you can control who can bill their time. However, this field is even more effective when you use it in conjunction with a billable account - you're going to get better data for reports that you need for invoicing. And associating billable data to a customer via an account makes lots of sense!