Ask HN: How do you invoice - especially you freelancers out there?

Hi guys, I'm a relatively young bloke who does some freelance web development around my university and part-time job. This mainly means me either working from home, or driving out to an office or house with my laptop.

I'm interested in a simple invoicing solution which generates a professional PDF. I don't mind if the solution is a downloadable program or webapp, however something which I can have running real-time that takes away the burden of monitoring my time would be great, especially if it's integrated and not in itself a separate application. Something that goes further and monitors time spent on a single task would be great too, both for me so I can evaluate time management, and for the customer so they have a much more detailed invoice and are better able to see where their money is going.

So, how do you guys invoice, and (if you have time to detail further) what would you suggest for my circumstances?