All articles
Startups & BusinessJuly 23, 2026 6 min read

Kill Fees and Deposit Structures: How to Get Paid When Agency Deals Stall

Clients ghost, pivot, or run out of money mid-project. Here's how we structure deposits, kill fees, and milestone gates so the agency doesn't eat the cost when a build stalls out.

Kill Fees and Deposit Structures: How to Get Paid When Agency Deals Stall

Every agency has the same story. A client signs, the team ramps up, sprint one ships clean, and then somewhere around week five the Slack channel goes quiet. A month later you're chasing an invoice for work that's already sitting in their staging environment. The fix isn't better clients — it's better paperwork.

This is a breakdown of how we structure deposits, kill fees, and milestone gates so that when a build stalls (and some percentage always will), the agency isn't the one absorbing the loss.

Why "Net 30 after delivery" is a trap

The default in a lot of agency contracts looks reasonable on paper: 20% deposit, then invoice monthly, Net 30. It works fine when clients behave. It fails catastrophically when they don't.

Here's what actually happens when a project stalls under those terms:

  • You've delivered six weeks of work.
  • You've invoiced two weeks of it.
  • Only the deposit has cleared.
  • The client's CFO puts a hold on "non-critical spend."
  • You're now four weeks of payroll in the hole with almost no leverage.

The root problem is that your cash position lags your delivery position by 6–10 weeks. In a stable engagement that's just working capital. In a stalling engagement it's the whole margin of the project — and then some.

The leverage curve

Your leverage over a client is highest before you've started, lowest right after you've delivered a big chunk of work, and it never fully recovers. Payment terms should track that curve, not fight it.

Rule of thumb: at any point in the project, unpaid delivered work should be less than what you're still holding in undelivered value. If it isn't, you're the one financing the client.

The three-layer payment structure we actually use

We run most fixed-price and hybrid engagements on a three-layer structure. It's not clever, but it holds up when things go sideways.

Layer 1: Non-refundable mobilisation deposit

This is 15–25% of the total contract value, paid before any engineer touches a keyboard. The important word is non-refundable. It covers:

  • Team allocation and calendar blocking
  • Kickoff, environment setup, access provisioning
  • The opportunity cost of turning down other work

If the client cancels the day after signing, we keep this. That's the whole point. Frame it in the contract as compensation for mobilisation and reserved capacity, not as a prepayment for deliverables.

Layer 2: Milestone gates, paid on start not on delivery

This is the piece most agencies get wrong. Milestones should be invoiced at the start of the phase they cover, not on completion.

Example for a 12-week build split into four 3-week phases:

Week 0:  Deposit invoice        (20% of total)
Week 1:  Phase 1 invoice        (20%, due Net 7)
Week 4:  Phase 2 invoice        (20%, due Net 7)
Week 7:  Phase 3 invoice        (20%, due Net 7)
Week 10: Phase 4 invoice        (15%, due Net 7)
Week 13: Final acceptance       (5%, due Net 14)

Notice that only 5% is held back for post-delivery acceptance. Everything else clears while you still have leverage. If a Phase 2 invoice goes unpaid past Net 7, you pause work before Phase 2 is finished — not after you've delivered it.

Layer 3: The kill fee

This is the clause that saves your quarter when a client pivots. It says: if the client cancels or indefinitely pauses the project after signature, they owe a defined amount above and beyond work delivered.

We typically structure it as:

  • 0–25% into the project: kill fee = 30% of remaining contract value
  • 25–75% into the project: kill fee = 20% of remaining contract value
  • 75%+ into the project: kill fee = 10% of remaining contract value, or full completion, client's choice

The fee decreases as the project progresses because your team is easier to redeploy earlier. It also gives the client a rational off-ramp — they know exactly what walking away costs.

What counts as a "stall" in the contract

Clients rarely say "we're cancelling." They say "let's pause for a couple of weeks while we align internally." Two weeks becomes two months. Your engineers are on the bench. No invoice is triggered because technically the project is still active.

Define this explicitly. Our current template uses language along these lines:

A Client Delay occurs when the Client fails to provide required inputs, approvals, or access within five (5) business days of a written request, or requests a pause in active development. After ten (10) consecutive business days of Client Delay, the Agency may either (a) continue billing at the agreed rate as if work were proceeding, or (b) treat the engagement as terminated by the Client and invoice the applicable kill fee.

That clause has done more for our cash flow than any pricing model change. It removes the ambiguous middle ground where you're neither working nor getting paid.

Fixed price vs T&M: the payment terms are different problems

On time-and-materials engagements the mechanics change but the principles don't.

T&M-specific protections

  • Weekly invoicing, not monthly. Monthly T&M invoicing on Net 30 means you're up to 60 days out on the first week's work. Weekly with Net 7 keeps exposure to about two weeks.
  • Rolling retainer prepayment. Client keeps a two-week retainer topped up. When it dips below one week, they refill. When it hits zero, work pauses automatically. No awkward conversations.
  • Minimum monthly commitment. For "flexible" T&M arrangements, define a floor (e.g. 60 hours/month minimum billed regardless of actual usage) so the client can't ghost the team for a month while keeping them reserved.

T&M feels safer than fixed price because you bill what you work. It isn't. Without a retainer buffer or a minimum, T&M just spreads the same cash flow risk across more invoices.

Handling the objection

Clients — especially non-technical founders — will push back on kill fees and start-of-phase invoicing. The pushback usually sounds like "we don't pay for work we haven't received."

The honest answer: you're not paying for work, you're paying for a reserved team. If we hold four engineers for your project for three weeks and you pause on day three, those engineers still got paid and we still turned down other work. Either the deposit and kill fee cover that, or our next client subsidises you.

Most reasonable clients accept this once it's framed as capacity, not deliverables. The ones who don't accept it are exactly the clients who will stall the project — which is why the clause exists.

When to soften the terms

We do flex on this for:

  • Repeat clients with a clean payment history (two+ prior engagements paid on time)
  • Engagements under about six weeks total, where the whole project is basically the deposit
  • Deals where we're taking partial equity and have accepted the risk elsewhere (see our earlier writing on equity for build work)

For a first-time client on a three-month-plus build, the full structure stays.

The uncomfortable truth about enforcement

A contract clause only matters if you'll actually enforce it. We've walked away from kill fees on maybe one in five stalled projects — usually because the client is a strategic relationship, or because litigation cost exceeds the fee.

That's fine. The clause still does its job. It sets the anchor for the renegotiation. "You owe us £48,000 under the kill fee, but we'll settle for £20,000 and a clean exit" is a very different conversation from "please pay the last invoice."

Where we'd start

If your current contract has a deposit and Net 30 monthly invoicing and nothing else, do three things this week:

  1. Add a mobilisation deposit clause that explicitly calls the deposit non-refundable and tied to reserved capacity.
  2. Move milestone invoices to start-of-phase, Net 7. This one change compresses your cash exposure more than anything else.
  3. Write a Client Delay clause with a defined trigger (five business days, ten business days, whatever fits) and a defined consequence.

The kill fee tier can come next quarter. Start with the delay clause — it's the one that stops the slow bleed. If you want a second pair of eyes on how this maps to your specific engagement model, our services team sees enough contract structures to spot the gaps quickly.

Good paperwork won't save a bad client relationship. It will make sure the bad ones cost you less than the good ones earn you.

#agency operations#contracts#pricing#cash flow#client management

Want a team like ours?

72Technologies builds production software for the kind of teams who actually read this blog.

Start a project