The builder saw the price for the first time on the invoice

An electrician posted on r/electricians after handing a regular builder an invoice for a small addition. The builder was shocked, and the electrician was left unsure whether their pricing was off.

The builder was someone they had a good working relationship with. That made it worse, not better. You expect a regular to trust your numbers, so when they push back it stings, and it is easy to start second guessing your own rates.

You may know the pattern. You send the invoice after the job is done, the builder goes quiet, then starts pushing back on a price you thought was already agreed.

The real issue here was not the number. It was that the builder saw that number for the first time after the work was finished. When a price lands cold, people push back on it, even if the work was done properly and the rate was fair.

So the thing to fix is the moment the price is seen, not the rate itself.

Quote the job before you start, even for your regular builder

If you do add on jobs for a regular builder on a handshake, send a short fixed price or estimate before you start. Every time.

It does not need to be long. A quote in ServiceM8 that lays out what the job is and what it costs, sent before you touch the tools, means the builder has already agreed to the number. There is no surprise waiting in the invoice, because they saw the price first.

This applies even to builders you have worked with for years. Familiarity is not an agreement on price. The longer the relationship, the easier it is to skip this step, and the more it hurts when the invoice causes friction.

Use saved bundles so the paperwork does not blow out

One problem with sending a quote first is listing every fitting and consumable without turning the invoice into five pages. A five page invoice is not the fix.

Saved bundles in ServiceM8 solve that. You set up a bundle once for the kind of job you do, with the consumables and fittings priced into it. From then on, you add the bundle to a quote or invoice instead of listing each item.

The customer sees a clear line, not a parts list. You get consumables priced in properly without the paperwork blowing out.

Get variations approved on site, before the work

Jobs change once you are on site. That is normal, and nobody expects otherwise.

What causes the invoice shock is a variation that gets done but never agreed. If the job grows past what was quoted, stop and get a quick approval for the new price before you keep going.

It does not need to be a formal process. It needs to happen before the work, not after. Something as simple as this does the job:

The job has grown past what I quoted. The extra work is [what it is] and the new price is [amount]. Happy for me to go ahead?

A variation approved on the spot is a job the builder already expects the invoice for.

Keep a price list so the invoice matches the quote

Keep a price list for the jobs you do often, so every invoice matches what was quoted from job to job.

If your rate for the same kind of add on work moves around without the customer knowing why, that is what erodes trust, not the rate itself. A consistent price list, used with your saved bundles, means the quote and the invoice always line up.

That way the builder is not comparing this invoice to the last one and wondering why it is different.

The structure that gets a quote under five minutes is bundles, not line items. I start by listing the 15 to 25 jobs the business actually quotes week to week, then build each one as a single bundle that carries the labour, the usual materials and the standard inclusions at one agreed price. The individual price list items still sit underneath, so cost and margin are tracked properly, but the tech never assembles a quote from parts. On site they open the job, tap the bundle, adjust a quantity, add one or two extras that are set up as optional items, and send it before they leave the driveway. The customer facing description is written as the outcome the customer is buying rather than a parts list, which is also what makes it readable on a phone.

The dispute protection comes from the same setup, because the bundle text becomes the quote text and the quote text becomes the invoice text, so what the customer approved and what they are billed are the same words. Inclusions and exclusions live inside the bundle, photos go on the job, and the quote is accepted digitally with a timestamp. A five tech plumbing outfit I worked with was losing about one invoice a month to the same argument, that a hot water system swap was quoted as a price but the invoice came back with extra hours and a tempering valve on it. We built three hot water bundles, one per unit size, each with the valve, the disposal of the old unit and a two hour allowance written into the description, and anything beyond that set up as an optional item the customer ticks before accepting. The arguments stopped, and the quotes started going out from the van instead of at nine o'clock that night.

Fix how the price was agreed before you touch your rate

If a builder pushes back on your invoice, that is not proof your rates are wrong. It is a sign of how the price was agreed, not what the price was.

Before you cut your rate, look at whether the customer saw the number before the work started or only after. Then fix the process first, in this order:

  1. Quote it before you start, even for a regular builder.
  2. Bundle the consumables so the quote stays short and clear.
  3. Approve variations on site, before the extra work.
  4. Keep your pricing consistent with a price list.
A before and after flow. Before: job done, invoice sent, builder pushes back. After: quote it first, bundle the consumables, approve variations on site, and the invoice matches the quote.

Moving the price to before the work stops the invoice from being a surprise.

The electrician on Reddit was left wondering if their pricing was off. Most of the time, the rate can stay exactly where it is. What changes is when the builder sees it.