Creación de facturas ZUGFeRD: guía paso a paso
Creación de facturas ZUGFeRD: guía paso a paso
ZUGFeRD es uno de los formatos de factura electrónica más populares en Alemania porque combina lo mejor de dos mundos: una factura PDF visualmente legible y un archivo XML legible por máquinas en un solo documento. Esta guía explica cómo crear una factura ZUGFeRD conforme.
¿Qué es exactamente una factura ZUGFeRD?
Una factura ZUGFeRD es un documento PDF/A-3 con un archivo CII XML (Cross-Industry Invoice) integrado. El PDF contiene la representación visual de la factura, igual que una factura PDF tradicional. Además, un archivo XML está integrado como adjunto dentro del PDF, conteniendo todos los datos de la factura en un formato estructurado y legible por máquinas. A partir de ZUGFeRD 2.1, este archivo se denomina factur-x.xml (en ZUGFeRD 2.0 todavía se llamaba zugferd-invoice.xml).
La ventaja: los destinatarios sin software especializado ven una factura PDF normal. Los destinatarios con sistemas de facturación electrónica pueden extraer y procesar automáticamente los datos.
Perfiles de ZUGFeRD
ZUGFeRD 2.x (actualmente versión 2.4, correspondiente a Factur-X 1.08) ofrece varios perfiles que difieren en el alcance de los datos que contienen:
Minimum
Contiene solo datos básicos de encabezado (número de factura, fecha, importe total). Adecuado únicamente para fines de archivo, no para procesamiento automatizado.
Basic WL (Without Lines)
Extiende el perfil Minimum con información del vendedor y comprador así como desgloses de IVA, pero no incluye partidas individuales.
Basic
Como Basic WL, pero con partidas individuales. Este es el primer nivel que permite un procesamiento automatizado significativo.
EN 16931 (Comfort)
Mapea el modelo de datos europeo EN 16931 completo. Este perfil es la base para los requisitos de facturación electrónica obligatoria y cubre todos los campos obligatorios definidos por la norma europea.
Extended
Permite campos adicionales más allá de EN 16931, por ejemplo para requisitos específicos del sector.
XRechnung
Un perfil especial que mapea completamente la CIUS de XRechnung, haciéndolo adecuado para facturas a entidades contratantes del sector público.
Para la mayoría de los casos de uso, recomendamos al menos el perfil EN 16931 (Comfort), ya que cumple con los requisitos legales.
Campos obligatorios en una factura ZUGFeRD
A partir del perfil EN 16931 (Comfort), se requieren los siguientes datos básicos:
- Número de factura (BT-1)
- Fecha de factura (BT-2)
- Código de moneda (BT-5), p. ej. EUR
- Vendedor: nombre, dirección, número de IVA
- Comprador: nombre, dirección
- Partidas: descripción, cantidad, precio unitario, tipo de IVA
- Totales: importe neto, IVA, importe bruto
- Información de pago: fecha de vencimiento, método de pago, IBAN
Paso a paso: crear una factura ZUGFeRD
Paso 1: Estructurar los datos de la factura
Capture todos los datos de la factura en formato estructurado. Con invapi, utiliza un objeto JSON que contiene todos los campos relevantes — vendedor, comprador, partidas, importes e información de pago.
Paso 2: Preparar el PDF
Cree una factura PDF visual con su diseño y marca habituales. El PDF sirve como base y se convertirá en el contenedor PDF/A-3. Asegúrese de que la información en el PDF coincida con los datos XML.
Paso 3: Generar el CII XML
El archivo XML legible por máquinas debe estar en el formato UN/CEFACT Cross-Industry Invoice. Crearlo manualmente es propenso a errores — se recomienda una herramienta automatizada o API.
Paso 4: Integrar el XML en el PDF
El archivo CII XML se integra como adjunto en el PDF. El PDF debe cumplir con el estándar PDF/A-3 y hacer referencia al archivo XML como un adjunto vinculado con el tipo MIME correcto.
Paso 5: Validar
Antes de enviar, debe validar la factura ZUGFeRD generada. La validación comprueba tanto la estructura XML como el cumplimiento de las reglas de negocio de EN 16931.
La forma sencilla con invapi
Los pasos 3 a 5 pueden automatizarse utilizando la API de invapi. Simplemente envíe sus datos de factura como JSON junto con un archivo PDF, y invapi genera una factura ZUGFeRD completa y validada.
El flujo de trabajo a través de la API:
- Compilar los datos de factura como JSON
- Cargar el PDF y enviarlo junto con el JSON al endpoint de ZUGFeRD
- Recibir un PDF ZUGFeRD validado como resultado
La API se encarga de la conversión, la integración y la validación. Puede comenzar de inmediato con el plan gratuito.
Conclusión
Las facturas ZUGFeRD combinan lo mejor de ambos mundos: legibilidad humana y procesabilidad automática. Aunque el proceso de creación requiere más que simplemente generar un PDF, puede automatizarse completamente con las herramientas adecuadas. Familiarizarse con ZUGFeRD ahora significa estar bien preparado para los requisitos de facturación electrónica obligatoria.