El problema de servicio centralizado, que es lo que hay aqui en Colombia (que también es malo) es que se convierte en un SPOF (
https://en.wikipedia.org/wiki/Single_point_of_failure).
Lo que se debería de hacer es "simple":
- Se define un "documento" que representa la factura con datos obligatorios (lo único que le importe a la hacienda) y todo lo demás libre
- El documento se firma digitalmente (se genera un hash cryptografico que encadena el doc original + el doc de hacienda + la firma de empresa), y en especial, el hash del consecutivo actual + anterior, que es lo que valida que no hay tampering, y se firma contra un certificado de autoridad de hacienda, que se renueva cada x tiempo.
- Se define documentos de enmienda y reversa similar a lo anterior
- Se guarda este documento de forman inmutable, que no es lo mismo que los docs de origen lo sean
Todo esto es offline, poner un SPOF de intermediario es un error. Una vez que todo es firmado, no hay que preocuparse si hacienda recibió o no.
- Se pasan los documentos a hacienda y se certifica su recibido.
Que el documento sea recibido es un ACK de red, no es lo que hace que el documento sea valido.
Es muy similar a los archivos de certificados, tener el archivo firmado por una autoridad es suficiente (y la firma de la autoridad NO requiere conexión de red todo el tiempo, solo para actualizar).