Hola Luis,
a juzgar por la porción de código, la herramienta tiene una arquitectura interna que tendrías que conocer bien primero para poder hacer este tipo de agregados.
Parece que el software soporta poner varios pagos de diferente tipo para un comprobante, con lo que el descuento del que hablás no tendría sentido que se applique a una forma de pago sino a todo el comprobante, es decir, tendrías que poner la caja para el descuento sobre la línea que está arriba de "tipo de pago". Esto lo tendrías que agregar como una fila más a la tabla:
<table width="100%"><tr>
<td style="width:55%; "><div class="float_left"><?php echo $this->lang->line('sales_payments_total').':';?></div></td>
<td style="width:45%; text-align:right;"><div class="float_left" style="text-align:right;font-weight:bold;"><?php echo to_currency($payments_total); ?></div></td>
</tr>
<tr>
<td style="width:55%; "><div class="float_left" ><?php echo $this->lang->line('sales_amount_due').':';?></div></td>
<td style="width:45%; text-align:right; "><div class="float_left" style="text-align:right;font-weight:bold;"><?php echo to_currency($amount_due); ?></div></td>
</tr></table>
Luego, si agregás este campo, tenés que buscar en la parte en que se graban los datos para procesar este valor, y también agregar una columna a la tabla de la cabecera del comprobante para guardar el descuento (ya que el descuento, repito, es a la venta y no a un pago en particular).
Sin embargo, es posible que no haga falta casi nada de esto: dado que el software parece soportar múltiples formas de pago, podrías crear una que sea "descuento" (así como ahora figura "efectivo"), y en caso de que un cliente reciba un descuento, agregar esto como una pago más. Luego, en el informe de caja del día, todo lo que aparezca bajo esta forma de pago será dinero no recibido...
Yo intentaría primero seguir la lógica del propio software... a lo sumo implicaría modificar un reporte, y no meterte en una complegidad tal, que no sabés en dónde terminará la cosa.
Saludos cordiales.