feat(base.cfdi): adapta los módulos para tolerar mejor los errores
En el módulo ir_attachment_facturae_mx
se reconstruyó el
funcionamiento del model base.cfdi
para que el proceso de timbrado de
los archivos CFDI fuera más tolerante a los errores de comunicación con
los PACs. Este nuevo proceso requiere de que la interface de uso tanto
de las facturas como de los vouchers tenga que ser adaptado para que la
forma de trabajo de los usuarios varíe lo menos posible a lo que están
acostumbrados hasta el momento.
Las principales diferencias con respecto al flujo que se tenía son las siguientes:
- Al validar una factura o firmar un recibo de pagos se genera un archivo XML que se deja como archivo adjunto al documento que está generando el timbrado. Esto facilitará el proceso de detección y corrección de errores ya que evitará la necesidad de estar entrando al log del servicio para conocer en que está fallando el timbrado
- En caso de que durante el proceso de timbrado del documento se genere algún error, el mensaje de error se dejará registrado en el chatter del documento pero se guardarán los cambios realizados en el documento. Esto permitirá guardar la fecha de emisión del documento para que si el error fuera de comunicación, se conserver la fecha original del timbrado y de esta manera se pueda solicitar al PAC la reposición del archivo XML correspondiente.
- Se agrega un campo en la interface que permite monitorear el estado del CFDI relacionado con un documento que requiere de timbrado.
- Se agrega también un botón para reintentar el timbrado de un documento que haya tenido algún error durante el proceso de timbrado. Este botón primero intentará enviar al archivo XML que se tiene ya generado para ver si el PAC lo tiene ya registrado y nos regresa el folio fiscal que ya se le asignó. Ya solamente en caso de que el PAC no retornara un folio fiscal válido, se regenera el XML para tomar en cuenta los cambios/correcciones que el usuario hubiera realizado al documento y vuelve a intentar realizar el timbrado de este nuevo XML.
El motivo principal de estos cambios es la necesidad de minimizar el riesgo de que por algún error en el servicio de internet, error de sistema o en cualquier otro de los servicios asociados, se generen varios folios fiscales válidos en el SAT relacionados a un solo documento en el sistema.
cc @OpenPymeMx closes #5 (closed)