Existen distintas formas de calcular ese precio, los principales son el medio, el ponderado, lifo y fifo.
Tendrás que decidir qué método interesa más a esa empresa, pues no existe una forma fija y definitiva, depende de cada uno.
Echa un vistazo a
esto, aunque puedes encontrar muchísima más información al respecto haciendo una búsqueda por la web.
Y por supuesto el lugar para hacer los cálculos es en la propia base de datos, mediante triggers que se disparan cuando cambian las existencias.