BusyCal includes several features that make it easy to track the amount of time you spend on various projects. Using a combination of Tags, Smart Filters and the List View, you can generate a custom view that displays the total amount of time spent on a project for calculating billable hours, etc.
For example, to track the amount of time spent working on the xyz project each month, do the following:
2. List View
Select the List View, choose a Month date range from the popup menu on the top left, then control-click on the column header area and add these columns: Duration, Total Duration, and Tags.
3. Smart Filters
Create a Smart Filter that remembers the current view settings and displays only events that contain the xyz tag.
Now, whenever you invoke this Smart Filter, it will switch to the List View, display only events that contain the xyz tag, with columns showing the Duration of each event and a running Total Duration for all events.
Thanks to Sid O'Neill for inspiring this post.