Francamente no entiendo muy bien cual es tu lógica para agrupar por meses, pero a mi me parece mas sencillo algo como:
Código SQL
[-]
Select extract(year from fecha) anio, extract(month from fecha) mes,
sum(imporfac)
from facturas
where fechafac between '2003-01-01' and '2003-02-28'
and otrascondiciones
group by 1, 2
order by 1, 2;
Hasta luego.