If you are willing to pay for it than its important that you make it known to possible candidates that you are looking for a solution very specific to your business needs, in regards to data input. The problem that arises with all the major content management systems is that the work flow of entering data is pretty such set in-stone. The work flow is one which best supports generic circumstances, not specific business goals. That is why many times people will refer to systems like Joomla and Drupal, as to “complex”. That is because the work flow is one in which supports generic circumstances, not a specific business work flow as far as the interface is concerned. That is a major trade-off of going with any content management system over a customized solution. With a customized solution the entire, experience, including data entry can be molded to a specific business work flow. With open source content management systems a business work flow must be modified to fit the work flow of the software.
This is what can and often does result in a work flow that ends up being convoluted and not so straight-forward for the end-user, without heavy modification. However, once a content management systems data entry work flow needs to change, its more efficient to build your own. Content management systems dependent are on a certain work flow. Once you pull that away, you pretty much need to start over anyways.
However, the advantages of an open source content management system is that the development costs will be significantly decreased in comparison to a tailored solution, that fits a business model in every form, from data entry to end user experience. However, if you are willing to pay for the tailored solution it will end up being more pleasant to manage data, than what any open source solution can provide.
The exceptions perhaps being blogs (wordpress) and magento (ecommerce), also a few others. Those systems provide a much more user rich work flow because they are specific to a certain task, rather than being generic. While each has their problems they are great for managing content of the type they were designed to. Neither seem as if they would fit your goals well, but for blogs and ecommerce solutions they are the best of their type, as far as user experience is concerned.
The one thing clients can do to make quotes much more concrete, is provide a detailed list of required functionality. The thing that will increase costs and ultimately drive anyone crazy is feature creeping – adding requirements after a project mid-way complete or even near completion. Software is best created considering all functionality required. Adding things that were not anticipated always leads more bugs and hidden problems, increasing development time and ultimately costs.
The other thing that I forget to mention is that I am referring to open source content management systems in my previous statements, about generic functionality and its impact on work flow. Someone may bring up a framework, which is completely different than a open source content management system. Frameworks provide reusable code to accomplish common tasks. However, they rarely provide any user interface, that still needs to be built. Some common frameworks you may come across are: Ruby On Rails, CakePHP, Symphony, CodeIgnitor, ASP.NET and plenty more, but those are the major ones. Usage of the frameworks listed should not restrict a work flow specific to your business goals from being created. However, they probably won’t decrease development costs much either, perhaps some but it won’t be nearly as significant as an open source content management solution. Most developers use some type of framework to make common tasks easier, if not not open source its most likely their own.
Which actually leads me to another point. There is a large majority of people familiar with open source content management systems and frameworks. By using an open source solution the project becomes much more portable to other developers. However, when using a customized solution the project essentially becomes “owned” by person(s) who created it. What I mean by owned is that no one will ever understand it as well as the original creator. Its important to know if you decide to have someone add a feature or fix a bug after the contract is complete, any changes made will be much more prone to bugs and over looked items than something that was created using any open source, widely known solution.