I freelanced a few years and now work in a small consulting/hosting co-op. We have to manage time for dozens of active projects. When it's time to invoice clients, I often end up doing small tweaks on my time-tracker. It used to take me 30 minutes to generate/send an invoice. When I had 2 clients, quarterly invoicing, that was fine. These days I generate around 20 invoices per quarter, 5-10 minutes per onvoice. It includes emailing the client and including a time sheet.
Besides reinventing the wheel (well, partially, because it uses our CRM product), I find it really useful to support Gitlab and Matternost webhooks. I can do "/spend 1h" on the client's issue, and it adds the time in the right project. Similarly I can do "/punch 10:00+1h acme/support [comment]" on mattermost, and it will do the same.
It's overkill for most, but I think good time tracking and invoicing are similar to having a good dev setup. You'll save time and avoid frustration down the road. Freelancer and consulting shops often need to track all those small 15 mins calls and emails, which add up, and sometimes a client will ask where that time went, so it's important to have good reports.
I agree and found that to be especially true with freelancing, since the work time is the effectively basis for the invoice.
One hint for those curious: klog isn’t capable of generating reports (as in a HTML or PDF). But there is the `klog json` subcommand that enables people to create their own, much like in the spirit of what was recently discussed here: https://news.ycombinator.com/item?id=29435786
It’s a great tool in general, though.