The functional specification is a comprehensive document describing the project. It among others describes main goals and assumptions of the project (e.g., the project's business goal), individual system functions, the interaction between the system and the user, guidelines for the frameworks, used tools or the behavior of Desktop, Tablet, and Mobile elements.
The functional specification is created with a view to the development and understanding of the project by a third party, which is why it is written in a clear, understandable language. This document does not only contain descriptions of how the product should behave, but also includes attachments in the form of Screens Inventory, Production Files & Styleguide. It is, therefore, a complete set of information needed by the client or developer after the design phase.