Ese es el funcionamiento correcto de las funciones, se aplican a cada registro resultante de la consulta. Si quieres saber el total de la tabla ejecuta la consulta directamente, no hay necesidad de crear una función.
Código SQL:
Ver originalSELECT SUM(importe) FROM factura WHERE EXTRACT(MONTH FROM factura.FECHA_FAC)=EXTRACT(MONTH FROM fecha) AND
EXTRACT(YEAR FROM factura.FECHA_FAC)=EXTRACT(YEAR FROM fecha);
Y reemplaza la variable fecha por un valor concreto que quieras.
Saludos