You need to get out of the mindset of charging for your time. You are charging for the value you create - and time is just a crude approximation of that at best.
What if you gave a client two choices: fixed price for $1,000 or hourly at $100/hour with an estimate of 8-12 hours. They're on the fence, but opt for the fixed price deal. You luck out and knock the work out in 3 hours. Do you feel bad? No. You gave them $1000 worth of value.
Now what if they had chosen hourly? Now you get $300 in exchange for the $1000 of value you delivered. Don't do that.
No, what's going to piss them off is when you deliver $1000 of value, but take 20 hours to do it and charge them $2000. Your goal is to match the value you create with the money they pay. That's how you build lasting profitable relationships.
You're not charging for time. You're charging for software.