Formato FacturaE 3.2.2: guía técnica para entender el XML de tu factura

Gemini Generated Image phcttsphcttsphct 1
Share
Índice de contenidos

El FacturaE XML es el estándar oficial de factura electrónica en España y se ha convertido en la base técnica sobre la que trabajan la mayoría de programas de facturación homologados. Entender cómo está estructurado este archivo no es solo una curiosidad técnica: te ayuda a interpretar errores de validación, a dialogar con tu proveedor de software y a comprobar por qué una factura es aceptada o rechazada por una administración pública o por una plataforma de terceros.

En la versión 3.2.2, el formato FacturaE XML incorpora cambios pensados para alinearse con los requisitos de la Ley Antifraude, mejorar la precisión de los importes, ampliar unidades de medida y facilitar la interoperabilidad con otras soluciones de facturación y con los sistemas de las Administraciones Públicas. Si sabes leer mínimamente este XML, podrás localizar rápidamente el número de factura, las bases imponibles, los impuestos y los totales, así como la firma electrónica que garantiza la validez del documento.

Qué es el formato FacturaE

El FacturaE XML es un esquema de factura electrónica definido por la Administración española para garantizar que todas las facturas electrónicas sigan unas mismas reglas de estructura, contenido y firma digital. Esto permite que diferentes programas puedan generar y procesar facturas sin depender de formatos propietarios, reduciendo problemas de compatibilidad y facilitando la automatización del intercambio.

Desde la versión 3.2 inicial hasta la 3.2.2, el formato ha ido incorporando campos, unidades de medida, tipos de impuestos y mejoras en la descripción de los datos de pago, contactos y otros elementos adicionales. La versión 3.2.2 es la recomendada y, en la práctica, la exigida cuando quieres presentar facturas a la Administración a través de puntos generales de entrada como FACe u otras plataformas públicas, por lo que tu software actual debería estar ya adaptado a este estándar.

Historia y evolución

FacturaE es un formato promovido por el Ministerio de Hacienda y la Administración electrónica española, que nace para uniformar la factura electrónica en el ámbito B2G y facilitar su adopción por parte de empresas y profesionales. A lo largo de las versiones 3.0, 3.1, 3.2 y 3.2.2 se han ido refinando los campos, corrigiendo ambigüedades y ampliando casos de uso, como la incorporación de nuevas unidades de medida (por ejemplo, kilovatio hora) o mejoras en la representación de importes y vencimientos de pago.

La versión 3.2.2 es compatible con los requisitos técnicos de la Ley Antifraude, especialmente en lo que respecta a la estructura de los datos, la trazabilidad de importes y la claridad de los totales, de modo que los sistemas de control fiscal pueden leer y validar la información de forma mucho más precisa que con formatos anteriores o con facturas en PDF sin estructura.

Por qué se utiliza XML

El FacturaE XML se basa en XML porque este lenguaje de marcado es un estándar abierto, extensible y ampliamente soportado en todo el ecosistema de software empresarial. XML permite definir un esquema (XSD) que especifica qué elementos deben aparecer, en qué orden, qué formato tienen y si son obligatorios u opcionales.

Gracias a XML, es posible validar automáticamente una factura para comprobar que sigue el esquema FacturaE: se puede verificar que el NIF del emisor está presente, que los totales cuadran y que los elementos aparecen en el orden correcto. Además, aunque está pensado para máquinas, el XML sigue siendo legible por humanos, lo que permite que técnicos o usuarios avanzados puedan abrir el archivo, localizar etiquetas como <InvoiceNumber> o <IssueDate> y entender a simple vista qué dato representa cada sección.

Estructura básica del XML FacturaE

Aunque un archivo FacturaE XML puede parecer muy complejo a primera vista, su estructura básica se organiza en bloques bien definidos. Todo el contenido se agrupa dentro del elemento raíz <fe:Facturae>, que envuelve los principales apartados de cabecera, partes, facturas y firma electrónica. Dentro de este contenedor se encuentran los nodos que describen quién emite, quién recibe, qué se factura, cómo se calculan los impuestos y cuál es el resultado final.

El esqueleto mínimo de un FacturaE 3.2.2 se resume en cuatro grandes secciones: FileHeader para los metadatos del fichero, Parties para los datos de emisor y receptor, Invoices para el contenido de la factura o facturas, y ds:Signature para la firma electrónica. Comprender esta jerarquía te permite navegar el XML con orden, sabiendo dónde buscar cada tipo de información.

Elementos principales

A nivel de estructura superior, el FacturaE XML suele tener este patrón simplificado:

<fe:Facturae> abre el documento y declara el espacio de nombres de FacturaE; dentro se incluye <FileHeader> con los datos generales del fichero, <Parties> con la información de los intervinientes, <Invoices> con una o varias facturas y, finalmente, <ds:Signature> con la firma electrónica. Cada uno de estos bloques se subdivide en elementos más específicos, pero la idea clave es que todos los datos relevantes de la factura electrónica viven dentro de este contenedor principal.

FileHeader – cabecera del archivo

El bloque FileHeader del FacturaE XML contiene la información general del fichero, que es distinta del contenido de cada factura individual. Aquí se indica la versión del esquema utilizado, que en la actualidad debe ser la 3.2.2, se define si el fichero contiene una única factura o un lote de varias facturas, y se incluyen datos del emisor del archivo, como identificadores, referencias internas o información del sistema que ha generado el documento.

Esta sección es importante porque los validadores oficiales y los puntos de entrada de facturas comprueban primero la coherencia del FileHeader: si la versión indicada no corresponde con el esquema que se intenta validar, o si se declara un lote de facturas pero el contenido no coincide, el fichero será rechazado antes incluso de analizar los detalles de impuestos o totales.

Parties – partes intervinientes

En la sección Parties del FacturaE XML se definen las entidades que participan en la operación: el vendedor (SellerParty) y el comprador (BuyerParty). Cada una de estas partes incluye su NIF o identificación fiscal, la razón social o nombre completo, la dirección postal completa, los datos de contacto y, opcionalmente, información adicional como correo electrónico, teléfono o página web.

Tener bien cumplimentado este bloque es esencial tanto para la deducibilidad del IVA como para la correcta identificación de las facturas en los sistemas de contabilidad y en los registros contables de facturas de las administraciones públicas. Si el NIF del emisor o del receptor es incorrecto o no se ajusta al formato esperado, la factura electrónica puede ser rechazada directamente por el sistema receptor, incluso aunque todos los importes sean correctos.

Invoices – datos de las facturas

El bloque Invoices del FacturaE XML es el núcleo del documento, donde se describen una o varias facturas con todo su detalle. Dentro de cada Invoice se incluye la cabecera de la factura (con el número y la serie mediante etiquetas como <InvoiceNumber> y <InvoiceSeriesCode>), la fecha de expedición (<IssueDate> en la sección InvoiceIssueData), las líneas de detalle con conceptos, cantidades y precios, los impuestos aplicados (TaxesOutputs y, en su caso, TaxesWithheld) y, finalmente, los totales en InvoiceTotals.

Cada línea de detalle puede contener referencias de contrato, descripciones del servicio o producto, cantidad, precio unitario, descuentos y cargos, y los impuestos correspondientes a esa línea. A nivel global, los totales de la factura deben cuadrar exactamente con la suma de todas las líneas y los impuestos calculados, y esto es algo que el validador de FacturaE comprueba de forma automática.

Campos obligatorios en FacturaE

Dentro de un FacturaE XML, no todos los campos tienen el mismo nivel de importancia: algunos son obligatorios, otros son opcionales y algunos pueden repetirse. El esquema XSD de FacturaE define con precisión qué elementos deben aparecer siempre, cuál es su formato y cómo se relacionan entre sí, lo que permite detectar fácilmente errores de estructura o de datos incompletos.

A nivel práctico, hay un conjunto de campos que casi siempre se revisan cuando se valida una factura electrónica: las identificaciones fiscales del emisor y del receptor, el número de factura, la fecha de expedición, la base imponible, la cuota de IVA y el total final a pagar. Si alguno de estos elementos está ausente, mal situado o con un formato incorrecto, la validación fallará.

En el FacturaE XML, el NIF del emisor se encuentra en la sección Parties/SellerParty, mientras que el NIF del receptor está en Parties/BuyerParty. El número de factura se define en la cabecera de Invoice, dentro de InvoiceHeader, y la fecha se ubica en InvoiceIssueData mediante elementos como IssueDate. La base imponible y la cuota de IVA se detallan en TaxesOutputs, donde se indican los tipos de impuesto y las cantidades, y el importe total se recoge en InvoiceTotals, con campos como InvoiceTotalTotalOutstandingAmount y TotalExecutableAmount.

La firma electrónica en FacturaE

Una característica clave del FacturaE XML es que el archivo incluye una firma electrónica avanzada incrustada, que garantiza la autenticidad del emisor, la integridad del contenido y el no repudio de la operación. Esta firma se basa en estándares XAdES y se apoya en un certificado digital reconocido, emitido por una autoridad de certificación confiable.

Al firmar el XML, no solo se “firma” el archivo como tal, sino que se establece una vinculación criptográfica entre los datos de la factura y la identidad del emisor, de forma que cualquier modificación posterior del contenido invalidaría la firma. Por eso, la firma es un elemento fundamental para que la factura tenga validez legal y sea aceptada por la Administración y por muchos grandes clientes privados.

Tipos de firma aceptados

En el contexto del FacturaE XML, se suelen utilizar variantes de XAdES adaptadas a las necesidades de seguridad y conservación a largo plazo: XAdES-EPES para firmas con política explícita, XAdES-T cuando se añade un sello de tiempo que acredita el momento de la firma y XAdES-XL o superiores cuando se pretende garantizar la validez a largo plazo, incluyendo certificados y listas de revocación.

La elección de un tipo u otro depende del entorno en el que se vaya a usar la factura: para muchas transacciones B2G, una firma XAdES-EPES o XAdES-T suele ser suficiente, mientras que para archivos que deban conservarse durante muchos años con plena validez probatoria puede ser recomendable usar niveles más altos de XAdES.

Dónde se ubica la firma en el XML

La firma del FacturaE XML se ubica al final del documento, en un bloque específico <ds:Signature>. Dentro de este elemento se incluyen los datos del certificado, las referencias a las partes del XML que se firman, los algoritmos criptográficos utilizados y, en su caso, información adicional como el sello de tiempo.

Cuando un validador lee el FacturaE, utiliza esta sección <ds:Signature> para comprobar que la firma es válida (es decir, que el certificado no está caducado ni revocado), que el contenido no ha sido alterado desde que se firmó y que la política de firma se ajusta a los requisitos del receptor o de la norma aplicable. Cualquier fallo en esta parte hará que la factura electrónica se considere no válida aunque el resto de los datos sean correctos.

Validación de facturas FacturaE XML

La validación de un FacturaE XML consiste en comprobar tres cosas: que la estructura del archivo cumple el esquema XSD de la versión correspondiente, que la firma electrónica es válida y que los datos contenidos son coherentes (por ejemplo, que los totales cuadran y que no hay números de factura duplicados). Para ello se utilizan herramientas específicas, tanto oficiales como integradas en el propio software de facturación.

El proceso suele empezar con una validación de esquema, que verifica la estructura y el formato de los campos. A continuación se comprueba la firma electrónica, asegurándose de que el certificado es válido y la firma corresponde al contenido. Por último, se revisan reglas de negocio, como la coherencia de los importes, la presencia de NIF válidos o la ausencia de duplicidades en el registro contable.

Herramientas de validación disponibles

Para validar un FacturaE XML, puedes usar el validador oficial proporcionado a través de los portales de factura electrónica de la Administración, que examina tanto el esquema como la firma. Muchos programas de facturación homologados incluyen su propio módulo de validación, que comprueba el XML justo antes de enviarlo, mostrando mensajes de error más amigables para el usuario.

Además, existen validadores de terceros especializados que permiten cargar un archivo FacturaE, revisar el detalle de cada sección y obtener informes completos de errores, advertencias y recomendaciones. Estos servicios son especialmente útiles cuando estás desarrollando o integrando tu propio software de facturación y necesitas depurar problemas de estructura o de firma antes de pasar a producción.

Errores comunes y cómo resolverlos

En la práctica, los errores más frecuentes en un FacturaE XML tienen que ver con estructura, firma y datos numéricos. Los errores de “schema inválido” indican que la estructura del XML no se ajusta al XSD de FacturaE: puede faltar una etiqueta obligatoria, sobrar un elemento mal colocado o estar usando una versión de esquema distinta de la declarada en el FileHeader. La solución pasa por revisar la versión XSD y ajustar las etiquetas al orden y formato definidos oficialmente.

Otro error habitual es la “firma no válida”, que suele deberse a un certificado caducado, revocado o mal instalado. En estos casos, hay que renovar el certificado, actualizarlo en el sistema y volver a firmar las facturas. También son frecuentes incidencias con NIF incorrectos, donde el formato no cumple las reglas de dígito de control, y con totales que no cuadran por errores de redondeo o de cálculo. Para estos últimos, hay que revisar cómo el software calcula bases, cuotas y totales, asegurándose de que respeta los decimales y reglas de FacturaE.

FacturaE XML y Verifactu

Es importante entender que FacturaE XML y Verifactu cumplen funciones complementarias. FacturaE define el formato técnico de la factura electrónica —es decir, cómo se representan los datos en XML, qué campos son obligatorios y cómo se valida la estructura y la firma—, mientras que Verifactu se centra en la comunicación de las facturas a la Agencia Tributaria, el encadenamiento de registros y la incorporación de elementos como el código QR para la trazabilidad fiscal.

En un escenario típico, tu software genera un FacturaE 3.2.2 firmado correctamente y, además, cumple las obligaciones de Verifactu: asigna un identificador de registro, genera el hash encadenado con facturas anteriores y crea un código QR que permite verificar la factura. El XML sigue siendo el “contenedor” de la información de la factura, pero Verifactu añade una capa de control fiscal y comunicación en tiempo casi real con la AEAT.

Conclusiones

Dominar el FacturaE XML en su versión 3.2.2 te da una visión clara de cómo tu software estructura, firma y valida cada factura electrónica que emite. Saber localizar los bloques FileHeaderPartiesInvoices y ds:Signature, así como los campos obligatorios de NIF, número, fechas, bases, impuestos y totales, te permitirá diagnosticar incidencias con criterio y exigir a tu proveedor un cumplimiento estricto del estándar oficial.

En combinación con Verifactu, el formato FacturaE se convierte en la base técnica sobre la que se construye la nueva facturación electrónica fiscalmente trazable en España, garantizando que cada factura sea estructurada, firmada, validada y comunicada de forma segura y homogénea. Esto reduce riesgos de rechazo, facilita las relaciones con las administraciones y abre la puerta a una automatización mucho más avanzada en tus procesos de facturación.

El Equipo IA
ElEquipoIA genera FacturaE XML automáticamente. Demo gratuita 24h.
¿Te gustan este tipo de articulos?
Únete a nuestro equipo de autónomos y empresas que quieren estar al día de las noticias e información relevante a nuestro programa y la factura electrónica en España
Blogs ElEquipoIA
Sigue leyendo

¿Dudas con tu alta?


Inscribete en nuestra Newsletter