Pan Innovation House Pan Innovation House
Guide: Procurement and Purchasing

How to write a software specification (RFP), step by step with a sample template

A good software specification decides the fate of a tender before it even starts. This guide brings together, in plain language, the sections a solid request for proposal (RFP) needs, the mistakes made most often and a downloadable sample template, for IT managers (CIOs), purchasing teams and the owners who make the decision. The aim is not to sell you anything; it is to help you receive the right proposal, at the right price, in a form you can actually compare.

10Core sections every specification needs
40-60%Typical share of non-licence items (setup, migration, training, maintenance) in the total investment (market estimate, varies)
1 pageA pricing format table that makes proposals comparable
Why it matters

Why the specification is the most critical document in a tender

The specification is the only document that translates your requirement into the supplier's language. The clearer it is, the more comparable the proposals you receive.

A software specification, commonly called an RFP (Request for Proposal), is the document that explains a project's scope, expectations and evaluation criteria to every supplier in the same language. Without one, the proposals you receive are built on different assumptions: one includes training, another does not; one covers data migration, another invoices it later as an extra line. What you are left with is a table comparing apples with pears.

A clear specification does three things at once. First, it disciplines your own request; writing down your requirement shows you the points you had not thought through. Second, it forces suppliers to quote against the same scope, so prices become genuinely comparable. Third, it heads off the "that was not in scope" arguments that surface at contract stage and during delivery.

It is only fair to say the opposite as well: an excessively rigid specification that describes every screen pixel by pixel also makes the work harder. An over-detailed document can prevent a supplier proposing a better solution and it inflates the price. The right balance is to write "what you want" precisely and leave "how it will be done" to the supplier's expertise. This guide is meant to help you strike that balance.

Contents

The sections a solid specification should contain

The ten sections below let you gather both off-the-shelf and custom software proposals within the same framework. Shorten or extend each one to suit your own project.

  • Scope and objective: which problem the project will solve, the current situation, the success criteria and everything deliberately left out of scope. The sentence "what we will not do" is worth at least as much as "what we will do".
  • Module and feature list: the functions you need, each marked as mandatory, preferred or optional. That distinction lets the supplier build a realistic price and timeline.
  • Integration requirements: the systems that must be connected (accounting/ERP, e-invoicing, CRM, production, e-commerce, banking, courier). Which direction the data will flow, and whether you expect an API, a file transfer or two-way synchronisation.
  • Technology and architecture expectations: cloud or on-premise servers; web and mobile needs; browser and device support; authentication, authorisation and KVKK (Turkish data protection law) and data security requirements.
  • Data migration: where the existing data sits (Excel, legacy software, a database), its volume, how much cleansing it needs and who is responsible for the migration. This line item is the source of surprise costs in most projects.
  • Training and go-live: how many users will be trained, in which roles, on site or remotely; the user manual, testing and go-live plan.
  • Maintenance, support and SLA: the warranty period, support channels and covered working hours, response and resolution times (for example, the response time for a critical fault), what updates cover and how the annual maintenance fee is calculated.
  • References and team: the supplier's references in a similar sector or of a similar size, the roles and experience of the team who will work on the project, and whether subcontractors will be used.
  • Pricing format: not a single figure, but a standard table in which setup/development, licences, data migration, integration, training and annual maintenance are each written separately. This format is what makes proposals comparable.
  • Timeline and delivery terms: the expected start, interim deliveries (milestones), acceptance (UAT) criteria, how the payment plan is tied to deliveries and how delays will be handled.
Pitfalls

Common mistakes when preparing a specification

Most of these mistakes cost money not when the proposals arrive but in the middle of the project. Read this list once more before you send the specification out.

Describing the solution instead of the outcome

Instead of writing "there should be this button on that screen", write "this task should reach this outcome". Defining the requirement in terms of outcomes gives the supplier room to propose a better and cheaper route.

Glossing over the integrations

The sentence "it will integrate with our existing systems" means nothing on its own. Which system, in which direction, which data, how often? A vague integration clause is the single biggest source of price variance between proposals.

Forgetting data migration

Moving legacy data is often a project in its own right. If its volume, quality and cleansing needs are not written down, suppliers either quote too low for nothing or cautiously high. Both mislead you.

Leaving maintenance and the SLA blank

Go-live is not the end of the project but the beginning. If the warranty period, support hours and response times are not written down, expectation and proposal collide at the first fault. Settling the SLA up front is the cheapest insurance there is.

Asking for a single price figure

Asking for one total makes comparison impossible. Ask for setup, licences, migration, training and maintenance separately. When one proposal looks cheap, it is usually because the maintenance or migration line has been hidden.

Imposing a single right answer

Insisting on a particular brand, technology or architecture shuts down competition and can tie you to a single supplier. Unless it is genuinely mandatory, describe the outcome and let the supplier propose the technology with its reasoning.

Lead magnet

Downloadable sample specification template

We have turned the ten sections above into a skeleton you can fill in. Adapt it to your own project and send it straight to suppliers.

The sample template we have prepared contains each of the ten core sections as annotated blanks: scope and objective, the module and feature list (with mandatory, preferred and optional columns), the integration matrix, technology and security expectations, data migration, training and go-live, maintenance/support/SLA, references and team, the standard pricing table and the timeline. Each section opens with a note on what you should write there.

You can download the template at /sablonlar/yazilim-sartnamesi-sablonu.md. Because it is plain text (Markdown), it opens in any editor inside your organisation, copies easily and converts readily into your own corporate template. It contains no real client names, invented metrics or ready-made sector-specific answers; it has been deliberately left neutral and fillable.

One practical tip when using the template: keep the "mandatory" features limited at first. If you mark every wish as mandatory, both the price and the timeline swell. Mark the genuine must-haves as mandatory and the rest as preferred or optional; that distinction is what allows suppliers to give comparable, realistic proposals.

The Pan approach

What a Pan proposal covers in your specification

We are open about how we read a specification when one reaches us and how our proposal answers each section. In fairness, let us say this first: if your scope is standard and settled, an off-the-shelf product is usually faster and more cost-effective; if your processes are distinctive and do not fit the available packages, custom software is the better answer. Pan makes that decision with you, and then builds the bridge.

  • Reading the scope: we answer every section of your specification one by one, in the same order. We mark each clearly as understood, partial or out of scope; we leave nothing ambiguous.
  • Standard pricing table: we present setup/development, licences, data migration, integration, training and annual maintenance as separate line items, and we follow your pricing format so you can compare us against competitors.
  • Integration clarity: we put in writing which system we will connect to, in which direction, by which method (API, file or two-way) and who provides what.
  • Data migration plan: we identify the source and volume of your data together with you, and show the cleansing and validation steps transparently as a separate work item.
  • Maintenance and SLA commitment: we turn the warranty period, support channels and response times into written commitments; we do not say "we will discuss that later".
  • Realistic timeline: we tie interim deliveries (milestones) and acceptance (UAT) criteria to the payment plan; we do not present a timeline as shorter than it is.
  • Decision advice: if your specification can in fact be met by an off-the-shelf package, we will say so honestly; if custom development really is needed, we will explain why.
Frequently asked questions

The questions we hear most

Can you request proposals without a specification?

You can, but the proposals you receive will most likely not be comparable. Without a specification, every supplier quotes on its own assumptions: one includes training and data migration, another does not. The proposal that looks cheapest can turn out to be the most expensive once the hidden items appear. For very small, clearly defined jobs a short requirements list may be enough; but if you are going to compare several suppliers, we recommend putting at least the scope, integration, data migration and pricing format sections in writing.

How detailed should a specification be?

Detailed enough to make clear what you want, yet flexible enough not to stop the supplier proposing something better. Good practice is to describe the outcome precisely (which task should produce which result) and leave the technical detail of the solution (which architecture, which technology) to the supplier to propose with its reasoning. Specifications that describe every screen pixel by pixel shut down competition and creativity and push the price up. Splitting the feature list into mandatory, preferred and optional is the easiest way to find the right level of detail.

Should a small company write a specification too?

Yes, but in proportion. A small company's specification does not have to run to dozens of pages; a clear two- or three-page document is usually enough. What matters is getting the sections right: what you want (scope), what it must connect to (integration), the state of your existing data (migration), your training and maintenance expectations, and an itemised pricing format. Even those five sections go a long way towards sparing a small business the later surprise of "wasn't that included?"

What is the difference between an RFP, an RFI and an RFQ?

The three belong to different stages of procurement. An RFI (Request for Information) is for gathering information; it is used to get to know the market and the suppliers. An RFP (Request for Proposal) is the tender specification this guide is about; you ask suppliers to propose a solution to your requirement and to price it. An RFQ (Request for Quotation) is a request for price alone, once the scope is fully settled. In software projects the RFP is usually the right instrument, because the approach to the solution matters as much as the price.

Should I ask for one total price or an itemised one?

Ask for it itemised. A single total makes proposals almost impossible to compare. Asking for setup/development, licences, data migration, integration, training and annual maintenance as separate lines both brings hidden items to the surface and shows you where each proposal is expensive. It is well known in the market that non-licence items (setup, migration, training, maintenance) can account for a significant share of the total investment; that is why seeing these lines separately is critical to your budget planning.

Should I mandate a particular technology or brand in the specification?

Not unless you have a compelling reason. Mandating a specific database, programming language or brand narrows competition and can leave you dependent on a single supplier. If there are concrete reasons such as compatibility with your existing systems, the skills of your in-house team or a legal obligation, state them by all means; otherwise, describing the outcome and leaving the technology choice to the supplier to propose, with its reasoning, generally produces healthier and more competitive proposals.

Let us start together

Let us review your specification together

Send us the specification you have prepared and we will give you a proposal that answers every section openly, priced item by item. If you do not have a specification yet, we can start from the sample template and clarify your requirement together. No sales pressure, just a conversation to help you make the right decision.

Call Free strategy call