For example front and center is a fixed price tankless heater, which is great. However if the customer has serious plumbing issues which have caused the existing (tank) water heater to fail (for the example corroded pipes), if you replace just the water heater without fixing the underlying issues it could cause the new tankless heater to fail by introducing sediment, etc. into the system.
In the software world this would be akin to asking a contractor to add a new feature to your site without seeing the existing codebase. Seems difficult.
Are y'all just amortizing the cost of these things across all customers or what?