Collect the final payment before the truck leaves the site, not after. The moment you demobilize, your leverage is gone — the client has the finished work, you have an invoice, and every day after that is a negotiation you're losing.
The reason final payment gets stuck isn't that clients are dishonest. It's structural. Throughout the job you hold something they want: the next phase, the next crew, the certificate of completion. On the last day, that flips. Now they hold something you want — the money — and you have nothing left to trade for it. You've spent your leverage down to zero right when you need it most.
So the fix isn't chasing harder after completion. It's making sure the final payment is already committed before you reach completion.
Stop treating final payment as a post-completion step
Most contractors structure a job like this: deposit, progress draws, then final invoice on completion. That last line is the problem. "On completion" means the client evaluates whether to pay you after they already have the finished product. You've handed over your only chip and then asked nicely.
Restructure the tail end so the final amount isn't sitting in the client's bank account waiting on their goodwill. Move the last payment into a committed state before you do the last 10% of work. The client funds it, it's locked, and it releases on the agreed trigger — punch list signed, final walkthrough done, whatever the contract says.
The difference is subtle but total. In the old model, you finish and then hope they pay. In the new model, the money is already set aside, and finishing the work is what unlocks it.
The invoice you send after the job is done is the weakest document you'll ever produce. It's a request. What you want is a release.— GC, commercial interiors
How milestone and escrow structures actually solve this
An escrow or milestone-based setup does one thing that a net-30 invoice can never do: it separates the client's decision to pay from the client's ability to delay paying.
When the final payment is funded into escrow at the start of the closeout phase, the client has already parted with the money psychologically and literally. It's committed. Your job shifts from "collecting" to "triggering a release" — and triggering a release is a documentation task, not a confrontation.
Structure it in tiers. A funded deposit to mobilize. Progress milestones tied to verifiable completion — not calendar dates, which get argued over, but deliverables you can photograph or sign off. Then the final tranche funded before demobilization, releasing on the final walkthrough. Each one is pre-committed, so at no point does your leverage collapse to zero.
The secondary benefit is that this filters your clients. A client who won't fund the final milestone before you finish is telling you something about how the final payment would have gone anyway — while you still have crew and time to respond, instead of after you've packed up.
What to change on your next contract
You don't need to renegotiate everything. Three edits handle most of it.
First, rename "final payment on completion" to "final payment funded before closeout, released on walkthrough." That single language change moves the money forward in time.
Second, tie every milestone to a verifiable event, not a date. Dates invite disputes; deliverables don't.
Third, make the funding step a precondition for the closeout phase — the last work starts once the last payment is committed, not before.
Do this consistently and the stuck-final-payment problem stops being a recurring event. It becomes a scenario your contract already resolved before you ever picked up a broom to sweep the site.
If you want to see how this milestone-and-escrow structure gets built into the way you already run jobs — deposits, progress draws, and a funded final release — the contractor plans lay it out.