Os cuento mi planteamiento por si le veis algún problema
Una vez generada una factura:
- [A] Si han pasado más de los 60 segundos preceptivos, se intenta enviar. Si surge algún problema de conexión, se añade a la lista de pendientes (si no está ya) y establezco la marca de "Incidencia" para el próximo envío.
- [b] Si no han pasado los 60 segundos, se añade a la lista de pendientes.
Un proceso se encarga de mirar cada X tiempo (no tengo claro cuánto ha de ser ese X tiempo) si hay facturas pendientes. Aquí distingo también dos circunstancias:
- [C] Si hay marca de incidencia, no se intenta la remisión (para evitar trabajo inútil). Se intentará la remisión aprovechando el envío de una nueva factura (estaríamos en el punto [A] de nuevo) o, en último caso, al cerrar la sesión.
- [D] Si no hay marca de incidencia, se intenta la remisión (volvemos al punto [A]).