I have had this problem as we all have. One never knows just exactly how long it will take to do most things on a website. It is really hard to give an exact estimate. All of us have lost our shirts on some work we have done. Seems to be happening more and more with clients seeing those $5.00/hour adds from India.
One thing I don't do is charge for learning. What I learn adds value to my services but that makes it hard to 'estimate'.
Anyone here have any thoughts on estimating? How do you estimate something that you have never done?
Do you add a little extra to each quote for all the times you have lost money on projects? Will that put you out of the market?
I've been designing websites for over 15 years. Here is what I would do:
Call him - no email. Let him know why it took so long - in terms he would understand. Don't 'Tech' him to death. Then tell him you like working with him and want very much to keep him as a customer. Give him the least price you will take to settle. Loose some on this invoice. Make it up on the next estimate to him. Add a little in to future estimates to him to make up for this loss.
The worst thing you can do is leave him with a bad taste for you. I will guarantee you it will cost you 10 times in lost revenue when he talks to other potential clients. One Bad Apple............
Stroke him. Make him happy and then make it up later on future work with him. That is what has worked for me.
I would still like to hear from anyone with idea's on how to estimate without loosing your shirt though.