Con esto Hacienda tiene aún más datos sobre nosotros. Nos tocará evitar que los utilice para lo que no debe
No esperes que Hacienda te pida un PDF o un Excel con los totales. Lo que el servidor de la Agencia Tributaria (AEAT) exige es un documento estrictamente reglado en XML, encapsulado bajo el protocolo de comunicación SOAP. Es, literalmente, un "sobre digital" con instrucciones precisas. Lo que sigue es un ejemplo real validado por la AEAT pero con algunos datos modificados por confidencialidad:

El "Sobre" (Envelope): La primera etiqueta que ves,
A continuación viene el cuerpo del mensaje. Aquí es donde hay que meter toda la información con las etiquetas creadas por la Agencia Tributaria, no valen otra, empezando por la etiqueta Cabecera
Aquí van los datos de la persona física o jurídica que espera cobrar por el producto, ya sea un bien o un servicio. Datos de la Factura
Se colocan dentro de la etiqueta RegistroFactura y dentro de esta la RegistroAlta que también contiene a todas las demás. El primero es la versión que de momento es la 1.0, ya nos harán cambiarla más tarde, después vienen los datos que identifican esta factura en concreto, con sus respectivas etiquetas para identificar nuevamente al emisor, la serie con su el número de la factura y fecha en formato dd-mm-YYYY, no vale otra forma.
Seguidamente deben colocarse las etiquetas para el nombre de quien emite la factura, otra vez, y a continuación el tipo de factura que puede ser nueva, rectificativa o de consulta, en este caso es la F1 porque es nueva, aunque la factura como tal puede rectificar a otra emitida con anterioridad por haber puesto el NIF mal o con partidas erróneas o algún dato equivocado pero para el servidor de la AEAT cuanta como factura nueva. Por último, para terminar este grupo de etiquetas van las que contienen un breve descripción de la operación. Por que de momento, nuestro políticos no nos exigen decir lo que hacemos y cómo lo hacemos.
Concluida la parte del emisor y de la factura en sí, es el momento del destinatario o destinatarios porque las etiquetas que van dentro de Destinatarios pueden repetirse con distintas personas. Los datos son nombre o razón social y NIF o CIF.
El siguiente grupo de etiquetas dentro de la etiqueta Desglose también puede repetirse las veces que sean necesarias. Solo necesita los números, no los conceptos. Figuran dentro de la o las etiquetas DetalleDesglose porque pueden colocarse un número indefinido de grupos todas dentro de sus respectivas DetalleDesglose. Son: ClaveRegimen y ClasificacionOperacion que a fecha de escribirse estas líneas deben ser 01 y S1 respectivamente, teóricamente existía un portal para desarrolladores donde explica los valores que pueden tener estas y otras etiquetas técnicas como TipoFactura, pero la última vez que se visitó daba el error de Página No encontrada. A continuación dedbe constar el IVA en la etiqueta TipoImpositivo expresado en tanto por ciento, después la base imponible sobre la que se aplicará el IVA y por último la cuota concreta de euros obtenidos por el IVA para este bien o servicio. Se cierra el grupo de etiquetas y si es necesario se abre otro nuevo para otro concepto.
Ya terminando la parte de números debemos reflejar los totales con sus propias etiquetas: la cuota total, suma de las cuotas parciales anteriores, y el total de la factura con impuestos incluidos
Trazabilidad Criptográfica
En este punto llegamos a las etiquetas que convierten a este documento en uno con trazabilidad criptográfica, algo simular a lo que hacen las cadenas de bloques o block chain. La primera etiqueta es la de Encadenado que tiene dentro la de RegistroAnterior que a su ves tiene las etiquetas valiosas: la del NIF o CIF de emisor de la última factura, el número de aquella factura, de gran importancia porque deben ser escrupulosamente consecutivas, la fecha en formato latino y la huella de aquella factura.Por si esos datos no eran suficientes, las siguientes etiquetas son para identificar el sistema informático que solicita dar de alta esta factura concreta. Son ocho en total.
Finalmente llegamos a las tres etiquetas de que sellan el documento: FechaHoraHusoGenRegistro en formato timeStamp con fecha según el ISO 8601 (YYYY-MM-DD), uso horario y hora y minuto, el tipo de huella que a fecha de escribirse estas líneas era la S1, es decir SHA-256, y la huella de esta factura que será usada por la siguiente para encadenar.
Glosario
- Protocolo SOAP: Dices que es "subestándar ENV". En realidad, SOAP (Simple Object Access Protocol) es el protocolo de mensajería. soapenv:Envelope y soapenv:Body son las capas del mensaje (el sobre y el contenido).
- Encadenamiento vs. Blockchain: Aunque el concepto de "huella" es similar, VeriFactu usa un encadenamiento lineal criptográfico. Llamarlo Blockchain puede ser confuso, ya que no hay una red descentralizada de nodos validando, sino una base de datos centralizada en la AEAT.
