Como casi todo tiene sus pro y sus contras.
Si contratas programadores a tu disposición:
¿Serán temporales?, ¿por cuanto tiempo?. Lo mas complicado es hacer un levantamiento del proyecto es decir estimar de forma correcta el tener un software en producción(pasando por las etapas previas). Quizás te digan en 6 meses lo tengo listo y tu estimas pagarles digamos $ 15,000 serán $90,000 invertidos, y si al sexto mes esta listo y te satisface todas tus necesidades que bueno es un developer excelente. Pero si llegando al sexto mes no lo a terminado, pone excusas y pretextos,¿que harás? , ¿lo despides?, ¿contratas a otro? ¿y lo invertido?.
Es decir debes de estar atento a avances tangibles ¿La documentación esta lista?,¿Los diferentes diagramas ya me fueron expuestos?¿ya tengo mi sistema de pruebas?, ¿la base de datos esta correctamente normalizada?, ¿el sistema puede recibir N cantidad de peticiones?,¿Los tiempos se están respetando?.
Ahora el que contrates una empresa dependiendo esta cual sea es lo mismo por que muchas desarrolladoras son poco eticas y no cumplen lo establecido (aunque este por contrato).
Haz pensado comprar un software que se adapte a tus necesidades, por lo que veo no es algo tan especifico, es algo en general muy usado en el mercado. Yo tengo un cliente que adapto un sistema de gestión de restaurantes, para venta de materiales XD y lo adapto tan bien que lleva 7 años usándolo sin problema
Otra opción es arrendar alguno hay compañías que te arrendan un sistema web hasta por 100 $ mensuales.