The verdict in three sentences
Without a structured requirements document, three vendors quoting the same business application will return prices ranging from 1 to 4, because each fills the gaps with its own assumptions. A 12-section document, written in 5 to 10 days in-house or with an external project owner assistant (EUR 3,000 to 8,000 excl. VAT), is enough to bring that spread below 25%. The centrepiece is the list of MoSCoW-prioritised user stories, which turns a wish list into a scope that can be priced.
Why quotes vary by a factor of 4
An operations director who writes "an app to track our field jobs, with a dashboard" leaves at least fifteen questions open: how many users, which roles, which integrations, what data volume, what availability. The cautious vendor prices the worst case, the aggressive vendor prices the minimum and counts on change requests.
| Vague area | Vendor's low assumption | Vendor's high assumption | Impact on the quote |
|---|---|---|---|
| Number of user roles | 2 roles | 6 roles with fine-grained rights | +EUR 8,000 to 15,000 |
| Integrations (ERP, CRM, accounting) | Manual CSV export | Real-time two-way API | +EUR 10,000 to 30,000 |
| Mobile app | Responsive web | Offline PWA | +EUR 12,000 to 25,000 |
| Data migration | None | 10 years of history to clean | +EUR 4,000 to 12,000 |
| Dashboards | 3 fixed KPIs | Configurable reporting | +EUR 6,000 to 18,000 |
| Hosting and SLA | Shared, no commitment | 99.9% with on-call | +EUR 3,000 to 9,000 per year |
Together, these six areas alone explain the classic gap between a EUR 35,000 quote and a EUR 140,000 quote.
The annotated template: 12 essential sections
| No. | Section | What to write | Common mistake |
|---|---|---|---|
| 1 | Context and goals | Current problem, quantified gains (hours, errors, lead times) | Vague goals such as "be more efficient" |
| 2 | Scope and out of scope | What version 1 will and will not do | Forgetting the out-of-scope list |
| 3 | Users and roles | Headcount, profiles, rights per role | A single "admin" profile |
| 4 | Key journeys | 3 to 6 end-to-end scenarios | Listing screens instead of journeys |
| 5 | MoSCoW user stories | Must, Should, Could, Won't, with acceptance criteria | Ranking everything as Must |
| 6 | Data and volumes | Business objects, 3-year volumes, migration | Ignoring history |
| 7 | Integrations | Systems, flow direction, frequency, API docs | "Connect to the ERP" with no detail |
| 8 | Non-functional requirements | Performance, availability, accessibility (WCAG) | Nothing about load |
| 9 | Security and GDPR | Authentication, logging, personal data | Forgetting the processing register |
| 10 | Technical constraints | Mandatory hosting, SSO, browsers | Leaving it open without saying so |
| 11 | Schedule and milestones | Target date, business constraints (season, year-end) | Unrealistic date with no buffer |
| 12 | Budget and terms | Range, fixed price or T&M, selection criteria | Hiding the budget |
Sharing a budget range does not weaken your negotiating position: it lets vendors propose the right level of solution instead of pricing blind.
MoSCoW prioritisation in practice
A simple rule: Must items should not exceed 60% of the estimated effort, otherwise there is no buffer for surprises. Each user story follows the format "As a [role], I want [action] so that [benefit]", followed by two or three testable acceptance criteria. A mid-sized business application has 40 to 80 user stories.
2026 budget ranges by complexity level
| Level | Example | User stories | Indicative budget | Timeline |
|---|---|---|---|---|
| Simple | Form, approval workflow, export | 15 to 30 | EUR 15,000 to 35,000 | 6 to 10 weeks |
| Intermediate | Field job management with scheduling and dashboard | 40 to 80 | EUR 40,000 to 90,000 | 3 to 5 months |
| Advanced | Several roles, ERP integration, offline PWA | 80 to 150 | EUR 90,000 to 180,000 | 5 to 8 months |
| Platform | Multi-entity, public API, 99.9% SLA | 150 and more | EUR 180,000 and more | 8 to 12 months |
| In-house drafting of the document | Business project lead | / | 5 to 10 person-days | 2 to 4 weeks |
| External project owner assistant | Specialist consultant | / | EUR 3,000 to 8,000 | 3 to 6 weeks |
These amounts are 2026 orders of magnitude (excl. VAT) for a European agency or a nearshore team of comparable quality; in USD, add roughly 8%.
Mini case study
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
Thomas, operations director of a 120-employee maintenance company in Lyon, needs to replace Excel files used to track field jobs. First round without a requirements document: quotes of EUR 38,000, 72,000 and 151,000, a 1-to-4 spread. He invests EUR 5,500 in an external assistant and 7 days of his team's time to produce a 12-section document with 64 user stories, 36 of them Must.
Second round: EUR 78,000, 84,000 and 92,000, an 18% spread. He picks the EUR 84,000 offer with a EUR 52,000 first phase. Estimated gain: 6 hours of data entry per technician per month across 40 technicians, or 2,880 hours a year, roughly EUR 100,000 of valued time. The EUR 5,500 spent avoided a probable EUR 20,000 change request on the lowest quote.
FAQ
How long should a business app requirements document be?
Between 15 and 40 pages covers 90% of projects. Beyond that, vendors skim; use appendices for mock-ups and data models instead.
Should we provide mock-ups?
Low-fidelity wireframes of 5 to 10 key screens sharply reduce misunderstandings. A high-fidelity design costs EUR 3,000 to 10,000 and can be handed to the selected vendor.
Should we tell vendors our budget?
Yes, as a range. It avoids receiving EUR 150,000 solutions for a need funded at EUR 50,000, and it makes the three quotes truly comparable.
External assistant or in-house drafting?
If the team has never run a software project, EUR 3,000 to 8,000 pays for itself with the first avoided change request. An experienced team can write it alone in 5 to 10 days.
How long should vendors have to respond?
Allow 2 to 3 weeks, with a joint Q&A session halfway through. A serious response takes 2 to 4 days of work on the agency side.
Let's scope your project. Send us your requirements document, even incomplete: we review it, flag the vague areas and price a first phase with an indicative budget and timeline. Detailed quote within 48 h. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.
