Zum Hauptinhalt springen

Erstellen einer ZUGFeRD-Rechnung in Power Automate aus einer Dropbox-PDF- und XML-Datei: Ein Workflow mit 5 Schritten

· 20 Minuten Lesezeit
SEO and Content Writer

Deutschlands Wachstumschancengesetz (Growth Opportunities Act) ZUGFeRD-basierte hybride E-Rechnungen wurden von einem „nice to have“ zu einer B2B-Anforderung. 1. Januar 2025 Jedes deutsche Unternehmen muss in der Lage sein, strukturierte elektronische Rechnungen zu empfangen, wobei die vollständigen Versandverpflichtungen schrittweise eingeführt werden bis 2028Der schnellste Weg für jedes Microsoft 365-Team ist ein Power Automate-Flow mit fünf Aktionen: Manuell auslösen → Dropbox: Dateiinhalt abrufen (PDF) → Dropbox: Dateiinhalt abrufen (XML) → PDF4me: ZUGFeRD-Rechnung erstellen → Dropbox: Datei erstellenDie XML-Nutzdaten sind in einem eingebettet PDF/A-3 Archivierungshülle, die eine einzige Datei erzeugt, die von Menschen geöffnet und von Buchhaltungssystemen analysiert wird. Diese Anleitung verwendet die exakten Screenshots, die im Canvas aufgenommen wurden: /pdf4metest/sample/10 page.pdf für den visuellen Träger und /pdf4metest/zugfred invoice/version2.xml für die strukturierten Daten, wobei die hybride Ausgabe in /pdf4meoutput unter einem eindeutigen, mit einer GUID beginnenden Namen. Produktionsbereit in weniger als 10 Minuten.

Der Fluss im Überblick
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.
Die Kurzfassung

Zwei Dropbox-Schritte zum Abrufen der Datei, eine PDF4me-Aktion und ein Dropbox-Schritt zum Erstellen der Datei. Die PDF-Datei dient als lesbares Medium, die XML-Datei als maschinenlesbare Daten. PDF4me wandelt beides in eine einzige PDF/A-3-Hybriddatei um, die die deutsche B2B-E-Rechnungspflicht von 2025 erfüllt. Kein Code, keine Desktop-Tools, kein Java SDK erforderlich.

Warum-basierte Fragen und Antworten

Warum überhaupt ZUGFeRD? Weil EU-weite Vorschriften zur elektronischen Rechnungsstellung und Deutschlands Wachstumschancengesetz Für B2B-Unternehmen wurden strukturierte Rechnungen verpflichtend. ZUGFeRD ist das Hybridformat, das beide Seiten bedient: Anwender erhalten ein normales PDF, während Kreditoren- und ERP-Systeme die strukturierte XML-Datei in derselben Datei eingebettet erhalten. Ein Dokument, zwei Leser.

Warum zwei Schritte zum Abrufen des Dateiinhalts? Eine Methode ruft das visuelle PDF ab, das zur Trägerseite wird (die Seite, die der Empfänger öffnet); die andere ruft das strukturierte ZUGFeRD-XML ab, das als Anhang in die Trägerseite eingebettet wird. Beide Ausgaben fließen in „ZUGFeRD-Rechnung erstellen: PDF als“ ein. Inhalt der PDF-Datei, XML als Rechnungs-XML-DatenDie

Warum steht in der kombinierten Dropdown-Liste „2.0-XML“? ZUGFeRD 2.0+ ist für die deutsche Rechnungslegungspflicht ab 2025 erforderlich (Version 1.0 genügt nicht). Das Suffix „-XML“ signalisiert dem Konnektor, dass Ihre Rechnungsdaten bereits im ZUGFeRD-XML-Format vorliegen. 2.0-JSON oder 2.0-CSV Bei strukturierten Datenquellen wandelt der Konnektor diese vor der Einbettung in das Schema um.

Warum XmlWithPdf und nicht Nur XML? XmlWithPdf Gibt das kanonische ZUGFeRD-Hybridformat zurück: eine PDF/A-3-Datei mit dem darin enthaltenen XML-Code. Nur XML Gibt nur das XML zurück. In den meisten Fällen, in denen ausgehende Rechnungen versendet werden, wird die Hybriddatei gesendet, da Kunden erwarten, eine PDF-Datei zu öffnen; XmlOnly ist für direkte ERP-zu-ERP-Datenübertragungen vorgesehen.


Was Sie erhalten

Eingang: Eine 10-seitige PDF-Rechnung (der visuelle Träger) und eine ZUGFeRD-XML-Datei (die strukturierten Daten). Ausgabe: Eine einzelne PDF/A-3-Datei mit eingebettetem XML-Code, EN 16931-konform, BASIC-konform, bereit zum Versenden per E-Mail an Kunden, zum Archivieren in SharePoint oder zum Übertragen in Ihr ERP-System. Der Dropbox-Schritt „Datei erstellen“ speichert die Datei zurück. /pdf4meoutput unter einer einzigartigen guid() + headers/FileName Name so, dass gleichzeitig ausgeführte Prozesse nie kollidieren.


Was Sie benötigen

  • Power AutomateDie Power Automate öffnen. Erstellen Sie einen neuen Cloud-Flow (sofort oder automatisiert).
  • PDF4me API-SchlüsselDie Holen Sie sich Ihren API-SchlüsselVerbinden Sie es, wenn Sie eine ZUGFeRD-Rechnung erstellen hinzufügen. Zum ersten Mal? Siehe Verbinden Sie PDF4me mit Power AutomateDie
  • Dropbox (oder SharePoint, OneDrive). Speichert die Quell-PDF-Datei, die ZUGFeRD-XML-Datei und den Ausgabeordner. In dieser Anleitung wird durchgehend Dropbox verwendet.
  • Eine ZUGFeRD-XML-DateiEN 16931-konform. Das Repository enthält einen Starter unter ZUGFeRD-invoice-sample-2.0.xml; umbenennen in version2.xml Wenn Sie die Screenshots exakt spiegeln möchten.

Der Flow auf einen Blick

  1. Einen Ablauf manuell auslösen (oder Wenn eine Datei erstellt wird (in Dropbox zur Automatisierung).
  2. Dropbox: Dateiinhalte abrufen für das Träger-PDF (/pdf4metest/sample/10 page.pdf).
  3. Dropbox: Dateiinhalte abrufen für das ZUGFeRD XML (/pdf4metest/zugfred invoice/version2.xml).
  4. PDF4me erstellt ZUGFeRD-Rechnung mit 2.0-XML, XmlWithPdf, BASIC, render on, language deDie
  5. Dropbox-Datei erstellen Zu /pdf4meoutput mit guid() + headers/FileName für einen kollisionsfreien Ausgabenamen.

Vollständige Ablaufübersicht

Power Automate-Canvas mit dem fünfstufigen ZUGFeRD-Flow: Flow manuell auslösen, Dateiinhalt abrufen (PDF), Dateiinhalt 1 abrufen (XML), ZUGFeRD-Rechnung erstellen, Datei erstellen – alle vertikal mit Dropbox- und PDF4me-Symbolen verbunden.

Fünf Schritte übereinander. Jede Dropbox-Aktion zeigt das blaue Dateiinhaltssymbol; „PDF4me: ZUGFeRD-Rechnung erstellen“ befindet sich in der Mitte. Beide „Datei abrufen“-Ausgaben speisen dieselbe PDF4me-Aktion; der Dateiinhalt von PDF4me speist die Aktion „Datei erstellen“.


Schritt 1: Den Ablauf auslösen

  1. In Power Automate, klicken + Erstellen, wählen Sofortiger WolkenflussDie
  2. Benenne es Create ZUGFeRD Invoice from Dropbox, wählen Einen Ablauf manuell auslösen, klicken ErstellenDie
  3. Sobald die beweglichen Teile verkabelt sind, können Sie den Auslöser austauschen gegen Wenn eine Datei erstellt wird in Dropbox (/pdf4metest/zugfred invoice/Jede neue XML-Datei löst also automatisch den Lauf aus. Gleiche Folgeaktionen, kein Neuaufbau erforderlich.

Schritt 2: Laden Sie die Carrier-PDF-Datei von Dropbox herunter

Bisheriger Ablauf: Auslöser → Dateiinhalt abrufen (PDF).

  1. Klicken + Neuer Schritt. Suchen nach Dropbox, wählen Dateiinhalt über den Pfad abrufenMelden Sie sich bei Ihrem Dropbox-Konto an, falls Sie dazu aufgefordert werden.
  2. DateiDie /pdf4metest/sample/10 page.pdfDies ist die visuelle Rechnung, die Ihr Kunde öffnet.
  3. Erweiterte ParameterInhaltstyp ableitenDie Ja (Power Automate verwendet die Dateierweiterung und die Bytes, um den Inhaltstyp zu kennzeichnen, damit PDF4me weiß, dass es sich um PDF-Daten handelt.)
  4. Speichern. Die Ausgabe Dateiinhalt wird in Schritt 4 zur Quell-PDF für die ZUGFeRD-Einbettung.

Dateiinhalt abrufen (PDF): Konfiguration

Die Aktion „Dateiinhalt abrufen“ ist auf „/pdf4metest/sample/10 page.pdf“ und „Inhaltstyp ableiten“ unter „Erweiterte Parameter“ auf „Ja“ eingestellt. Die Verbindung zu Dropbox ist hergestellt.

Das Carrier-PDF bei /pdf4metest/sample/10 page.pdf. Infer Content Type Yes gibt saubere PDF-Bytes zurück, die PDF4me in PDF/A-3 einbinden kann.


Schritt 3: Die ZUGFeRD-XML-Datei von Dropbox herunterladen

Bisheriger Ablauf: Dateiinhalt abrufen (PDF) → Dateiinhalt abrufen (XML).

  1. Klicken + Neuer SchrittFüge einen weiteren hinzu Dropbox → Dateiinhalte anhand des Pfads abrufenBenennen Sie es um in Dateiinhalt abrufen 1 (Power Automate erledigt dies automatisch), sodass die beiden Dropbox-Aktionen unterscheidbar sind.
  2. DateiDie /pdf4metest/zugfred invoice/version2.xmlDies ist die EN 16931-konforme ZUGFeRD-XML-Nutzlast.
  3. Erweiterte ParameterInhaltstyp ableitenDie JaDie
  4. Speichern. Die Ausgabe Dateiinhalt wird zu den strukturierten Rechnungsdaten, die PDF4me in das PDF/A-3-Hybrid einbettet.

Dateiinhalt abrufen (XML): Konfiguration

Dateiinhalt abrufen (Aktion 1) mit der Datei „/pdf4metest/zugfred invoice/version2.xml“ und der Option „Inhaltstyp ableiten“ unter „Erweiterte Parameter“ auf „Ja“ gesetzt. Verbindung zu Dropbox hergestellt.

Die ZUGFeRD-XML-Nutzlast bei /pdf4metest/zugfred invoice/version2.xmlDiese Datei entspricht der ZUGFeRD 2.0 EN 16931-Konformität; auswählen 2.0-XML in der nächsten passenden Aktion.

Als Trinkgeld. Muss das XML vor dem Einbetten validiert werden? Fügen Sie eine Komponieren Maßnahmen zwischen Schritt 3 und Schritt 4 prüfen Dateiinhalt im Ausführungsverlauf. ZUGFeRD XML beginnt immer mit <?xml version="1.0" und enthält ein Branchenübergreifende Rechnung Root für 2.x-Payloads.


Schritt 4: Erstellen Sie die ZUGFeRD-Rechnung.

Bisheriger Ablauf: Auslöser → PDF → XML → ZUGFeRD-Rechnung erstellen.

  1. Klicken + Neuer Schritt, suchen PDF4me, wählen ZUGFeRD-Rechnung erstellenMelden Sie sich mit Ihrem PDF4me-API-Schlüssel an, falls Sie noch keine Verbindung hergestellt haben.
  2. ZUGFeRD-Version und EingabeformatDie 2.0-XMLDie kombinierte Dropdown-Liste wählt sowohl die Spezifikationsversion (2.0) als auch das Datenformat (XML) gleichzeitig aus. Das Präfix „2.0“ erfüllt die Anforderungen der deutschen B2B-Richtlinie von 2025.
  3. AusgabemodusDie XmlWithPdfGibt die kanonische PDF/A-3-Hybriddatei mit dem darin enthaltenen XML-Code zurück.
  4. Rechnungs-XML-DatenDie Dateiinhalt aus Dateiinhalt abrufen 1 (Der XML-Schritt). Ordnen Sie nur diesen Schritt zu. Die JSON- oder CSV-Felder dürfen nicht befüllt werden.
  5. KonformitätsgradDie BASICEinstiegsprofil mit Einzelposten und Steueraufschlüsselung, breiteste Receiver-Kompatibilität. Upgrade auf COMFORT oder EXTENDED erst nach Bestätigung der Unterstützung durch den Receiver.
  6. Rechnung als PDF ausgebenDie YesPDF4me zeichnet den Rechnungsinhalt im PDF des Versanddienstleisters anhand Ihrer Daten neu, sodass die sichtbare Seite und das eingebettete XML synchron bleiben.
  7. DateiinhaltDie Dateiinhalt aus Dateiinhalt abrufen (der PDF-Schritt). Dies ist die Trägerhülle.
  8. DateinameDie abc.pdf (oder Ihr tatsächlicher Quelldateiname). Wird für den Ablaufverfolgungskontext verwendet.
  9. Erweiterte ParameterSpracheDie de (Deutsche Etiketten). Weitere akzeptierte Codes: en, fr, it, es, nl, pl, pt, csDie
  10. Speichern.

ZUGFeRD-Rechnung erstellen: Konfiguration

Pflichtfelder
  • ZUGFeRD-Version und Eingabeformat: 2.0-XML
  • Ausgabemodus: XmlWithPdf
  • Rechnungs-XML-Daten: Dateiinhalt aus XML-Schritt
  • Konformitätsgrad: BASIC
  • Rechnung als PDF ausgeben: Ja
  • DateiinhaltSchritt „Dateiinhalt aus PDF“
  • Dateiname: abc.pdf
Erweiterte Parameter
  • Sprache: von (Deutsch, Standardeinstellung)
  • Akzeptiert: of, in, fr, it, es, nl, pl, pt, cs
  • Das XML bleibt sprachneutral; nur die im PDF gezeichneten Beschriftungen verwenden dieses Gebietsschema.

Drei Kombinationen, die Sie tatsächlich nutzen werden. 2.0-XML wenn Ihr Upstream-System bereits ZUGFeRD-XML ausgibt. 2.0-JSON Wenn Ihre Abrechnungsplattform JSON verwendet und Sie möchten, dass PDF4me diese Daten in das ZUGFeRD-Schema konvertiert. 2.0-CSV Für den Stapelexport aus Tabellenkalkulations- und Buchhaltungsprogrammen. Alle drei erzeugen identische Hybrid-Ausgaben; der einzige Unterschied liegt in der von Ihnen bereitgestellten Datenstruktur.


Schritt 5: Hybrid-PDF in Dropbox speichern

Bisheriger Ablauf: PDF → XML → ZUGFeRD-Rechnung erstellen → Datei erstellen.

  1. Klicken + Neuer Schritt. Suchen Dropbox, wählen Datei erstellenDie
  2. OrdnerpfadDie /pdf4meoutputDie
  3. DateinameDie guid() + headers/FileName (aus „ZUGFeRD-Rechnung erstellen“). Zwei Möglichkeiten zum Ausfüllen:
    • Ausdruck: concat(guid(), '_', outputs('Create_ZUGFeRD_Invoice')?['headers']?['FileName'])Oder einfacher:
    • Dynamischer Inhalt: Typ guid() zuerst (Registerkarte „Ausdruck“), dann hinzufügen headers/FileName aus der PDF4me-Aktionsausgabe.
  4. DateiinhaltDie Dateiinhalt aus ZUGFeRD-Rechnung erstellenDie
  5. Den Arbeitsablauf beibehalten.

Datei erstellen (Dropbox): Konfiguration

Datei-Dropbox-Aktion mit Ordnerpfad /pdf4meoutput erstellen, Dateiname auf guid()-Ausdruck gefolgt von dynamischem Inhalt (headers/FileName) aus der PDF4me-Aktion festlegen und Dateiinhalt aus der PDF4me-Ausgabe zuordnen, mit Dropbox verbunden

Ausgabe geschrieben nach /pdf4meoutput mit einem GUID-präfixierten Namen. Die GUID sorgt für kollisionsfreie Parallelausführungen; die Header/Dateiname Teil behält eine für Menschen lesbare Endung.


Führen Sie den Flow aus und überprüfen Sie ihn.

  1. Klicken Prüfen oben rechts auswählen Manuell, klicken Prüfen, Dann Ablauf ausführenDie
  2. Nach wenigen Sekunden wird jede Aktion mit einem grünen Häkchen markiert.
  3. Dropbox öffnen /pdf4meoutputDie neue Datei stimmt überein <guid>_<filename>.pdfDie
  4. Laden Sie die Datei herunter. Öffnen Sie sie in einem beliebigen PDF-Reader, um die Rechnung anzuzeigen. Öffnen Sie sie in einem beliebigen ZUGFeRD-fähigen Kreditorenbuchhaltungstool (oder entpacken Sie sie mit einem ZIP-fähigen Tool), um die eingebetteten Daten anzuzeigen. factur-x.xml / zugferd.xml Anhang.

Was haben Sie tatsächlich produziert? A PDF/A-3 Archiv-PDF mit einem eingebettet ZUGFeRD 2.0 EN 16931 XML-Datei. Die Seitenzahl und der visuelle Inhalt der PDF-Datei stimmen mit der ursprünglichen 10-seitigen Rechnung überein (weil Rechnung als PDF ausgeben (Ja). Das enthaltene XML erfüllt die Anforderungen der deutschen B2B-Richtlinie an strukturierte Daten. Eine Datei, zwei Lesegeräte.


ZUGFeRD vs Factur-X vs XRechnung in 30 Sekunden

FormatWo es verwendet wirdAusgabetyp
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

Der soeben erstellte Workflow erzeugt ZUGFeRD-Dateien. Wechseln Sie ohne Änderungen zu einem Factur-X-Workflow (dieselbe Hybriddatei funktioniert beidseits des Rheins). Für die Rechnungsstellung im deutschen öffentlichen Sektor ersetzen Sie die Konformitätsstufe durch ein XRechnung-konformes Profil, wenn der Empfänger reines XML verlangt.


Häufige Variationen, die Sie hinzufügen können, ohne den Aufbau zu wiederholen

JSON- oder CSV-Quelle anstelle von XML
Tausche Schritt 3, um ein .json oder .csv Datei. Ändern Sie das kombinierte Dropdown-Menü in 2.0-JSON oder 2.0-CSVOrdnen Sie die übereinstimmenden Elemente zu. Rechnungs-JSON-Daten oder Rechnungsdaten (CSV-Datei) PDF4me konvertiert das Feld vor dem Einbetten in das ZUGFeRD-Schema.
SharePoint statt Dropbox
Ersetzen Sie die Dropbox-Konnektoren durch SharePoint: Dateiinhalte anhand des Pfads abrufen Und SharePoint-Datei erstellenGleiche Feldzuordnung; nur die Konnektorberechtigung ändert sich. Funktioniert genauso mit OneDrive for Business oder Azure Blob Storage.
Outlook-Senden anstelle (oder nach) der Dateierstellung
Hinzufügen Outlook E-Mail senden (V2) mit der Kundenadresse. Karte Dateiinhalt als Anhangsinhalt und concat('Rechnung-', utcNow(), '.pdf') als Anhangsnamen. Der Kunde erhält die Hybridrechnung direkt.
PDF/A vor der Archivierung prüfen
Kette PDF4me PDF/A validieren Nach Schritt 4: Bei erfolgreicher Validierung wird der Datensatz im Langzeitarchiv gespeichert; andernfalls wird eine Teams-Benachrichtigung ausgelöst. Doppelte Sicherheitsvorkehrungen für Compliance-relevante Arbeitsabläufe sind unerlässlich.

Behebung realer Fehler

Version 1.0-XML ausgewählt, Ausgabe aufgrund von Mandatsfehlern

ZUGFeRD 1.0 erfüllt nicht die deutsche B2B-Vorgabe von 2025. Wenn Ihre Ergebnisse der Vorgabe entsprechen müssen, wählen Sie immer eine 2.0-* Kombination im kombinierten Dropdown-Menü.

Sowohl die Rechnungs-XML-Daten als auch die Rechnungs-JSON-Daten wurden befüllt.

Ordnen Sie nur das Feld zu, das Ihrer Auswahl im Dropdown-Menü entspricht. Power Automate verhindert nicht, dass Sie beide Felder ausfüllen, die Aktion führt jedoch bei der Ausführung zu einem Validierungsfehler. Lassen Sie die anderen Formatierungsfelder leer.

Rechnung als PDF rendern deaktiviert + keine vorgerenderte Grafik

Mit Rechnung als PDF ausgeben Ausgeschaltet bettet PDF4me zwar das XML ein, aktualisiert aber nicht den Rechnungsinhalt. Die von Ihnen gesendete PDF-Datei des Spediteurs wird beibehalten. Dateiinhalt Bleibt unverändert. Nur deaktivieren, wenn die Rechnungsdaten in Ihrer PDF-Datei des Anbieters bereits visuell dargestellt werden.

EXTENDED wurde vom Empfänger abgelehnt

EXTENDED fügt branchenspezifische Felder über EN 16931 hinaus hinzu und wird von Empfängern, die auf die Basislinie abgestimmt sind, nicht akzeptiert. Beginnen Sie mit BASIC für Kompatibilitätstests; nur dann aktualisieren, wenn der Käufer oder das ERP-System die Unterstützung bestätigt.


Nächste Schritte

Das gleiche Fünf-Schritte-Muster funktioniert für jede Dokumentenautomatisierung in Power Automate: Auslöser erstellen, Eingaben abrufen, die PDF4me-Aktion ausführen, Ergebnis schreiben. Sobald Sie eine Automatisierung durchgeführt haben, sind die Kosten für weitere nahezu kostenlos.