Short answer: When evaluating a software proposal, don't look only at the total price; look at what the proposal covers: the list of modules and screens, integrations, data migration, testing, training, hosting and post-delivery support. The contract should clearly state who owns the source code and the data, how scope changes will be billed, a phased payment schedule and the maintenance terms.
Why do proposals vary so much?
A large gap between two proposals for the same need usually comes down to scope. One proposal may cover only the screens, while another may also include data migration, testing, training and a year of support. Before comparing them, line the proposals up side by side using the same items.
What items should a proposal include?
| Item | Question to ask |
|---|---|
| List of modules and screens | Exactly which functions are included in the first version? |
| Integrations | Are e-invoicing (Turkey's mandatory electronic invoice system), accounting, payments, WhatsApp, etc. included? |
| Data migration | Will data from existing Excel files or a legacy system be migrated? |
| Testing and acceptance | How will it be tested, and when is it considered "delivered"? |
| Training and documentation | Are user training and a manual included? |
| Hosting | Whose account is the server under, and what is the monthly cost? |
| Support and maintenance | For how long are bug fixes free after delivery? How are they billed after that? |
| Timeline | Phases and estimated delivery dates |
What clauses are essential in the contract?
- Source code and intellectual property rights: The contract should clearly state who holds the right to use and modify the code developed specifically for you. If the code won't be handed over to you, that should be a conscious choice.
- Data ownership: It should state that all data accumulated in the software belongs to you and can be exported in a standard format whenever you wish.
- Scope changes: It should define how new requests made during the project will be evaluated and billed (for example, on an hourly basis or through a separate proposal).
- Phased payments: Tying payments to delivered phases protects both parties.
- Acceptance criteria: It should specify which tests each phase must pass to be considered accepted.
- Support and service levels: How quickly a response will be given when a critical bug is reported, and the target time for a fix.
- Confidentiality and KVKK: If the developer will have access to personal data, its obligations as a data processor under KVKK (Turkey's Personal Data Protection Law, Law No. 6698) should be defined.
Which warning signs call for caution?
- Vague, one-line proposals: Proposals like "Inventory program – X TL" lead to disputes later on.
- A firm price given without any analysis: A price quoted without listening to your needs is either higher than necessary or missing scope.
- Ambiguity over whether the code and data will be handed over to you: If you part ways with the developer, you could lose access to the system.
- Requiring full payment upfront: Phased payment is a common and healthy practice in the industry.
What should you be prepared for on your side?
The success of a software project doesn't depend on the developer alone. Appointing a point person who knows the process, attending demos and making decisions on time all directly affect the timeline. We've explained how the process works step by step in our article on how a custom software project works.
Shall we review the proposals you have together? With our custom software development service, we present the scope, timeline and cost in writing, item by item.
Sources
Frequently Asked Questions
For a system developed specifically for you, having access to the source code gives you independence if you later want to change developers or expand the system. This right should be clearly stated in the contract.
For work with a clear scope, a fixed price provides budget certainty. For work with an unclear or continuously evolving scope, hourly or periodic billing is more flexible. In many projects, the first version is delivered at a fixed price and later enhancements are billed hourly.
After delivery, security updates, backup checks, minor improvements and bug fixes require ongoing work. Listing this item separately and transparently prevents surprises down the road.

