Well okay, but don’t do that? Estimates are estimates, not commitments. You can make it clear that it’s an estimate, that you’ll stay in constant communication re: status/progress, and that costs/timeline could change, and then charge strictly time and materials. If the estimate changes, it changes. Clients who understand this model are my best clients. Clients who view estimates as an unbreakable agreement are my worst. That’s the single biggest differentiating factor between them. It’s usually an indicator that they generally understand software as a practice, and not an outsourced service in the same bucket as lawn care or something.