I'm a freelance instructional designer (technical writer), and I regularly submit invoices to clients based on the number of hours I've worked on a particular project. OfficeTime pretty much automates this process, and I can't imagine working without it. Plus, the companion OfficeTime iPhone app lets me track time when meeting and working with clients on location. I have to do a little bit of work up front to set up each project, then it couldn't be easier.
One OfficeTime feature that I'd like to see is the ability to create different sets of categories, with different pay rates, based on a specific client. The workaround, for now, is to create category variations with different pay rates, such as, "Design @ $60" and "Design @ $45," for which the pay rates are $60/hr and $45/hr, respectively. I'd rather be able to create categories (design, meetings, admin, etc.) and assign specific pay rates to those categories based on a particular client, but this is a minor inconvenience that is far outweighed by OfficeTime's ability to automate time tracking, generate reports, and create invoices. One more minor complaint: OfficeTime doesn't play nice with TextExpander, which is another invaluable tool that I (and probably many other freelance writers) use whenever I'm typing on my Mac.