Three software proposals on your desk. One is four pages, one is twenty-two, and the prices are far enough apart that they cannot all be describing the same job. You are looking for the red flags and none of them are obvious. They are not. That is the actual problem, and most of the advice about comparing quotes skips it.
Read the assumptions before the price, because the price is a consequence of them. Everything below follows from that, including why the cheapest proposal is so often the most expensive project.
Read the assumptions first
Somewhere in a serious proposal there is a section listing what the supplier has taken as given. It is usually near the back, in smaller type, and it is the most informative page in the document.
It will say things like: content will be supplied by the client, one round of changes is included, the existing data is assumed to be clean, third-party integrations are assumed to have working interfaces, testing is assumed to be done by the client. Each of those is a cost that has been moved to you, and each is legitimate as long as you know about it. A proposal with no assumptions section has not made fewer assumptions. It has simply not written them down, and you will discover them one at a time, each with an invoice attached.
So the first thing to do with three proposals is to write out what each has assumed and compare those lists. Frequently the price gap explains itself before you have read anything else.
Software proposal red flags, one by one
| The flag | Why it matters |
|---|---|
| No discovery phase, on a project with unknowns | They are pricing a guess. Either the contingency is buried in the number or it will arrive later as change requests. Neither is visible now. |
| No ownership clause | The single most consequential omission. Silence about who owns the code, the accounts and the domain is not neutral, and it is the thing that traps people. |
| A timeline with no dependencies on you | Every real project waits on the client at some point. A plan that does not say when they need content, feedback or access has not been thought through, and the delay will be framed as yours. |
| Nothing about what happens after launch | Support, maintenance, hosting, who fixes a bug in month four and at what cost. A proposal that ends at go-live is describing half the relationship. |
| A single price with no breakdown | You cannot tell what would change if you removed something, which means you cannot negotiate scope, only price. That is the wrong lever. |
| Payment weighted heavily to the start | Some deposit is entirely normal. Most of the money before most of the work is not, and it removes the only real pressure you have if things go wrong. |
| Boilerplate that does not mention your business | If the first three pages would suit any client, nobody has thought about yours. Check whether your own words appear anywhere. |
| Technology chosen before the problem is described | A proposal that names a stack on page one and your requirements on page nine has decided the answer first. |
| No named people | Who is doing the work, and are they the people you met. This is where the pitch team and the delivery team quietly diverge. |
Promises that should worry you
Some things in a proposal look reassuring and are the opposite, because they promise what nobody can deliver.
- A search ranking. Nobody controls this. A promise to put you first is either a misunderstanding of how it works or something worse, and it is disqualifying either way.
- Perfect uptime. Your hosting, payment, email and DNS providers will all have outages, and they are larger companies than any of your suppliers. What can honestly be promised is a response time, not an absence of failure.
- Compliance, as a guarantee. A supplier can build to a recognised standard and can tell you what they have done. Certifying that you are compliant is not theirs to give, and in regulated areas it is a claim worth being alarmed by.
- A fixed price on genuinely unknown work. Not a red flag in itself, and worth understanding what it actually buys, which is covered in the truth about fixed-price quotes.
- No caveats at all. Every experienced supplier has an opinion about what is risky in your project. A document that finds nothing uncertain has not looked.
The green flags
Worth naming, because a list of warnings makes everything look suspicious.
- Your own words appear in it. Evidence that somebody listened rather than pattern-matched.
- It says what is not included, specifically and early. This is the clearest signal of a supplier who has been burned and learned.
- It names the riskiest part of the project and says how they would handle it.
- It proposes something smaller than you asked for, or suggests doing it in stages. A supplier willing to reduce their own invoice is telling you something valuable.
- Ownership is explicit, in plain words, without being asked.
- There is a stated route to stop. What happens if you want to end it after four weeks, and what you would take with you.
- Aftercare is priced, not mentioned vaguely.
The omissions that cost the most later
Separate from outright warning signs, four things are frequently missing from otherwise reasonable proposals, and each one becomes a bill you did not expect.
| Missing | What it costs when it surfaces |
|---|---|
| Who writes the content | The most common single omission. If the proposal assumes you supply finished text and nobody has been assigned to write it, the project stops, fully built, waiting on words. Then either the launch slips by two months or someone quotes for copywriting. |
| Data migration | Moving existing customers, products or history is treated as trivial and is not, because real data is inconsistent in ways nobody discovers until it is being moved. Ask explicitly whether it is in scope. |
| Redirects and search visibility | On any project replacing an existing site, mapping every old address to a new one is real work. Left out, the site launches and traffic falls, and the cause is not obvious for weeks. |
| Training and handover | A site your team cannot confidently update is a site you keep paying to have updated. A half-day of training and written notes is cheap; discovering it was excluded is not. |
None of these are dishonest omissions. They are usually assumed away, which is exactly why the assumptions page is the one to read first.
Comparing three proposals that are not comparable
The method that works is not to negotiate the numbers. It is to make everyone quote the same job, and then look again.
- Build one list of what you actually need, in your words, before rereading any of them. Otherwise you will be pulled toward whichever document is best written.
- Tick off each proposal against that list, marking included, excluded and unclear. The unclear column is usually the largest and it is where the price difference lives.
- Ask every supplier the same five questions about the unclear items, in one email, and give them the same deadline. How they answer is as informative as what they answer.
- Normalise the totals. Add the cost of anything one supplier included and another left out. Add a year of running costs to each. Add your own team's time where a proposal has assumed it.
- Then compare. Frequently the order changes completely, and the cheapest becomes the most expensive.
- Judge the answers, not just the numbers. You are buying a working relationship. The supplier who answered a hard question directly is worth a premium over the one who answered around it.
If you have not yet reached the proposal stage, the earlier conversation is where most of this is decided, and twenty questions to ask a development agency is the list to take into it.
Use this on ours
It would be poor form to publish this and not invite the same treatment. Everything above applies to anything we send you, and the questions we would most like you to ask are the awkward ones: what have you assumed, what is not included, what happens if we stop, and what do you think is riskiest here.
If our proposal fails a test on this page, that is worth knowing, and we would rather you asked than signed and found out.
Not for you if
If you do only one thing with three proposals, do this: find the assumptions in each and put them side by side. It takes twenty minutes, it explains most of the price difference, and it turns an impossible comparison into an ordinary one.
