I bill by the week only and generally tie it to functional deliverables. E.g, deliver x feature in y weeks. Instead of going back and forth on how I spent my time, it works better for me to invest the time to scope things out carefully ahead of time. This process also forces clients to think things through earlier on and do their homework on what they’re asking for.