Agregando información de los pagos en las facturas

6 de setiembre de 2023 por
Gustavo Orrillo
| Sin comentarios aún
 

Hay veces que necesitamos agregar información de los pagos en la factura, y no mostrarla en un widget como hace Odoo. Supongamos que necesitamos tener en la factura un campo llamado "Fecha de Pago", que se actualice cada vez que se agregue un pago a la factura. Como lo hacemos?

Hay varias formas de hacerlo. Una que implementamos hace pocos días es cuando se concilia una factura con un pago, en ese momento se actualiza la fecha del pago. Es lo que hacemos en el módulo invoice_payment_date. Al instalar el módulo veremos que en las facturas tendremos un campo extra llamado Fecha de Pago


Como decíamos, al conciliarse una factura de ventas, actualiza el campo payment_date con la fecha del pago relacionado.

Notas técnicas

Este módulo extiende el método concile de account.move.line (el método que concilia los diferentes apuntes contables, como lo explicamos en "Como funciona la conciliación de facturas con pagos en Odoo")

    def reconcile(self):
res = super(AccountMoveLine, self).reconcile()
payment_date = None
for rec in self:
if rec.move_id.payment_id:
payment_date = rec.move_id.payment_id.date
for rec in self:
if rec.move_id.move_type == 'out_invoice':
rec.move_id.payment_date = payment_date
return res

Este método llama primero al método reconcile de las clases padres, y luego recorre los apuntes contables que se están conciliando (los cuales son dos mínimo, uno perteneciente al pago y el otro perteneciente a la factura). Primero determina en el apunte contable perteneciente al pago cual es la fecha del mismo. Y luego con dicha fecha actualiza el apunte contable perteneciente a la factura.

Gustavo Orrillo 6 de setiembre de 2023
Compartir
Archivar
Identificarse dejar un comentario