What if it takes more than Y? What if you weren't able to expect the true scope of the project? What if the customer isn't cooperative and wastes your time? What is considered a reasonable delivery? How many bugs do you continue to fix for free without charging more? How many changes to you put in your design without charging more?
Working at an hourly rate saves a lot of legal and contractual headaches. Its also critical when you're working with an agile company that has constantly changing needs and expectations.
You can also win more work because some clients aren't comfortable with the undefined nature of hourly work, and prefer to pay a fixed price for a service so they can budget accordingly and not get any surprises at the end of the month...
(And sometimes, we really weren't sure, in which case we wouldn't do the job for a fixed fee.)
No problem there. Educate your clients. Tell them if it takes significantly longer than expected you will come back to them. Tell them it is not likely but you want to be straight from the beginning.
It's one thing if the project is delay because of you. Its another thing if the project is delayed because their backend guy hasn't fixed a few bugs and you're stuck creating ugly workarounds in the client code.
I see a lot of value in putting a price tag on deliverables. Do you mind if I reach out over email to ask for some advice on making the switch?