Does it make sense to give the potential customer an option when it comes to pricing?
Based on my estimates, the work as described will likely cost HOURS x RATE = ... .The fixed rate would be
I can also offer to do the work for a fixed rate of ....
ESTIMATED HOURS * RATE * SOME_FACTOR
.
Is this a good idea or a bad idea?
The two most common ways to price something are: Cost or Value.
Having an hourly billing rate is pricing by Cost. There is a cost to your time and you're passing that along to the customer. It takes no account of what value they derive from it. For example, if you spent 100 hours at $X/hour to build a product that makes them 100000*$X, they got a good deal, you probably didn't.
Alternatively, if you charge according to Value, it could work better for you. If you can correctly estimate that they're expecting $Y in revenue/savings, you may be able to charge them $Y/2 to split the difference. You may make more, they still save.
The problem comes in with estimating both $Y and your actual Costs correctly. I've seen estimates off by a factor of 10x.. as in it took 10x more work than they expected. It was miserable for all involved.
Until you can estimate the Cost-based pricing very well, stay away from Value-based pricing.
I would try to stick to pay by the hour. It should work out fairest for everyone.
If they insist on a fixed quote still, then just do your estimate like you did and then double it. You can be open with them that you need to include a buffer if it's a fixed quote, and you think it's the best deal for both if you do by the hour.
Some will still go with the fixed quote, others will go by the hour. At this stage, you don't lose either way.