Plumbing customers decide on two things: whether they trust you and whether the number surprised them. A clear quote handles both.
Flat rate for anything you have done a hundred times: water heaters, disposals, faucets, toilets. Hourly with a not-to-exceed for diagnostics and anything behind a wall. Say which one the quote is on the first line.
Drywall repair, code upgrades discovered during the job, water damage remediation, anything downstream of the shutoff you were not asked to touch. The exclusions list is the difference between a change order and an argument.
Give one total. Options are fine, but the customer should be able to say your price out loud without looking.
In SkilledTradesAi, tap the mic and say "water heater swap, fifty gallon gas, haul the old one, three hours." The Quote Builder returns this structure with your flat rates and your exclusions already in it.