Campo parcialidad permance en un solo valor
Closed
Campo parcialidad permance en un solo valor
Resumen
Cuando se realiza el timbrado de pagos, el cálculo del número de parcialidad toma en cuenta todos los pagos generados y no solamente los pagos timbrados.
Es decir, si a una factura le registro 10 pagos, pero a esos pagos no los timbro de acuerdo a como fueron creados, sino que al final timbro todos, entonces les aparecerá 10 en el número de parcialidad a todos los pagos, porque obtiene la cantidad de pagos asociados a la factura.
En cambio, si a la factura le registro un pago y lo timbro, este le aparece como número de parcialidad 1 y así sucesivamente.
Pasos para reproducirlo
- Registrar una factura de ventas por $10 pesos más IVA
- Registrar 10 pagos cada uno por un monto de $1.16 pesos
- Después de registrar los pagos ir timbrando uno por uno cada uno de los pagos
¿Cuál es el comportamiento equivocado que se está presentando?
Que en todos los pagos el atributo de número de parcialidad aparece el valor de 10
¿Cuál es el comportamiento correcto esperado?
Que el atributo número de parcialidad vaya pasando de 1 a 10 con forme se va realizando el timbrado de cada uno de los pagos
Versión del sistema y de los módulos
Versión 8.0.3.6.2 e inferiores
Posibles soluciones
-
En la función
numparcialidad
editar el filtro para quedarnos únicamente con los pagos previamente timbrados. Tomar como guía este dominio
cc @OpenPymeMx
added Bug label
created merge request !195 (closed) to address this issue
mentioned in merge request !195 (closed)
Le solicito de su apoyo para el siguiente tema
De acuerdo a la posible solución, se debe de agregar un dominio a la función
numparcialidad
, para poder contemplar aquellos pagos timbradosYa lo revisé con el Ing. Noé, pero no encontramos una forma de agregar dicho dominio a la función para que funcione
Lo que intentamos hacer es agregar lo siguiente
and self.cfdi_state in ("signed", "done")
para poder conocer el "Estado del PAC" del pago, quedando de la siguiente manerapayments = payments.filtered( lambda r: r.date >= invoice.date_invoice and r.journal_id.type in ("cash", "bank") and self.cfdi_state in ("signed", "done") )
Pero lamentablemente no funcionó, ya que la parcialidad de los pagos siempre era 1
Así mismo, le comentó que la tabla account.invoice no tiene relación con account.voucher, así que no encontramos una manera para poder acceder a los pagos a través de la factura y viceversa.
Nos puede indicar alguna forma de poder acceder a los pagos (account.voucher) o como agregar dicho dominio a
payments.filtered
Saludos @elias.mendez, el problema es que no hay una relación entre el objeto
account.move.line
al que pertenecen los registros que llevas en la variable payments y el objetoaccount.voucher
que es donde se guardan los pagos para poder saber si los pagos están timbrados o no.Para facilitar ese proceso, antes de entrar en esta solución vamos a tener que realizar un ajuste a la base de datos en el módulo account_voucher tal y como describí aquí: https://gitlab.openpyme.mx/account/account_voucher/-/issues/16
marked the task En la función
numparcialidad
editar el filtro para quedarnos únicamente con los pagos previamente timbrados. Tomar como guía este dominio as completedmentioned in merge request !200 (closed)