A functional specification describes what a product, system or component must do and how required behavior will be verified. It translates business or user needs into observable functions, conditions and acceptance criteria.
What does it contain?
- Scope, users and intended outcomes
- Functions and process flows
- Inputs, outputs and business rules
- States, errors and exception handling
- Interfaces and data requirements
- Acceptance criteria and traceability
Functional vs. technical specification
A functional specification defines required behavior. A technical specification defines how the solution will be designed or built. The documents should align, but separating them helps avoid locking requirements to an untested implementation.
How is it used in sourcing?
Buyers can include functional requirements in an RFQ or RFP so suppliers respond to the same expected outcomes. The specification should identify mandatory requirements, permitted alternatives and evidence required for compliance.
What makes a requirement testable?
Use a clear actor, condition, action and measurable result. “The system must be user-friendly” is not testable; “an authorized user can create a three-line quote and save a draft without administrator support” is more specific.
How should changes be controlled?
Version the document, record rationale and assess effects on cost, schedule, testing and dependent requirements. Acceptance should attach to an approved version rather than a continuously edited file.

