> Bill by the hour, and absolutely refuse to bill by the project. It's the only way.
Or, bill by the project, but have an actual scope of work with details. Which will help you estimate the project cost and give you cover when something new comes up to increase the project cost.
Customers hate by-the-hour because they don't know what it will cost. Providers should hate by-the-hour because it ripe for abuse by the customer, who assumes you can do anything they want because "it's just another few hours".
Or, bill by the project, but have an actual scope of work with details. Which will help you estimate the project cost and give you cover when something new comes up to increase the project cost.
Customers hate by-the-hour because they don't know what it will cost. Providers should hate by-the-hour because it ripe for abuse by the customer, who assumes you can do anything they want because "it's just another few hours".