El desarrollo de una aplicación completa es costoso. Si requieres algo profesional te recomendaría que recurras a profesionales (es decir, una empresa o programador), aunque obviamente en este caso dependes de terceras partes para el mantenimiento, cosa que no tiene por qué ser negativa. Por ejemplo nadie sabe de fontanería, mecánica de automóviles, impermeabilizaciones, etc. y se recurre a profesionales sin que esto suponga nada negativo. Si te decides a hacerlo tú, cosa que también es una opción, podrías oir opiniones de distinas personas (sabiendo que si no recurres a profesionales al final la responsabilidad será tuya).
Centrándome en tratar de concretar en caso de que te decidieras a hacerlo tú, si se trata de una pequeña aplicación (me refiero para una empresa por ejemplo de hasta 10 empleados) quizás en lo primero en que pensaría es en la base de datos a emplear. La más económica y común, MySql, te permitiría casi todo lo que una pequeña empresa convencional puede requerir. En caso de tener requerimientos especiales dispones de más opciones.
En cuanto al lenguaje, necesitas un lenguaje que pueda conectarse a una base de datos, y que te permita correr una aplicación. Esto se puede hacer tanto en entorno web como en entorno escritorio.
Si vas a trabajar con Windows y entorno escritorio pienso que Visual Basic es una buena opción.