How we use Clockify to track time and bill clients
Last updated on: December 23, 2021
In addition to developing Clockify, we also do custom software development for clients. And because we bill by the hour, our whole team needs to track time.
Here’s how we use Clockify to solve all our needs – from project management and time tracking to client billing.
How we organize and manage projects
For project management, we use Trello. There we manage all our tasks and to-dos, as each project is a separate Trello board. It’s a very simple but robust project management tool that helps us track what needs to be done and who works on what.
We also have the same projects in Clockify, but we don’t try to recreate tasks from Trello in Clockify. When tracking time, we simply put the name of the Trello card in the time entry’s description, add the card ID at the beginning (so we can later reference it), and attach a project. This way, we don’t have administration overhead but still have all the data we need in reports.
When naming projects in Clockify, we include client name in the name of the project so they’re easier to spot. For instance, if we have a client ACME Inc, we’ll name the project ACME.com or ACME app.
In Clockify, we also have some additional internal projects for which we track time, like: Accounting, Clockify, and a project called COING Related for all the miscellaneous items (like training, presentations, documentation writing, meetings, interviews, etc).
Generally, we prefer to use tags instead of tasks in Clockify to indicate the type of activity (eg. Design, Development, QA). This helps us find out how much time we spend on each type of activity in reports, as tags work across projects (unlike tasks, which are project specific).
How our team tracks time with Clockify
We use Clockify in a trust-based manner. This means there’s no one who checks if you’ve really worked on what you say you’ve worked on. We let the results speak for themselves and not the timesheet; and besides, we wouldn’t hire someone we don’t trust in the first place.
Everyone has a different style of tracking time. Some people track time using a timer because they like the personal accountability that the timer brings. While others enter all their time at the end of the day manually.
Those who enter time manually, some provide a detailed breakdown of their whole day (1.5+2+1.5+4h) while others simply create a one 8h entry where they list the one big thing they’ve worked on the whole day.
How someone tracks time doesn’t really matter, as long as all the 40 hours in a week (including breaks) are accounted for.
If someone forgets to log their targeted 40h, they’ll get an automated email from Clockify each Monday, reminding them to enter their missing hours.
Most of our team tracks time using the web version. However, the people who use the timer prefer to track time from one of the apps (desktop, mobile, or the browser extension).
We generally don’t have strict guidelines on how a time entry should look like. On client projects, there are some rules, due to client request (eg. each time entry description needs to correspond to an item in Trello), while on internal projects the rules are looser.
But what each time entry in the workspace needs to have filled out are the description field and the project field, because: 1) we need to group all time by project for billing, and 2) we need information what someone worked on specifically.
We’ve put those two as required fields so no entry can be created until it has both. Why? Sometimes people either forget to add them, or leave them for later and then forget what the time entry was initially for. This way, there’s a bit more overhead but reports are correct and people don’t have to try to remember what they’ve worked on.
The main reasons why we track time is because, at the end of the day, we need to know two things:
- Who worked on what this month and can they be reassigned to some other project?
- How much to bill the client at the end of the month?
Who can see and do what in Clockify
Although people are free to track time how it suits them the most, there is a point after which all changes and additions are final. At the end of each month, we lock the timesheets for the previous period so all the past entries can’t be edited any longer.
The main reason why we lock timesheets is to preserve data integrity. Once we invoice the client, the data should stay as it is. When we lock timesheets, we can be sure that there are no accidental subsequent changes, and to prevent the situation where the data in Clockify doesn’t match the data in our invoices.
Our team doesn’t have any problem with this because everyone knows that they need to get their timesheet in order before the end of the month, plus there are automatic emails each week reminding them to add the missing time.
The whole time tracking process is trust-based, so there’s no need for time approvals. Instead, the admin can see in real time who tracked how much time; if there’s something wrong, they can directly edit that time in the Detailed report and personally let the team member know about the change if necessary (it’s always a bad idea to automate personal things like this).
If there are no edits and timesheets are locked at the end of the month, all time is automatically considered to be approved.
Everyone in the company can see all time entries and what others worked on. Although Clockify has the ability to limit who can see what time entries, we don’t use that setting because there’s no point in hiding this. People know who works on what either way, and this would add a barrier and increase communication overhead.
We also keep all our projects public, which decreases the bureaucracy for admins. Although we only have one admin who can change other people’s time and manage hourly rates, we do grant manager role on some projects so team leaders can track the status on their project and edit other people’s time on their projects if necessary (without having to constantly contact the owner when they need to make some small fix).
Since we don’t have that many new projects each day, we’ve set “Who can create projects” to Admins. If we had a new project each, we’d set this to Everyone.
Although we have people divided into user groups (designers, developers, administration), we don’t use user groups that much since projects are already public.
Client management and reporting
We have defined hourly rates for each project. This way, we can see at a glance how much money we’ve earned per project, as well as see how much time we spend on billable vs non-billable activities at a glance per week. Of course, because hourly rates are sensitive business information, the “Who can see billable rates” setting is set to Admin.
We’ve set that all new projects are by default billable, and later override that setting for internal projects. When a project is set as billable, all time entries are automatically marked as billable when a project is attached to a time entry. This way, people don’t forget to mark a time entry as billable by accident.
At the start of each month, we lock timesheets for the previous month and run the Summary report:
- We run one report for internal project management purposes, where we group time by user and subgroup by project, to see who worked on what and track workload
- We run a report for each client, where we filter by the client, and group the entries by project and subgroup by description. This way, clients can see a detailed breakdown of what our team worked on if they’re interested.
We export each report in PDF and send to the client for review. There they can see a detailed breakdown of who worked on what and for how long. After they review the time, we send them an invoice with just one line item for the provided service (no need for a detailed line-by-line breakdown as they can see it in the time report).
If we work on a project with different billable rates (eg. $100/h for design and $120/h for coding), we break down a project by task and itemize the invoice for each activity (eg. 10h of design * 100/h).
Before we run any report, we turn on time rounding up to 15 minutes and disable seconds. This way, reports look much cleaner and are easier to review.
We also have our company logo uploaded in workspace settings so each PDF export contains the logo in the corner.
Once the project ends, we archive it so it doesn’t clutter the project page or the project picker.