How do you handle customers who dispute invoices?

We have been running into this more lately — customers who push back on invoices after the job is done. Not full refusals to pay, but the "this wasn't what I expected" or "you said it would be less" conversations that drag out payment and eat up admin time.

I am curious how other teams are handling this. Do you have a formal process, or is it case by case? And more importantly — what are you doing upfront to prevent disputes in the first place?

Here is what we are trying right now:

  • Technician takes photos at every stage and notes any scope changes in FieldPulse immediately
  • We send a summary with estimated total before finalizing the invoice (when possible)
  • All verbal quotes get followed up with email confirmation — no exceptions

Still getting pushback on maybe 5-10% of invoices though. Would love to hear what is working for others.

  • We went through this last year. Changed two things and disputes dropped to basically zero:

    1. Signature on estimate before work starts — FieldPulse has this, we just weren't using it consistently
    2. Photo requirement tied to invoice — no photos, no invoice sent

    The second one was the real fix. When a customer sees timestamped photos of the work, they rarely argue. The ones who still push back are usually fishing for a discount and we just hold firm.

    Your 5-10% is too high. That is real money sitting in disputes.

  • Hi Gwen — sorry if this is a silly question, but when you say "summary with estimated total before finalizing" — are you sending that through FieldPulse or just emailing separately? We have been trying to figure out the best way to do this because our old system had a quote module but I am not sure if we are supposed to use the estimate feature or if there is something else...

    Also do you find customers get annoyed by the extra emails? I worry about that but maybe I am overthinking. We had a situation last month where a customer said we never told them about a $400 part and it turned into a whole thing with the owner getting involved and now I am trying to make sure that never happens again but I also don't want to make every job feel like a contract negotiation if that makes sense?

    Anyway really appreciate any insight on the actual button or feature to use here!

  • Not a silly question at all — we are using the Estimate feature in FieldPulse, then converting to work order once approved. Email comes from the system so it is tracked.

    And honestly? Customers who are annoyed by clear communication are usually the ones who were planning to dispute anyway. Better to front-load that tension than deal with it after the work is done.

    Pro tip: We started adding a line to our estimate approval email that says "Approval confirms scope and price — any changes will be communicated before additional work begins." Took our lawyer five minutes to review and gives us something to point to.

  • We just stopped doing verbal quotes entirely. Everything in writing. Disputes dropped, but so did our close rate slightly. Trade-off.

    The real problem is technicians giving ballpark numbers in the field. "Oh probably around $300" becomes $450 on the invoice and customer feels ripped off. We fired two guys over this. Harsh but necessary.

  • In my experience the guys giving ballparks are usually trying to be helpful, not shady. But it bites you every time.

    We trained ours to say "I need to check with the office on pricing" and that is it. No numbers, no ranges, nothing. Takes a few weeks to break the habit but it works.

  • The team here has had good luck with a "pre-invoice review" step for anything over $1,000. Dispatcher pulls the work order, verifies photos and notes are complete, then calls the customer to walk through what they will be receiving before the invoice hits their inbox.

    Takes extra time on the front end but collections got faster and disputes basically disappeared. Customers seem to appreciate the heads-up — no surprises.

    Has anyone tried using the customer portal for this? I saw the beta announcement but have not dug into whether it helps with transparency on billing.

  • Paula — great question! The customer portal does include invoice visibility, so customers can see line items and status. We want to make sure you are set up for success with transparency tools like this.

    Happy to connect you with the beta team if you would like to explore how it might fit your workflow. Feel free to DM me.

  • ...or you could just do what Brandon said and require signatures up front. Works fine without adding phone calls to the process.

    Not saying the call is bad, but most of us are already underwater. Simpler is better.

  • Thanks so much for starting this thread Gwen! Really helpful to see how everyone is handling this.

    We are actually dealing with something similar but ours is more about customers disputing labor hours — saying the tech was only there for 2 hours not 3, that kind of thing. Has anyone used the time tracking in FieldPulse to push back on those disputes? Do customers accept that as proof or do they just argue with it? And also does the tech need to记得 to start and stop the timer or does it happen automatically? We have been having some issues with guys forgetting...

    Sorry for all the questions at once! Really appreciate any insight.

  • Deja — tech has to start/stop manually. No automatic tracking in FieldPulse currently.

    Pro tip: We added "check-in photo at arrival" and "check-out photo at departure" to every checklist. Timestamped, GPS tagged. When a customer says "you were only there two hours" we send both photos. Shuts it down fast.

    Also trains your techs to be more aware of time in the first place.