Ejemplo XML VeriFactu: Cómo generar el archivo conforme a la normativa

Teniendo en cuenta que los nuevos requisitos están cada vez más cerca de implementarse de manera obligatoria para todas las empresas en España, en este artículo te mostramos un ejemplo del XML VeriFactu. Además, te hablamos de muchos otros aspectos relacionados, como realizar la implementación y formas con las que puedes generar y gestionar correctamente tus presentaciones, siguiendo el formato definido y cumpliendo fácilmente con todos los requisitos que  implica la nueva normativa.

¿Porqué es tan importante generar correctamente el archivo XML VeriFactu?

VeriFactu es un sistema de control y seguimiento de la información de las facturas, que forma parte de las medidas impuestas por la Ley Antifraude en España. El objetivo principal es evitar el fraude fiscal y asegurar que todas las empresas declaren sus facturas electrónicas ante la Agencia Estatal de Administración Tributaria (AEAT) de manera precisa y en tiempo real. Si quieres información más detallada sobre VeriFactu, te lo contemos en el siguiente artículo:

Todo lo que necesitas saber sobre VeriFactu

Uno de los elementos más importantes de este sistema es la generación de un Fichero XML VeriFactu, que debe contener ciertos datos de las facturas emitidas. Este archivo debe cumplir estrictamente con la estructura y formato especificados en la normativa, ya que de lo contrario no será aceptado por la AEAT, lo que podría implicar sanciones para la empresa al no cumplir con los requisitos.

¿Cuáles son los requisitos para generar el XML de VeriFactu según la normativa?

La normativa establece que la información las facturas deben presentarse en un formato XML estructurado. Este archivo debe contener información clave de cada factura, incluyendo algunos datos como por ejemplo:

  • El número de factura.
  • Datos del emisor y receptor.
  • Fecha de emisión.
  • Importe de la factura y los impuestos aplicables.
  • Información adicional como el tipo de operación y el método de pago.

Los sistemas de facturación de las empresas deben estar preparados para generar estos archivos de manera automática y precisa, respetando la estructura impuesta por la normativa. La falta de cumplimiento en la generación correcta del fichero puede resultar en la imposibilidad de registrar la información de la factura, lo que significaría incumplir con las obligaciones fiscales.

¿Cómo generar el archivo XML VeriFactu?

Para generar un archivo XML conforme a los requisitos de VeriFactu, es importante seguir una estructura técnica definida. A continuación, te ofrecemos algunos consejos para generar el archivo XML de VeriFactu. Debes tener en cuenta que es recomendado contar con un sistema que te permite automatizar la creación del archivo, en función de los datos de tus facturas. Hacer esta gestión de forma manual es muy costoso:

  1. Recopilar los datos de la factura: Asegúrate de tener toda la información requerida de la factura, para incluirla en el XML.
  2. Estructurar el archivo XML: Utiliza una plantilla base o un software especializado para crear el archivo XML. La estructura básica debe incluir las etiquetas. del tipo <id>, <NombreRazon>, etc..
  3. Validar el archivo XML: Antes de enviarlo, es fundamental asegurarse de que el archivo cumple con los requisitos, contiene todos los datos obligatorios y está generado correctamente. Se crean validadores XML online y herramientas específicas que te permiten verificar que el archivo se ajusta a los requisitos establecidos por la AEAT. En todo caso, si utilizas un proveedor de servicios o software especializado, esta herramienta seguro que va a validar el archivo antes de realizar el envío.

Ejemplo XML VeriFactu:

Ahora que ya sabes los básicos, te mostramos un ejemplo del XML VeriFactu de una factura emitida, donde puedes ver la estructura y los elementos esenciales que debe contener un archivo correcto. Debes tener en cuenta que falta la aprobación del reglamento, que es donde se definen los aspectos técnicos y de funcionamiento.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:sum="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroL
R.xsd"
xmlns:sum1="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/Suministro
Informacion.xsd">
 <soapenv:Header/>
 <soapenv:Body>
 <sum:AltaFactuSistemaFacturacion>
 <sum1:Cabecera>
 <sum1:IDVersion>1.0</sum1:IDVersion>
<sum1:ObligadoEmision>
 <sum1:NombreRazon>Empresa VeriFactu</sum1:NombreRazon>
 <sum1:NIF>NIF</sum1:NIF>
 </sum1:ObligadoEmision>
 <sum1:TipoRegistroAEAT>T0</sum1:TipoRegistroAEAT>
 </sum1:Cabecera>
 <sum:RegistroAltaFacturas>
 <sum:RegistroFacturacion>
 <sum1:IDFactura>
 <sum1:IDEmisorFactura>
 <sum1:NIF>NIF</sum1:NIF>
 </sum1:IDEmisorFactura>
<sum1:NumSerieFacturaEmisor>12345</sum1:NumSerieFacturaEmisor>
 <sum1:FechaExpedicionFacturaEmisor>13-11-2023</sum1:FechaExpedicionFacturaEmisor>
 </sum1:IDFactura>
 <sum1:NombreRazonEmisor>certificado uno telematicas</sum1:NombreRazonEmisor>
 <sum1:TipoRegistroSIF>S0</sum1:TipoRegistroSIF>
 <sum1:TipoFactura>F1</sum1:TipoFactura>
 <sum1:DescripcionOperacion>Descripc</sum1:DescripcionOperacion>
 <sum1:Destinatarios>
 <sum1:IDDestinatario>
 <sum1:NombreRazon>Empresa VeriFactu</sum1:NombreRazon>
 <sum1:NIF>NIF</sum1:NIF>
 </sum1:IDDestinatario>
 </sum1:Destinatarios>
 <sum1:Desglose>
 <sum1:DetalleDesglose>
 <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
 <sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
<sum1:TipoImpositivo>4</sum1:TipoImpositivo>
 <sum1:BaseImponibleOimporteNoSujeto>10</sum1:BaseImponibleOimporteNoSujeto>
 <sum1:CuotaRepercutida>0.4</sum1:CuotaRepercutida>
 </sum1:DetalleDesglose>
 <sum1:DetalleDesglose>
 <sum1:ClaveRegimen>01</sum1:ClaveRegimen>
 <sum1:CalificacionOperacion>S1</sum1:CalificacionOperacion>
 <sum1:TipoImpositivo>21</sum1:TipoImpositivo>
 <sum1:BaseImponibleOimporteNoSujeto>100</sum1:BaseImponibleOimporteNoSujeto>
 <sum1:CuotaRepercutida>21</sum1:CuotaRepercutida>
 </sum1:DetalleDesglose>
 </sum1:Desglose>
 <sum1:ImporteTotal>131.4</sum1:ImporteTotal>
 <sum1:EncadenamientoRegistroAnterior>
 <sum1:IDEmisorFacturaRegistroAnterior>
 <sum1:NIF>NIF</sum1:NIF>
 </sum1:IDEmisorFacturaRegistroAnterior>
<sum1:NumSerieFacturaRegistroAnterior>44</sum1:NumSerieFacturaRegistroAnterior>
 <sum1:FechaExpedicionFacturaRegistroAnterior>13-02-2022</sum1:FechaExpedicionFacturaRegistroAnterior>
 <sum1:HuellaRegistroAnterior>HuellaRegistroAnterior</sum1:HuellaRegistroAnterior>
 </sum1:EncadenamientoRegistroAnterior>
 <sum1:SistemaInformatico>
 <sum1:NombreRazon>CERTIFICADO DOS TELEMATICAS</sum1:NombreRazon>
 <sum1:NIF>NIF</sum1:NIF>
 <sum1:NombreSistemaInformatico>NombreSistemaInformatico</sum1:NombreSistemaInformatico>
 <sum1:IdSistemaInformatico>77</sum1:IdSistemaInformatico>
 <sum1:Version>1.0.03</sum1:Version>
 <sum1:NumeroInstalacion>383</sum1:NumeroInstalacion>
 <sum1:TipoUsoPosibleSoloVerifactu>S</sum1:TipoUsoPosibleSoloVerifactu>
<sum1:TipoUsoPosibleOtros>N</sum1:TipoUsoPosibleOtros>
 <sum1:TipoUsoPosibleMultiOT>N</sum1:TipoUsoPosibleMultiOT>
 </sum1:SistemaInformatico>
 <sum1:FechaGenRegistro>13-11-2023</sum1:FechaGenRegistro>
 <sum1:HoraGenRegistro>20:59:25</sum1:HoraGenRegistro>
 <sum1:HusoHorarioGenRegistro>02</sum1:HusoHorarioGenRegistro>
 </sum:RegistroFacturacion>
 <sum:DatosControl>
 <sum1:Huella>Huella</sum1:Huella>
 <sum1:TipoHash>01</sum1:TipoHash>
 </sum:DatosControl>
 </sum:RegistroAltaFacturas>
 </sum:AltaFactuSistemaFacturacion>
 </soapenv:Body>
</soapenv:Envelope>

¿Qué estructura y elementos clave debe contener el archivo?

Como ya se ha comentado anteriormente, la correcta generación del archivo XML VeriFactu es crucial para cumplir con los requerimientos de la AEAT. La estructura sigue un patrón específico que incluye varios elementos, como:

  • Emisor: Datos de la empresa que emite la factura.
  • Receptor: Datos del cliente o destinatario de la factura.
  • Fecha de emisión: Fecha exacta en la que se emitió la factura.
  • Importe: Importe total de la factura, con los impuestos desglosados (IVA, IRPF, etc.).
  • Método de pago: Se puede incluir la información sobre cómo se ha pagado la factura.

La falta de información o datos en el archivo, implica que no se pueda presentar correctamente la información a la Agencia Tributaria.

Errores comunes en la generación del archivo XML VeriFactu

Teniendo en cuenta que aun no ha sido aprobado el reglamento y las empresas no han empezado a presentar sus registros de facturación, no podemos concretar en los errores más comunes. A pesar de esto, nuestra experiencia en el intercambio de facturas electrónicas y presentación de reportes fiscales como TicketBAI o el Suministro Inmediato de la Información, no permite intuir cuales pueden ser los problemas más comunes:

  • Falta de datos obligatorios: Es fundamental incluir todos los campos obligatorios en el archivo XML. El número de factura o los datos del receptor son un ejemplo.
  • Formato incorrecto de los campos: Los campos como fechas o importes deben estar en el formato correcto (por ejemplo, YYYY-MM-DD para fechas).
  • Errores de validación del XML: Es importante que el archivo pase por un proceso de validación antes de ser enviado. En caso de no serlo, la propia AEAT puede rechazar o marcar con error el registro en caso de estar enviando un fichero que no cumple los requisitos.

Genera de forma sencilla el archivo con B2Brouter

Como ves, generar el archivo XML conforme la normativa no es una tarea sencilla. Por esto, B2Brouter es una solución tecnológica que permite a empresas y desarrolladores de software cumplir con VeriFactu y generar el archivo correctamente y de forma sencilla:

Para empresas:

Con B2Brouter tu empresa puede gestionar sus facturas y a la vez cumplir con el sistema VeriFactu y presentar la información directamente a la AEAT. Todo esto sin prácticamente darte cuenta, al mismo momento que gestionas tus facturas.

Además, puedes usar B2Brouter como tu sistema propio de facturación o integrar tu sistema de gestión o ERP con B2Brouter y cumplir con el reglamento en ambos casos.

Software VeriFactu

Para desarrolladores:

Como desarrollador o distribuidor de un software que genera facturas, si quieres evitar implementar estos costosos procesos, puedes conectar con la API de B2Brouter y prepararte para que tus clientes cumplan con los requisitos del reglamento VeriFactu, directamente desde tu servicio.

Servicio para desarrolladores

    Responsable B2Brouter Global S.L.– comercial@b2brouter.net

    Finalidad del tratamiento Atender sus consultas y peticiones de información.

    Derechos Puede ejercer sus derechos de acceso, rectificación, supresión, oposición, limitación o portabilidad dirigiéndose por escrito al Responsable. También puede presentar una reclamación ante la Agencia Española de Protección de Datos a través de aepd.es.

    Consulte aquí nuestra Política de Privacidad completa.