I include material costs with receipts attached when possible. Labor gets broken down by day with what got done. If I subcontract anything out, that shows up as a separate line item. Takes me maybe 10 extra minutes but saves hours of back and forth emails when clients want to know where their money went.
Now I use project codes for everything and track my time in 15 minute blocks throughout the day.
My invoices show the project code, date, time spent, and what I actually accomplished during those hours. Something like “Project ABC - 01/15 - 2.5 hrs - Updated product catalog and fixed checkout bug.”
I also send a quick weekly summary email during longer projects so clients know what’s happening with their money in real time. No surprises at invoice time that way.
A straightforward invoice template is essential. I list the date, hours worked, and a brief description of the work done. This clarity prevents confusion later. Clients like seeing what they’re paying for, and it protects me if they question anything in the future.