You either publish one in advance, and lose all chances of negotiating a better deal, or you can negotiate one, where you hold the best cards.
If you publish a price on your website, or in your brochure, it becomes binding in many ways. Psychologically the customer will see this as your maximum price and will try to get a reduction on this. If you’ve tried to be clever, and have inflated the published price, then it might drive away many prospective customers that are initially making a search based on price.
The reality is that price is rarely the only factor buyers take into account. So you can negotiate.