"Fixed price" is the most common phrase in software proposals and the least examined. Here is how to tell whether the one you are holding is real.
The four things a real fixed-price scope contains
1. What gets built, itemised
Not "a CRM". A list: pipeline with named stages, lead capture from these three sources, role-based access for these three roles, these four dashboards. Countable things you could tick off on delivery.
2. What is excluded, itemised as clearly
This is the half that is almost always missing, and it is the half that decides whether the number holds. A scope that lists twenty inclusions and no exclusions has not defined a boundary — it has defined a starting point.
The exclusions should be specific enough to sting slightly to read. "Does not include WhatsApp automation, multi-branch support, or migration of historical data beyond the current financial year." That sentence is worth more to you than another paragraph of features.
3. The delivery sequence, with dates
What exists at the end of each week or milestone, and what you will be able to open and click. A schedule made of internal phases — "development", "testing" — tells you nothing. A schedule made of things you can look at tells you whether the project is on track without asking.
4. What happens when scope changes
Because it will. The correct answer is: quoted separately, in writing, before the work starts. Not absorbed silently, which sounds generous and means the vendor is now losing money on your project and will make it back somewhere you cannot see.
The questions that expose a soft price
"What is deliberately not in this?" A vendor who has thought about the boundary answers immediately. One who has not will describe more features.
"What happens if we ask for something outside the scope in week five?" You want to hear a process, not reassurance. "We quote it as a change, in writing, and you decide" is a process. "We will look after you" is not.
"Which of these figures moves if discovery goes badly?" Honest answer: some of them, and here is which ones and why. A price with no acknowledged risk is a price that has not been thought about.
Payment terms that align incentives
The structure matters more than the total. Something like 40% on signing, 40% at an agreed midpoint milestone, 20% on handover keeps both sides interested through the whole project. Terms that front-load payment shift all the risk to you at exactly the point where you have the least information.
The midpoint milestone should be a thing, not a date. "40% when the billing flow is working end to end on a preview link" is a milestone. "40% at week four" is a calendar entry.
Where fixed pricing genuinely does not work
It is worth being honest about the exception. Fixed pricing needs a scope, and a scope needs enough understanding of the problem to write one. There are projects — a large digitisation where nobody knows how many processes exist yet, or a platform where the requirements genuinely emerge — where fixing a price up front means one of two things: the vendor has padded it heavily, or they will discover the gap later and the relationship will absorb the damage.
The correct answer there is a paid discovery with a fixed price of its own, producing a written scope you own and can take anywhere. Then the build is fixed against that.
A vendor who offers this is not avoiding commitment. They are avoiding a number that would be fiction.
The single best test
Read the proposal and ask yourself: could a different vendor price this same document?
If yes, it is a scope. If the proposal only makes sense in the presence of the person who wrote it, it is a conversation with a number attached, and the number will move.