We receive quite a lot of requests from users to mark time entries as billable or non-billable. But to be honest, we don’t think this would be a good solution for several reasons.
Let’s imagine there are some extra agreements between a client and a manager that are unknown to task executors. Even if they have this right, they may be overloaded with their primary responsibilities and simply forget to switch the flag. So, there is always a doubt if the time was labeled correctly.
It is much better if this task is given to managers and they change time entry just once at the end of the billing period, however, there is again a high probability of making a mistake. We know that from our own experience as we did similar experiment within our team.
Suppose a team has 10 people who have 7-10 time entries a day. The team works 22 days a month, so simple math shows that there could be up to 1500 entries that a manager should manually review. Who wants to do this job? :)
We strongly believe that the best place to separate and manage billable and non-billable hours are management tools themselves, where you can make/name a separate project for non-billable work. Or you can also use a special tag called “non-billable” to cut time on the task level within a project.
Basecamp doesn’t have tags, but you can create a separate project or use to-do lists for non-billable work.