12 Jun, 2026 | 7 min read

Milestone billing and acceptance gates in software delivery

Zara Chechi
Zara Chechi

In fixed-scope software delivery, payment is often tied to acceptance. The client agrees to pay for a milestone only once they have reviewed the deliverable against the agreed acceptance criteria and signed it off. Discovery, a design phase, a working module, a finished integration: each becomes a gate, and the invoice for that gate cannot go out until the gate is passed.

On paper that feels fair to everyone. In practice it pushes timing risk onto you, because you have already paid the developers, designers and testers who built the milestone weeks before the client gets round to accepting it. This guide explains how acceptance gates create a cash-flow gap, why an upfront deposit only partly covers it, and how to keep your team paid while you wait for sign-off.

A business account built for IT services firms

Open your account
A business account built for IT services firms

How acceptance gates work

An acceptance-gated contract breaks the engagement into deliverables, each with its own criteria for what counts as done. You build the milestone, submit it, and the client tests it against those criteria. Only once they confirm it meets the bar can you raise the invoice, and only then does the payment clock start, often with net terms layered on top.

The mental shift is the same one that catches firms out elsewhere: the milestone fee is not money you have, it is money you are scheduled to receive if and when the client signs off. Until acceptance is formal, that payment is not yours, and nothing obliges the client to release it early because your payroll run is due.

Where the cash gap opens

The danger lives between finishing the work and getting it accepted. Sign-off slips for reasons that have nothing to do with cash: the client stakeholder is on leave, a reviewer raises subjective objections, the acceptance criteria were written loosely and now invite debate, or the milestone genuinely needs rework. Every one of those delays your invoice.

Meanwhile your costs do not pause. You have paid salaries, contractors and tooling to produce the deliverable, and those went out the door while you were building, not when you got paid. A single contested gate can open a gap of weeks, and a firm running close to the line has no buffer to absorb it. Tight, testable acceptance criteria in the contract are your best defence, because they leave less room for a payment to stall on opinion.

Why the deposit only partly covers it

The usual cushion is an upfront deposit or a paid discovery phase. It helps, but it rarely closes the gap on its own. A deposit is sized to commit the client and fund the early work, not to pre-fund every team cost across the whole project. By the time you are deep into the second or third milestone, the deposit is long spent and you are once again carrying weeks of cost against an invoice you cannot yet raise.

It also matters how you treat the deposit. Spending it as general operating cash early on feels efficient, but it removes the very buffer you will need when a later gate slips. The deposit is most useful when it stays earmarked, drawn down deliberately against the work it was meant to cover rather than blended into one balance and quietly consumed.

Reserving team cost against each milestone

The practical defence is to plan around acceptance dates, not the headline contract value. Map the team cost of each milestone, the people-weeks you will spend to build it, and set that against when you realistically expect sign-off plus payment terms. The months where a delayed gate would leave you unable to make payroll are the ones to protect with a reserve.

Keeping each milestone's money logically separate helps you see the position clearly. When you know exactly how much of a milestone fee remains and what it is reserved for, you make better calls about committing to a new subcontractor or starting the next phase early. Pooling everything in one account blurs that picture and tempts you to spend cash that is already promised to a cost you have incurred.

How Altery fits

Acceptance-gated billing is a timing and discipline problem, and that is where Altery's accounts can help. You can ring-fence the cost of each milestone in a dedicated pot, separate from your general balance, so the cash to cover the team building that deliverable is set aside before the gate is passed rather than spent and missed. You can hold an upfront deposit in its own pot too, drawing it down deliberately as the work is earned instead of blending it into operating cash.

If a client pays in USD, EUR or GBP, a multi-currency account lets a foreign-client milestone land cleanly in the currency it was billed in, so you convert on your own timeline rather than at the moment it arrives. Real-time balances show where you actually stand against an upcoming payroll run, and mass payouts let you pay your team from a controlled balance once a gate is secure. Altery is not a bank and provides general information, not advice; how you structure deposits, milestones and acceptance criteria is something to confirm with your own adviser and your client contract.

Frequently asked questions

Because you pay the team to build a milestone before the client accepts it. The invoice cannot be raised until sign-off, and payment terms then run on top, so your costs go out weeks before the related cash comes in. A slipped or contested gate widens that gap.

Only partly. A deposit is usually sized to commit the client and fund early work, not to pre-fund every team cost across the whole project. By later milestones the deposit is often spent, so you are again carrying cost against an invoice you cannot yet raise. Keeping the deposit earmarked rather than spent early preserves the buffer.

Write tight, testable acceptance criteria into the contract so there is less room for a payment to stall on subjective objections, and agree clear review windows. Then plan your runway around realistic acceptance dates plus payment terms, not the headline contract value.

As working capital with a job to do, not as profit. Reserve the cost of building the next milestone before committing to new spend, and keep each milestone's money separate so you can see what remains. This is general information, not financial advice.

This guide is general information to help IT services businesses and is not financial, tax or legal advice. Altery is not a bank. Check your own circumstances before acting.

Run your consulting and delivery finances from one account

Open your account
Run your consulting and delivery finances from one account

Keep reading

13 Jun, 2026 | 7 min read

Matching your billing model to your cash flow

Time-and-materials, fixed-price and milestone billing each load your working capital in a different rhythm. Choosing the wrong one for your firm can starve cash even on a profitable project.

Zara Chechi Zara Chechi
15 Jun, 2026 | 7 min read

Ring-fencing client and project funds for clear profitability

When prepaid budgets, reimbursements and licence pass-throughs mix with operating cash, per-client profitability becomes guesswork. Here is how to separate it.

Zara Chechi Zara Chechi
06 Jun, 2026 | 7 min read

How FX moves erode margin on fixed-price builds

A fixed price quoted in the client's currency can lose its margin as the rate drifts over a long build. Here is how currency risk compounds and how to hedge it.

Zara Chechi Zara Chechi
Open account