esta fue la solucion, no se que no di con ella antes, uff hoy a sido un dia de esos ....
Código SQL
[-]
select distinct a.clv_doc, (a.can_tot- a.tot_desc)as tot
from pfact01 a
join fact01 b on b.clv_doc = a.clv_doc
join cuen01 c on c.no_fact = a.clv_doc
where a.impuesto = 12 and b.status <> 'A'
and cast(b.fecha_doc as date) between cast(:fecha_ini as date) and cast(:fecha_fin as date)
and (c.tipo_mov = 10 OR c.tipo_mov = 31)
en fin ... saludos!