Passa al contenuto principale

Creare una fattura ZUGFeRD in Power Automate da un PDF + XML di Dropbox: un flusso di lavoro in 5 fasi

· 21 minuti di lettura
SEO and Content Writer

Germania Legge sulle opportunità di crescita ha trasformato le fatture elettroniche ibride in stile ZUGFeRD da un "optional" a un requisito B2B. 1° gennaio 2025 Ogni azienda tedesca deve essere in grado di ricevere fatture elettroniche strutturate, con obblighi di invio completi introdotti gradualmente entro 2028Il percorso più rapido per qualsiasi team Microsoft 365 è un flusso Power Automate a cinque azioni: Attiva manualmente → Dropbox Ottieni il contenuto del file (PDF) → Dropbox Ottieni il contenuto del file (XML) → PDF4me Crea fattura ZUGFeRD → Dropbox Crea fileIl payload XML è incorporato all'interno di un PDF/A-3 Un contenitore di archiviazione che produce un singolo file apribile dagli esseri umani e analizzabile dai sistemi contabili. Questa procedura guidata utilizza le schermate esatte catturate nell'area di lavoro: /pdf4metest/sample/10 page.pdf per il vettore visivo e /pdf4metest/zugfred invoice/version2.xml per i dati strutturati, con l'output ibrido che atterra in /pdf4meoutput con un nome univoco preceduto da GUID. Pronto per la produzione in meno di 10 minuti.

Il flusso in sintesi
1. Manually trigger a flow
Manual trigger for testing. Swap for SharePoint When a file is created, Dropbox When a file is created, or any storage trigger in production.
2. Dropbox Get file content (PDF)
Reads the visual carrier from /pdf4metest/sample/10 page.pdf with Infer Content Type Yes. This is the PDF the recipient sees.
3. Dropbox Get file content (XML)
Reads the structured ZUGFeRD XML from /pdf4metest/zugfred invoice/version2.xml with Infer Content Type Yes. This is what accounting systems parse.
4. PDF4me Create ZUGFeRD Invoice
Combines both inputs as 2.0-XML format, XmlWithPdf output mode, BASIC conformance, Render Invoice on PDF Yes, Language de. Embeds the XML inside a PDF/A-3.
5. Dropbox Create file
Writes the hybrid file to /pdf4meoutput with guid()+headers/FileName so reruns never collide.
La versione breve

Due passaggi per il recupero del file tramite Dropbox, un'azione con PDF4me e un passaggio per la creazione del file tramite Dropbox. Il PDF è il supporto leggibile dall'uomo; l'XML è il dato leggibile dalla macchina. PDF4me racchiude entrambi in un unico file ibrido PDF/A-3 che soddisfa i requisiti della normativa tedesca sulla fatturazione elettronica B2B per il 2025. Nessun codice, nessun programma desktop, nessun SDK Java.

Domande e risposte basate sul "perché"

Perché proprio ZUGFeRD? Poiché le norme sulla fatturazione elettronica a livello UE e quelle della Germania Legge sulle opportunità di crescita ha reso obbligatorie le fatture strutturate per il B2B. ZUGFeRD è il formato ibrido che risolve entrambi i problemi: gli utenti ottengono un normale PDF, mentre i sistemi di contabilità fornitori e ERP ottengono l'XML strutturato incorporato nello stesso file. Un unico documento, due lettori.

Perché due passaggi per ottenere il contenuto del file? Uno recupera il PDF visivo che diventa il contenitore (la pagina che il destinatario apre); l'altro recupera l'XML ZUGFeRD strutturato che diventa l'allegato incorporato all'interno del contenitore. Entrambi gli output alimentano Crea fattura ZUGFeRD: PDF come Contenuto del file PDF, XML come Dati XML della fattura.

Perché "2.0-XML" nel menu a tendina combinato? Per rispettare il mandato tedesco del 2025 è richiesto ZUGFeRD 2.0+ (la versione precedente 1.0 non è sufficiente). Il suffisso "-XML" indica al connettore che il payload della fattura è già in formato XML ZUGFeRD. 2.0-JSON O 2.0-CSV per le origini dati strutturate; il connettore le converte nello schema prima di incorporarle.

Perché XmlWithPdf e non Solo XML? XmlWithPdf restituisce l'ibrido ZUGFeRD canonico: un file PDF/A-3 con l'XML allegato all'interno. Solo XML Restituisce solo il file XML. Nella maggior parte degli scenari di fatturazione in uscita viene inviato il file ibrido perché i clienti si aspettano di aprire un PDF; XmlOnly è pensato per i flussi diretti da ERP a ERP.


Cosa riceverai

Ingresso: Una fattura in formato PDF di 10 pagine (il supporto visivo) e un file XML ZUGFeRD (i dati strutturati). Produzione: Un singolo file PDF/A-3 con l'XML incorporato al suo interno, allineato a EN 16931, conforme a BASIC, pronto per essere inviato via e-mail ai clienti, archiviato in SharePoint o pubblicato nel tuo ERP. Il passaggio di creazione del file Dropbox lo scrive nuovamente in /pdf4meoutput sotto un unico guid() + headers/FileName nome in modo che le esecuzioni simultanee non entrino mai in conflitto.


Di cosa hai bisogno

  • Power Automate. Open Power Automate. Crea un nuovo flusso cloud (istantaneo o automatizzato).
  • Chiave API di PDF4me. Ottieni la tua chiave API. Collegalo quando aggiungi Crea fattura ZUGFeRD. È la prima volta? Vedi Collega PDF4me a Power Automate.
  • Dropbox (o SharePoint, OneDrive). Ospita il PDF di origine, il file XML ZUGFeRD e la cartella di output. Questa procedura guidata utilizza Dropbox per tutta la sua durata.
  • Un file XML ZUGFeRD. Allineato alla norma EN 16931. Il repository include un file di avvio all'indirizzo ZUGFeRD-invoice-sample-2.0.xml; rinominare in versione2.xml se vuoi replicare esattamente gli screenshot.

Il flusso in sintesi

  1. Avviare manualmente un flusso (O Quando viene creato un file in Dropbox per l'automazione).
  2. Dropbox Ottieni il contenuto del file per il vettore PDF (/pdf4metest/sample/10 page.pdf).
  3. Dropbox Ottieni il contenuto del file per il file XML ZUGFeRD (/pdf4metest/zugfred invoice/version2.xml).
  4. PDF4me crea la fattura ZUGFeRD con 2.0-XML, XmlWithPdf, BASIC, render attivo, lingua de.
  5. Dropbox Crea file A /pdf4meoutput con guid() + headers/FileName per un nome di output senza collisioni.

Panoramica completa del flusso

Canvas di Power Automate che mostra il flusso ZUGFeRD a cinque azioni: Attiva manualmente un flusso, Ottieni contenuto file (PDF), Ottieni contenuto file 1 (XML), Crea fattura ZUGFeRD, Crea file - il tutto collegato verticalmente con le icone di Dropbox e PDF4me

Cinque passaggi impilati dall'alto verso il basso. Ogni azione di Dropbox mostra l'icona blu del contenuto del file; PDF4me Create ZUGFeRD Invoice si trova al centro. Entrambi gli output Get-file alimentano la stessa azione di PDF4me; File Content di PDF4me alimenta Create file.


Fase 1: innescare il flusso

  1. In Power Automate, clicca + Crea, scegliere Flusso di nuvole istantaneo.
  2. Dagli un nome Create ZUGFeRD Invoice from Dropbox, scegliere Avviare manualmente un flusso, clicca Creare.
  3. Una volta che hai collegato le parti mobili puoi sostituire il grilletto con Quando viene creato un file in Dropbox (/pdf4metest/zugfred invoice/Quindi ogni nuovo file XML attiva automaticamente l'esecuzione. Stesse azioni a valle, nessuna ricostruzione.

Passaggio 2: Scarica il PDF del vettore da Dropbox

Flusso finora: Attiva → Ottieni il contenuto del file (PDF).

  1. Fare clic + Nuovo passo. Cerca Dropbox, scegliere Ottieni il contenuto del file utilizzando il percorsoAccedi al tuo account Dropbox se richiesto.
  2. File. /pdf4metest/sample/10 page.pdfQuesta è la fattura visiva che il tuo cliente apre.
  3. Parametri avanzatiDedurre il tipo di contenuto. (Power Automate utilizza l'estensione del file e i byte per etichettare il tipo di contenuto, in modo che PDF4me sappia che si tratta di dati PDF).
  4. Salva. L'output Contenuto del file diventa il PDF sorgente per l'incorporamento ZUGFeRD nella fase 4.

Scarica il contenuto del file (PDF): Configurazione

Ottieni l'azione sul contenuto del file con File impostato su /pdf4metest/sample/10 page.pdf e Inferisci il tipo di contenuto impostato su Sì in Parametri avanzati, Connesso a Dropbox

Il vettore PDF a /pdf4metest/sample/10 page.pdf. Infer Content Type Yes restituisce byte PDF puliti che PDF4me può convertire in PDF/A-3.


Passaggio 3: Scarica il file XML di ZUGFeRD da Dropbox

Flusso finora: Ottieni il contenuto del file (PDF) → Ottieni il contenuto del file (XML).

  1. Fare clic + Nuovo passoAggiungine un altro Dropbox → Ottieni il contenuto del file utilizzando il percorsoRinominalo in Ottieni il contenuto del file 1 (Power Automate lo fa automaticamente) quindi le due azioni di Dropbox sono distinguibili.
  2. File. /pdf4metest/zugfred invoice/version2.xmlQuesto è il payload XML ZUGFeRD conforme alla norma EN 16931.
  3. Parametri avanzatiDedurre il tipo di contenuto. .
  4. Salva. L'output Contenuto del file diventa il formato dei dati strutturati della fattura che PDF4me incorporerà all'interno del documento ibrido PDF/A-3.

Ottieni il contenuto del file (XML): Configurazione

Ottieni il contenuto del file 1 azione con File impostato su /pdf4metest/zugfred invoice/version2.xml e Infer Content Type impostato su Sì in Parametri avanzati, Connesso a Dropbox

Il payload XML ZUGFeRD a /pdf4metest/zugfred invoice/version2.xmlQuesto file si trova in conformità con ZUGFeRD 2.0 EN 16931; selezionare 2.0-XML nella prossima azione da abbinare.

Per una mancia. Devi convalidare l'XML prima di incorporarlo? Inserisci un Comporre azione tra la Fase 3 e la Fase 4 e ispezionare Contenuto del file nella cronologia di esecuzione. ZUGFeRD XML inizia sempre con <?xml version="1.0" e contiene un Fattura intersettoriale Permesso di root per i payload 2.x.


Passaggio 4: Creare la fattura ZUGFeRD

Flusso finora: Attiva → PDF → XML → Crea fattura ZUGFeRD.

  1. Fare clic + Nuovo passo, ricerca PDF4me, scegliere Crea fattura ZUGFeRDAccedi con la tua chiave API di PDF4me se non ti sei mai connesso prima.
  2. Versione e formato di input di ZUGFeRD. 2.0-XMLIl menu a tendina combinato seleziona contemporaneamente sia la versione della specifica (2.0) che il formato dei dati (XML). Il prefisso "2.0" è ciò che soddisfa il mandato tedesco B2B del 2025.
  3. Modalità di uscita. XmlWithPdfRestituisce il file ibrido PDF/A-3 canonico con l'XML allegato al suo interno.
  4. Dati XML della fattura. Contenuto del file da Ottieni il contenuto del file 1 (il passaggio XML). Mappa solo questo. Non popolare i campi JSON o CSV.
  5. Livello di conformità. BASICProfilo base con dettagli e ripartizione delle imposte, massima compatibilità con il destinatario. Passa al profilo COMFORT o EXTENDED solo dopo che il destinatario ha confermato la propria disponibilità.
  6. Genera fattura in formato PDF. YesPDF4me ridisegna il contenuto della fattura sul PDF del corriere utilizzando i tuoi dati, in modo che la pagina visibile e l'XML incorporato rimangano sincronizzati.
  7. Contenuto del file. Contenuto del file da Ottieni il contenuto del file (il passaggio PDF). Questo è il guscio portante.
  8. Nome del file. abc.pdf (o il nome effettivo del file sorgente). Utilizzato per il contesto di tracciamento.
  9. Parametri avanzatiLingua. de (Etichette tedesche). Altri codici accettati: en, fr, it, es, nl, pl, pt, cs.
  10. Salva.

Creazione fattura ZUGFeRD: Configurazione

Campi principali obbligatori
  • Versione e formato di input di ZUGFeRD: 2.0-XML
  • Modalità di uscita: XmlWithPdf
  • Dati XML della fatturaPassaggio : Contenuto del file da XML
  • Livello di conformità: DI BASE
  • Genera fattura in formato PDF:
  • Contenuto del filePassaggio : Contenuto del file dal PDF
  • Nome del file: abc.pdf
Parametri avanzati
  • Lingua: Di (Tedesco, predefinito)
  • Accettato: di, in, fr, it, es, nl, pl, pt, cs
  • Il file XML rimane indipendente dalla lingua; solo le etichette visualizzate sul PDF utilizzano questa impostazione locale.

Tre combinazioni che userete davvero. 2.0-XML quando il tuo sistema a monte emette già ZUGFeRD XML. 2.0-JSON Quando la tua piattaforma di fatturazione utilizza il formato JSON e desideri che PDF4me lo converta nello schema ZUGFeRD. 2.0-CSV Per l'esportazione in batch da fogli di calcolo e strumenti di contabilità. Tutti e tre producono un output ibrido identico; la differenza sta solo nel formato dei dati forniti.


Passaggio 5: Salva il PDF ibrido su Dropbox

Flusso finora: PDF → XML → Crea fattura ZUGFeRD → Crea file.

  1. Fare clic + Nuovo passo. Ricerca Dropbox, scegliere Crea file.
  2. Percorso cartella. /pdf4meoutput.
  3. Nome del file. guid() + headers/FileName (da Crea fattura ZUGFeRD). Due modi per compilarlo:
    • Espressione: concat(guid(), '_', outputs('Create_ZUGFeRD_Invoice')?['headers']?['FileName'])Oppure, in modo più semplice:
    • Contenuti dinamici: tipo guid() prima (scheda Espressione), quindi aggiungi headers/FileName dall'output dell'azione PDF4me.
  4. Contenuto del file. Contenuto del file da Crea fattura ZUGFeRD.
  5. Salva il flusso.

Crea file (Dropbox): Configurazione

Crea un'azione Dropbox con percorso cartella /pdf4meoutput, nome file impostato su espressione guid() seguito da intestazioni/contenuto dinamico FileName dall'azione PDF4me e contenuto file mappato dall'output PDF4me, connesso a Dropbox

Output scritto su /pdf4meoutput con un nome preceduto da GUID. Il GUID rende le esecuzioni parallele prive di collisioni; intestazioni/NomeFile la parte mantiene un suffisso leggibile dall'uomo.


Esegui il flusso e verifica

  1. Fare clic Test in alto a destra, seleziona Manualmente, clicca Test, Poi Esecuzione del flusso.
  2. Dopo alcuni secondi, ogni azione viene contrassegnata da un segno di spunta verde.
  3. Apri Dropbox /pdf4meoutputIl nuovo file corrisponde <guid>_<filename>.pdf.
  4. Scaricalo. Aprilo in qualsiasi visualizzatore PDF per vedere la fattura. Aprilo in qualsiasi strumento AP compatibile con ZUGFeRD (o decomprimilo con uno strumento compatibile con ZIP) per vedere il contenuto incorporato factur-x.xml / zugferd.xml allegato.

Che cosa hai prodotto concretamente? UN PDF/A-3 PDF di archivio con un ZUGFeRD 2.0 integrato EN 16931 File XML. Il conteggio delle pagine PDF e il contenuto visivo corrispondono alla fattura originale di 10 pagine (perché Genera fattura in formato PDF (la risposta era Sì). L'XML al suo interno soddisfa il requisito dei dati strutturati previsto dal mandato B2B tedesco. Un file, due lettori.


ZUGFeRD vs Factur-X vs XRechnung in 30 secondi

FormatoDove viene utilizzatoTipo di output
ZUGFeRDGermany B2B, EU buyersHybrid PDF/A-3 + embedded XML (this blog)
Factur-XFrance, sister format technically identical to ZUGFeRD 2.xHybrid PDF/A-3 + embedded XML
XRechnungGerman public sector (federal, state, municipal)Strict pure-XML profile

Il flusso appena creato produce ZUGFeRD; passa a un flusso di lavoro Factur-X senza apportare modifiche (lo stesso file ibrido funziona su entrambe le sponde del Reno). Per la fatturazione del settore pubblico tedesco, sostituisci il Livello di conformità con un profilo allineato a XRechnung quando il destinatario richiede XML puro.


Varianti comuni che puoi aggiungere senza ricostruire

Sorgente JSON o CSV anziché XML
Scambia il passaggio 3 per recuperare un .json O .csv file. Modifica il menu a tendina combinato in 2.0-JSON O 2.0-CSVMappa la corrispondenza Dati JSON della fattura O Dati della fattura in formato CSV campo. PDF4me converte nello schema ZUGFeRD prima dell'incorporamento.
SharePoint al posto di Dropbox
Sostituire i connettori Dropbox con SharePoint Ottieni il contenuto del file utilizzando il percorso E SharePoint Crea fileStessa mappatura dei campi; cambia solo l'autorità del connettore. Funziona allo stesso modo con OneDrive for Business o Azure Blob Storage.
Outlook Invia invece di (o dopo) Crea file
Aggiungere Outlook Invia un'e-mail (V2) con l'indirizzo del cliente Mappa Contenuto del file come contenuto allegato e concat('Fattura-', utcNow(), '.pdf') come nome dell'allegato. Il cliente riceve direttamente la fattura ibrida.
Convalidare il PDF/A prima dell'archiviazione
Catena PDF4me Convalida PDF/A Dopo il passaggio 4. Se la convalida ha esito positivo, scrivi nell'archivio a lungo termine; in caso di esito negativo, genera un avviso in Teams. Massima sicurezza per i flussi di lavoro sensibili alla conformità.

Risoluzione dei problemi relativi a errori reali

Selezionato 1.0-XML, output non conforme al mandato.

ZUGFeRD 1.0 non soddisfa il mandato tedesco B2B 2025. Se il tuo output deve essere conforme al mandato, scegli sempre un 2.0-* combinazione nel menu a tendina combinato.

Sono stati inseriti sia i dati XML della fattura che i dati JSON della fattura.

Mappa solo il campo corrispondente alla tua scelta nel menu a tendina. Power Automate non ti impedirà di compilare entrambi i campi, ma l'azione genererà un errore di convalida durante l'esecuzione. Lascia vuoti gli altri campi di formato.

Visualizza fattura in PDF disattivato + nessuna visualizzazione pre-renderizzata

Con Genera fattura in formato PDF disattivato, PDF4me incorpora l'XML ma non ridisegna il contenuto della fattura. Il PDF del corriere che hai inviato in Contenuto del file Rimane invariato. Disattivalo solo se il PDF del tuo corriere mostra già visivamente il contenuto della fattura.

ESTESA rifiutata dal ricevitore

EXTENDED aggiunge campi specifici del settore oltre EN 16931 e viene rifiutato dai ricevitori sintonizzati sulla linea di base. Inizia con DI BASE Per i test di compatibilità; procedere solo quando l'acquirente o il sistema ERP confermano il supporto.


Prossimi passi

Lo stesso schema in cinque fasi funziona per qualsiasi automazione di documenti in Power Automate: attiva, recupera gli input, esegui l'azione PDF4me, scrivi il risultato. Una volta che ne hai pubblicato uno, i successivi costano praticamente nulla.