I'm a self-employed freelancer. I set up an Excel file for each of my clients. One worksheet covers one month, with vertical columns for the date, the task, hours worked per day (9:00-2:30 for example), and notes.
Horizontally, I divide the month up into weeks, and I have a running subtotal for hours worked per week, and hours worked per month, and is one (nice!) case, hours worked per year.
I bill in 15 minute increments.
Sometimes I submit the Excel file with my bill, depending on the client and the kind of arrangement we have - ongoing vs. short term, hourly vs. a set fee, etc.
I keep a file like this even if I am working for a set fee, so I can see how good (or bad!) my estimate was.
Works for me.