There is no honest single number for custom software. Prices vary because the work varies. What you can do is understand what moves the price, so that quotes become comparable.
What drives the cost
Cost follows effort, and effort follows scope. The same few factors explain most of the difference between one project and another.
- The number of user roles and the permissions between them
- The number of workflows, and how many exceptions each has
- Integrations with existing systems, and the quality of their APIs
- Data migration from legacy systems or spreadsheets
- Reporting needs and the number of distinct reports
- Platforms: web only, or web plus mobile
Why quotes differ
Two quotes for the same idea can differ widely because they assume different things: who tests, who writes documentation, how many revisions are included, and what happens after launch.
Ask each vendor to list assumptions and exclusions. A low price with a long list of exclusions is often not low.
How to keep the number under control
Start with the smallest release that proves the core workflow, then build on it. A written scope, small releases and explicit handling of changes keep the price from drifting.
Fixed price suits a well-defined scope. Time and materials suits work that will be discovered along the way. Neither is better in general; the right choice depends on how certain the scope is.
This topic is part of our Custom Software Development work.