If you’re a freelance coder, writer, PR strategist, whatever, then you know how much of a pain in the butt it is to keep track of your billable hours. You also know that there are hundreds of solutions out there that will help you try to solve this problem, ranging from free to exorbitant rates.
Well, if you’re on a Mac, you can create you own little home-grown tracking system using built-in software like iCal and the Automator tool. If you’re not familiar with Automator, it’s a simple drag-and-drop interface that lets you create all kinds of interesting workflows for automating dreary tasks like formatting images and much much more (if you’re interested in learning more, I wrote a book on the subject).
So here’s what you do to create a weekly report of billable time.
- Open iCal and create a category called Billable.
- Whenever you do billable work for a client, mark the time spent in iCal and tag it as Billable. I suggest you put the client name and a brief description of what you did in the iCal notes space.
Next:
- Open Automator (it should be in your Applications folder) and create a new Application. Don’t pick workflow.
- Under Library, click the Calendar category.
- Drag the Get Specified Calendar Items action to the workflow space on the right.
- Click Add and add the Billable calendar to the widget.
- Drag the Filter iCal Events action to the workflow space under Get Specified Calendars.
- From the drop downs, use the date filter to only process events from the last 7 days.
- Drag the Event Summary action to the workflow space under Filter iCal Events.
- Under Library, click Text.
- Drag the New Text File action to the workflow space under Event Summary.
- Provide a name for your text file, a destination (ie, your desktop) and check the box next to Replace Existing Files.
Your new application workflow should look like the screenshot below.
You can test your new workflow by pressing the Play button at the top of the workflow. It should generate a text file with information on anything tagged Billable for the last week in iCal. When you’re happy with it, save the application.
Here’s a download of the billable application in a ZIP file: billable
Now, if you want to automate this process a bit, go to iCal and create a new event called “run billable” and set an Alarm. In that alarm, tell it to run a script. When the dialog box opens, point to where you’ve saved your billable Application! Now just set that calendar event to repeat every week and you’ve got a passable solution for keeping track of your billable hours.



now if i could just figure out how to get ical to quickbooks i would have it made.!
Oh man…..I remember fiddling around quite a bit with Quickbooks XML format a few years ago (okay,more like 5 years ago) and it made me cry like a little girl. Dunno if they’ve made any changes/updates since then.
Great post! I can tell I’ve got some learning to do with Automator.
I wish I could pull out the number of hours worked, instead of just start and end times. Any ideas on that one?
thanks for the post.
It does give you an entry of events, but no total hours. It is kind of hard to figure out what the “billable hours” is without it.
Could you please come up with an idea for it?