select
    comprobantes_cabeza.nro_comprobante_cabeza,
    comprobantes_cabeza.nro_tipo_comprobante,
    comprobantes_cabeza.fecha as fecha_factura,
    comprobantes_cabeza.fecha_vencimiento,
    comprobantes_cabeza.comprobante as numero_factura,
    relacion_cuenta_corriente.nro_haber,
    coalesce(relacion_cuenta_corriente.importe, 0) as importe,
    cast(comprobantes_cabeza.gravado + comprobantes_cabeza.iva + comprobantes_cabeza.exento as numeric(12, 2)) as total_factura,
    cast(
    (select
        sum(coalesce(relacion_cuenta_corriente.importe, 0))
      from relacion_cuenta_corriente
      where
        relacion_cuenta_corriente.nro_debe = comprobantes_cabeza.nro_comprobante_cabeza) as numeric(12, 2)) as total_pagos,
    cobros.fecha as fecha_cobro,
    cobros.numero as numero_cobro,
    cobros.nro_cobro,
    cobros.observacion,
    nota_credito.fecha as nota_credito_fecha,
    nota_credito.comprobante as nota_credito_numero,
    cast(nota_credito.gravado + nota_credito.iva + nota_credito.exento as numeric(12, 2)) as nota_credito_importe,
    nota_credito.nota as nota_credito_observacion
  from comprobantes_cabeza
  left  join relacion_cuenta_corriente on relacion_cuenta_corriente.nro_debe = comprobantes_cabeza.nro_comprobante_cabeza
  left  join cobros on
    cobros.nro_cobro = relacion_cuenta_corriente.nro_haber and
    cobros.fecha <= @fecha
  left join comprobantes_cabeza nota_credito on nota_credito.nro_comprobante_cabeza = comprobantes_cabeza.nro_nota_credito
  where
    comprobantes_cabeza.nro_alumno = @nro_alumno and
    comprobantes_cabeza.fecha <= @fecha and
    comprobantes_cabeza.nro_tipo_comprobante = 1

  order by
    comprobantes_cabeza.fecha,
    comprobantes_cabeza.nro_comprobante_cabeza