Crear una factura ZUGFeRD en Power Automate a partir de un PDF + XML de Dropbox: un flujo de trabajo de 5 pasos.

Alemania Ley de Oportunidades de Crecimiento Convirtió las facturas electrónicas híbridas al estilo ZUGFeRD de algo deseable a un requisito B2B. 1 de enero de 2025 Todas las empresas alemanas deben poder recibir facturas electrónicas estructuradas, con obligaciones de envío completas que se implementarán gradualmente. 2028La ruta más rápida para cualquier equipo de Microsoft 365 es un flujo de Power Automate de cinco acciones: Activar manualmente → Dropbox Obtener contenido del archivo (PDF) → Dropbox Obtener contenido del archivo (XML) → PDF4me Crear factura ZUGFeRD → Dropbox Crear archivo. La carga útil XML está incrustada dentro de un PDF/A-3 Envoltorio de archivo, que produce un único archivo que los humanos abren y los sistemas de contabilidad analizan. Este tutorial utiliza las mismas capturas de pantalla tomadas en el lienzo: /pdf4metest/sample/10 page.pdf para el portador visual y /pdf4metest/zugfred invoice/version2.xml para los datos estructurados, con la salida híbrida aterrizando en /pdf4meoutput bajo un nombre único con prefijo GUID. Listo para producción en menos de 10 minutos.
Dos pasos para obtener archivos en Dropbox, una acción de PDF4me y un paso para crear archivos en Dropbox. El PDF es el soporte legible para humanos; el XML es el dato legible para máquinas. PDF4me los combina en un único archivo híbrido PDF/A-3 que cumple con la normativa alemana de facturación electrónica B2B de 2025. Sin código, sin herramientas de escritorio, sin SDK de Java.
Preguntas y respuestas basadas en el porqué
¿Por qué ZUGFeRD? Debido a las normas de facturación electrónica de la UE y a la legislación alemana Ley de Oportunidades de Crecimiento Se hicieron obligatorias las facturas estructuradas para las transacciones B2B. ZUGFeRD es el formato híbrido que resuelve ambos problemas: los usuarios obtienen un PDF normal, mientras que los sistemas de cuentas por pagar y ERP obtienen el XML estructurado integrado en el mismo archivo. Un solo documento, dos lectores.
¿Por qué dos pasos para obtener el contenido del archivo? Una obtiene el PDF visual que se convierte en la carcasa del portador (la página que abre el destinatario); la otra obtiene el XML ZUGFeRD estructurado que se convierte en el archivo adjunto incrustado dentro del portador. Ambas salidas alimentan Crear factura ZUGFeRD: PDF como Contenido del archivo PDF, XML como Datos XML de la factura.
¿Por qué aparece "2.0-XML" en el menú desplegable combinado? Se requiere ZUGFeRD 2.0+ para el mandato alemán de 2025 (la versión anterior 1.0 no lo cumple). El sufijo "-XML" le indica al conector que la carga útil de su factura ya está en formato XML ZUGFeRD. Seleccione 2.0-JSON o 2.0-CSV Para fuentes de datos estructuradas, el conector las convierte al esquema antes de incrustarlas.
Por qué XML con PDF y no Solo XML¿ XML con PDF Devuelve el formato híbrido canónico ZUGFeRD: un archivo PDF/A-3 con el XML adjunto en su interior. Solo XML Devuelve únicamente el XML. La mayoría de los escenarios de facturación saliente envían el archivo híbrido porque los clientes esperan abrir un PDF; XmlOnly es para flujos directos de ERP a ERP.
Lo que obtendrás
Aporte: Una factura en formato PDF de 10 páginas (el soporte visual) y un archivo XML ZUGFeRD (los datos estructurados). Producción: Un único archivo PDF/A-3 con el XML incrustado en su interior, alineado con EN 16931, conformidad BASIC, listo para enviar por correo electrónico a los clientes, archivar en SharePoint o publicar en su ERP. El paso Crear archivo de Dropbox lo escribe de nuevo en /pdf4meoutput bajo una única guid() + headers/FileName nombre para que las ejecuciones simultáneas nunca colisionen.
Lo que necesitas
- Power Automate. Abrir Power Automate. Crea un nuevo flujo en la nube (instantáneo o automatizado).
- Clave API de PDF4me. Obtén tu clave APIConéctalo cuando añadas Crear factura ZUGFeRD. ¿Es la primera vez? Ver Conectar PDF4me con Power Automate.
- Dropbox (o SharePoint, OneDrive). Aloja el PDF de origen, el XML ZUGFeRD y la carpeta de salida. Este tutorial utiliza Dropbox en todo momento.
- Un archivo XML de ZUGFeRD. Alineado con EN 16931. El repositorio incluye un archivo de inicio en ZUGFeRD-invoice-sample-2.0.xml; cambiar nombre a
versión2.xmlSi quieres que las capturas de pantalla se reproduzcan exactamente.
El flujo de un vistazo
- Activar manualmente un flujo (o Cuando se crea un archivo en Dropbox para automatización).
- Dropbox Obtener contenido del archivo para el portador PDF (
/pdf4metest/sample/10 page.pdf). - Dropbox Obtener contenido del archivo para el XML de ZUGFeRD (
/pdf4metest/zugfred invoice/version2.xml). - PDF4me Crear factura ZUGFeRD con
2.0-XML,XmlWithPdf,BASIC, renderizar en, idiomade. - Dropbox Crear archivo a
/pdf4meoutputconguid() + headers/FileNamepara un nombre de salida sin colisiones.
Descripción general del flujo completo

Cinco pasos apilados de arriba a abajo. Cada acción de Dropbox muestra el icono azul de contenido de archivo; PDF4me Create ZUGFeRD Invoice se encuentra en el medio. Ambas salidas de Get-file alimentan la misma acción de PDF4me; el contenido de archivo de PDF4me alimenta Create file.
Paso 1: Activar el flujo
- En Power Automate, haga clic + Crear, elegir Flujo de nube instantáneo.
- Nómbralo
Create ZUGFeRD Invoice from Dropbox, elegir Activar manualmente un flujo, haga clic Crear. - Una vez que hayas conectado las piezas móviles, puedes cambiar el gatillo por Cuando se crea un archivo en Dropbox (
/pdf4metest/zugfred invoice/) así que cada nuevo XML activa la ejecución automáticamente. Las mismas acciones posteriores, sin reconstrucción.
Paso 2: Obtén el PDF del transportista desde Dropbox.
Flujo hasta ahora: Activador → Obtener contenido del archivo (PDF).
- Haga clic + Nuevo paso. Buscar Dropbox, elegir Obtener el contenido del archivo usando la rutaInicia sesión en tu conexión de Dropbox si se te solicita.
- Archivo.
/pdf4metest/sample/10 page.pdfEsta es la factura visual que abre su cliente. - Parámetros avanzados → Inferir tipo de contenido. Sí (Power Automate utiliza la extensión del archivo y los bytes para etiquetar el tipo de contenido, de modo que PDF4me sepa que se trata de datos PDF).
- Guardar. El resultado Contenido del archivo se convierte en el PDF de origen para la incrustación de ZUGFeRD en el paso 4.
Obtener contenido del archivo (PDF): Configuración

El PDF del transportista en /pdf4metest/muestra/página 10.pdf. Inferir tipo de contenido Sí devuelve bytes PDF limpios que PDF4me puede encapsular en PDF/A-3.
Paso 3: Obtén el archivo XML de ZUGFeRD desde Dropbox.
Flujo hasta ahora: Obtener contenido del archivo (PDF) → Obtener contenido del archivo (XML).
- Haga clic + Nuevo paso. Añadir otro Dropbox → Obtener el contenido del archivo usando la ruta. Cámbiale el nombre a Obtener el contenido del archivo 1 (Power Automate hace esto automáticamente) para que las dos acciones de Dropbox sean distinguibles.
- Archivo.
/pdf4metest/zugfred invoice/version2.xml. Esta es la carga útil XML ZUGFeRD alineada con EN 16931. - Parámetros avanzados → Inferir tipo de contenido. Sí.
- Guardar. El resultado Contenido del archivo se convierte en los datos de factura estructurados que PDF4me incrustará dentro del híbrido PDF/A-3.
Obtener el contenido del archivo (XML): Configuración

La carga útil XML de ZUGFeRD en /pdf4metest/zugfred factura/versión2.xmlEste archivo se encuentra en ZUGFeRD 2.0 conformidad EN 16931; seleccione 2.0-XML en la siguiente acción para igualar.
Para dar una propina. ¿Necesitas validar el XML antes de incrustarlo? Deja un comentario. Componer acción entre el paso 3 y el paso 4 e inspeccionar Contenido del archivo en el historial de ejecución. ZUGFeRD XML siempre comienza con <?xml version="1.0" y contiene un Factura intersectorial Raíz para cargas útiles 2.x.
Paso 4: Crear la factura ZUGFeRD
Flujo hasta ahora: Activador → PDF → XML → Crear factura ZUGFeRD.
- Haga clic + Nuevo paso, buscar PDF4me, elegir Crear factura ZUGFeRDInicia sesión con tu clave API de PDF4me si no te has conectado antes.
- Versión ZUGFeRD y formato de entrada.
2.0-XMLEl menú desplegable combinado selecciona simultáneamente la versión de la especificación (2.0) y el formato de datos (XML). El prefijo "2.0" es el que cumple con el mandato alemán B2B de 2025. - Modo de salida.
XmlWithPdfDevuelve el archivo híbrido PDF/A-3 canónico con el XML adjunto en su interior. - Datos XML de factura. Contenido del archivo de Obtener el contenido del archivo 1 (el paso XML). Mapee solo este. No complete los campos JSON o CSV.
- Nivel de conformidad.
BASICPerfil básico con desglose de partidas e impuestos, y la mayor compatibilidad con receptores. Actualice a COMFORT o EXTENDED solo después de que el receptor confirme la compatibilidad. - Generar factura en PDF.
YesPDF4me vuelve a dibujar el contenido de la factura en el PDF del transportista utilizando sus datos, de modo que la página visible y el XML incrustado permanecen sincronizados. - Contenido del archivo. Contenido del archivo de Obtener el contenido del archivo (el paso del PDF). Esta es la carcasa del portador.
- Nombre del archivo.
abc.pdf(o el nombre real de su archivo fuente). Se utiliza para el contexto de seguimiento. - Parámetros avanzados → Idioma.
de(Etiquetas alemanas). Otros códigos aceptados:en, fr, it, es, nl, pl, pt, cs. - Ahorrar.
Crear factura ZUGFeRD: Configuración
Versión ZUGFeRD y formato de entrada: 2.0-XMLModo de salida: XML con PDFDatos XML de factura: Contenido del archivo desde el paso XMLNivel de conformidad: BÁSICOGenerar factura en PDF: SíContenido del archivo: Archivo de contenido del paso PDFNombre del archivo:abc.pdf
Idioma: de (Alemán, predeterminado)- Aceptado:
de, en, fr, ello, es, nl, pl, pt, cs - El XML permanece independiente del idioma; solo las etiquetas dibujadas en el PDF utilizan esta configuración regional.
Tres combinaciones que realmente usarás. 2.0-XML cuando su sistema ascendente ya emite XML ZUGFeRD. 2.0-JSON cuando tu plataforma de facturación utiliza JSON y quieres que PDF4me lo convierta al esquema ZUGFeRD. 2.0-CSV Para exportaciones por lotes desde hojas de cálculo y herramientas de contabilidad. Las tres generan un resultado híbrido idéntico; la única diferencia radica en el formato de los datos que usted proporciona.
Paso 5: Guarda el PDF híbrido en Dropbox.
Flujo hasta ahora: PDF → XML → Crear factura ZUGFeRD → Crear archivo.
- Haga clic + Nuevo paso. Buscar Dropbox, elegir Crear archivo.
- Ruta de la carpeta.
/pdf4meoutput. - Nombre del archivo.
guid()+headers/FileName(de Crear factura ZUGFeRD). Dos maneras de rellenarla:- Expresión:
concat(guid(), '_', outputs('Create_ZUGFeRD_Invoice')?['headers']?['FileName']). O más sencillo: - Contenido dinámico: tipo
guid()primero (pestaña Expresión), luego agregueheaders/FileNamea partir de la salida de la acción PDF4me.
- Expresión:
- Contenido del archivo. Contenido del archivo de Crear factura ZUGFeRD.
- Conserva el flujo.
Crear archivo (Dropbox): Configuración

Salida escrita en /pdf4meoutput con un nombre con prefijo GUID. El GUID hace que las ejecuciones paralelas no tengan colisiones; encabezados/nombre de archivo La parte conserva un sufijo legible para humanos.
Ejecuta el flujo y verifica.
- Haga clic Prueba En la parte superior derecha, seleccione A mano, haga clic Prueba, entonces Flujo de ejecución.
- Tras unos segundos, cada acción muestra una marca de verificación verde.
- Abrir Dropbox
/pdf4meoutputEl nuevo archivo coincide<guid>_<filename>.pdf. - Descárguelo. Ábralo con cualquier visor de PDF para ver la factura. Ábralo con cualquier herramienta de AP compatible con ZUGFeRD (o descomprímalo con una herramienta compatible con ZIP) para ver el archivo incrustado.
factur-x.xml/zugferd.xmladjunto.
¿Qué produjiste exactamente? A PDF/A-3 PDF de archivo con un ZUGFeRD 2.0 integrado EN 16931 Archivo XML. El número de páginas del PDF y el contenido visual coinciden con la factura original de 10 páginas (porque Generar factura en PDF Sí). El XML interno cumple con el requisito de datos estructurados del mandato B2B alemán. Un archivo, dos lectores.
ZUGFeRD vs Factur-X vs XRechnung en 30 segundos
| Formato | Dónde se utiliza | Tipo de salida |
|---|---|---|
| ZUGFeRD | Germany B2B, EU buyers | Hybrid PDF/A-3 + embedded XML (this blog) |
| Factur-X | France, sister format technically identical to ZUGFeRD 2.x | Hybrid PDF/A-3 + embedded XML |
| XRechnung | German public sector (federal, state, municipal) | Strict pure-XML profile |
El flujo que acaba de crear produce ZUGFeRD; cambie a un flujo de trabajo Factur-X sin necesidad de modificaciones (el mismo archivo híbrido funciona a ambos lados del Rin). Para la facturación del sector público alemán, cambie el Nivel de Conformidad por un perfil alineado con XRechnung cuando el receptor exija XML puro.
Variaciones comunes que puedes agregar sin reconstruir
.json o .csv archivo. Cambie el menú desplegable combinado a 2.0-JSON o 2.0-CSV. Mapea la coincidencia Datos JSON de la factura o Datos CSV de facturas campo. PDF4me convierte al esquema ZUGFeRD antes de incrustarlo.concat('Factura-', utcNow(), '.pdf') como nombre del archivo adjunto. El cliente recibe la factura híbrida directamente.Solución de problemas de errores reales
ZUGFeRD 1.0 no cumple con el mandato alemán B2B de 2025. Si su producción debe cumplir con el mandato, elija siempre una 2.0-* Combinación en el menú desplegable combinado.
Asigne solo el campo que coincida con su selección del menú desplegable. Power Automate no le impedirá rellenar ambos, pero la acción generará un error de validación al ejecutarse. Deje los demás campos de formato vacíos.
Con Generar factura en PDF desactivado, PDF4me incrusta el XML pero no vuelve a dibujar el contenido de la factura. El PDF del transportista que envió en Contenido del archivo Permanece como está. Desactívelo únicamente si el PDF de su proveedor ya muestra el contenido de la factura visualmente.
EXTENDED agrega campos específicos de la industria más allá de EN 16931 y es rechazado por receptores sintonizados para la línea base. Comience con BÁSICO Para pruebas de compatibilidad; solo avance cuando el comprador o el sistema ERP confirmen la compatibilidad.
Próximos pasos
El mismo patrón de cinco pasos funciona para cualquier automatización de documentos en Power Automate: activar, obtener los datos de entrada, ejecutar la acción PDF4me y escribir el resultado. Una vez que implementas una, las siguientes no cuestan prácticamente nada.