According to this hilarious and all-too-true post, no.
On the other hand, it’s possible to emphasize the difference between estimates and quotes, and to provide bracketed estimates that give customers a reasonable idea of what they are in for. I like the practice of providing best and worst-case scenarios plus one in the middle, with percentage odds of each one happening. It is much more realistic and sets expectations better.
Businesses always negotiate for advantage. They would all like a fixed, known, ironclad price because it’s easier to budget and deal with. And it promises (in people’s minds at least) to remove some unknowns. But fixed pricing simply puts more pressure on deadlines or on quality. Software project estimation is a black art, and can never be fully tamed. There is no sense trying to make it something it’s not. Software development is not building a house or installing a sink or landscaping a yard. It’s a very different beast.
Software development is a shared responsibility, a process of ongoing discovery, experimentation and refinement, and few things lend themselves more poorly to flat pricing. And few things are harder to estimate up front. The best you can do is to constantly refine the estimate as you and the customer constantly refine your understanding of the problem the software is adddressing, and the most effective ways to solve it.