What is your policy on estimates?
If it takes less time to complete the work than I had estimated, then I charge for the lower amount (I always carefully track my time on tasks throughout the day). If it takes more time simply because I underestimated, then I only charge for the estimate, as a courtesy to my client. Naturally, if I go over budget as a result of the client changing the specifications or technical problems with a third-party service, then I would charge the actual hours. Any estimates are not to be construed as absolute commitments or fixed-price quotations. All work is billable on a time-and-materials basis. If a project is ever taking longer than expected, I keep the client updated on the hurdles that we are facing, how much more work needs to be done, and what our options are. Fortunately, this rarely happens.