メインコンテンツへスキップ

Power AutomateでDropboxのPDF + XMLからZUGFeRD請求書を作成する:5つのアクションからなるワークフロー

· 1分で読める
SEO and Content Writer

ドイツの 成長機会法 ZUGFeRDスタイルのハイブリッド電子請求書は、「あれば便利」なものからB2Bの必須要件へと変化した。 2025年1月1日 ドイツのすべての企業は構造化された電子請求書を受け取ることができなければならず、完全な送信義務は段階的に導入される。 2028Microsoft 365 チームにとって最も効率的な方法は、5 つのアクションからなる Power Automate フローです。 手動でトリガー → Dropbox ファイルコンテンツを取得 (PDF) → Dropbox ファイルコンテンツを取得 (XML) → PDF4me ZUGFeRD 請求書を作成 → Dropbox ファイルを作成XMLペイロードは、 PDF/A-3 アーカイブシェルは、人間が開いて会計システムが解析できる単一のファイルを生成します。このチュートリアルでは、キャンバスにキャプチャされたスクリーンショットをそのまま使用します。 /pdf4metest/sample/10 page.pdf 視覚キャリアおよび /pdf4metest/zugfred invoice/version2.xml 構造化データの場合、ハイブリッド出力は /pdf4meoutput 固有のGUIDプレフィックス名で提供されます。10分以内に本番環境への導入準備が完了します。

流れの概要
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.
要約版

Dropboxのファイル取得ステップが2つ、PDF4meのアクションが1つ、Dropboxのファイル作成ステップが1つ。PDFは人間が読める媒体であり、XMLは機械が読めるデータです。PDF4meはこれら両方を1つのPDF/A3ハイブリッドファイルにまとめ、2025年のドイツのB2B電子請求書義務化に対応します。コードもデスクトップツールもJava SDKも不要です。

なぜ?という問いに対する質疑応答​

そもそもなぜZUGFeRDなのか? EU全体の電子請求書規則とドイツの 成長機会法 B2B取引において構造化請求書が義務化されました。ZUGFeRDは、両方のニーズを満たすハイブリッド形式です。人間は通常のPDFファイルを受け取り、買掛金管理システムやERPシステムは同じファイル内に埋め込まれた構造化XMLを受け取ることができます。つまり、1つの成果物で2つの読み取り方法が可能なのです。

なぜ「ファイルの内容を取得する」手順が2つあるのか? 一方は、キャリアシェル(受信者が開くページ)となるビジュアルPDFを取得し、もう一方は、キャリア内に埋め込まれる添付ファイルとなる構造化されたZUGFeRD XMLを取得します。両方の出力は、Create ZUGFeRD Invoice: PDF asに渡されます。 PDFファイルの内容XMLとして 請求書XMLデータ。

複合ドロップダウンメニューに「2.0-XML」が含まれているのはなぜですか? ZUGFeRD 2.0+は2025年のドイツの義務化要件を満たしています(従来の1.0では要件を満たしません)。「-XML」サフィックスは、請求書ペイロードが既にZUGFeRD XML形式であることをコネクタに伝えます。 2.0-JSON または 2.0-CSV 構造化データソースの場合、コネクタは埋め込み前にスキーマに変換します。

なぜ XmlWithPdf そしてそうではない XMLのみ? XmlWithPdf 標準的なZUGFeRDハイブリッド形式、つまりXMLが添付されたPDF/A-3ファイルを返します。 XMLのみ XMLのみを返します。ほとんどの請求書発行シナリオでは、顧客がPDFを開くことを想定しているため、ハイブリッドファイルが送信されます。XmlOnlyは、ERP間直接データ転送用です。


得られるもの​

入力: 10ページの請求書PDF(視覚的な媒体)とZUGFeRD XMLファイル(構造化データ)。 出力: XMLが埋め込まれた単一のPDF/A-3ファイル。EN 16931に準拠し、BASIC準拠。顧客へのメール送信、SharePointへのアーカイブ、またはERPへの投稿に対応。Dropboxのファイル作成ステップで書き戻されます。 /pdf4meoutput 独自の guid() + headers/FileName 同時実行が衝突しないように名前を付ける。


必要なもの​

  • パワーオートマタ。 Power Automateを開く新しいクラウドフローを作成します(インスタントまたは自動)。
  • PDF4me APIキー。 APIキーを取得してくださいZUGFeRD請求書の作成を追加する際に接続してください。初めてですか? PDF4meをPower Automateに接続する。
  • Dropbox (またはSharePoint、OneDrive)。ソースPDF、ZUGFeRD XML、および出力フォルダをホストします。このチュートリアルでは、Dropboxを全面的に使用します。
  • ZUGFeRD XMLファイルEN 16931 に準拠しています。リポジトリにはスターターが含まれています。 ZUGFeRD-invoice-sample-2.0.xml; をリネーム version2.xml スクリーンショットを完全に複製したい場合。

フローの概要​

  1. フローを手動でトリガーする (または ファイルが作成されると (自動化のためにDropboxに保存)。
  2. Dropbox ファイルコンテンツを取得 キャリア用PDF(/pdf4metest/sample/10 page.pdf)
  3. Dropbox ファイルコンテンツを取得 ZUGFeRD XML の場合 (/pdf4metest/zugfred invoice/version2.xml)
  4. PDF4meでZUGFeRD請求書を作成 と 2.0-XML、 XmlWithPdf、 BASIC、レンダリング、言語 de。
  5. Dropbox ファイルの作成 に /pdf4meoutput と guid() + headers/FileName 衝突のない出力名にするため。

フローの概要全体​

Power Automateキャンバスには、5つのアクションからなるZUGFeRDフローが表示されています。フローの手動トリガー、ファイルコンテンツの取得(PDF)、ファイルコンテンツの取得1(XML)、ZUGFeRD請求書の作成、ファイルの作成。これらはすべてDropboxとPDF4meのアイコンで縦方向に接続されています。

上から下へ5つのステップが積み重ねられています。各Dropboxアクションには青いファイルコンテンツアイコンが表示され、PDF4meの「ZUGFeRD請求書の作成」が中央に配置されています。どちらの「ファイルの取得」出力も同じPDF4meアクションに送られ、PDF4meの「ファイルコンテンツ」が「ファイルの作成」に送られます。


ステップ1:フローをトリガーする​

  1. で パワーオートマタ、 クリック + 作成、 選ぶ 瞬時のクラウドフロー。
  2. 名前をつけて Create ZUGFeRD Invoice from Dropbox、 選ぶ フローを手動でトリガーする、 クリック 作成する。
  3. 可動部品を配線したら、トリガーを交換できます。 ファイルが作成されると Dropbox 内 (/pdf4metest/zugfred invoice/)そのため、新しいXMLファイルが追加されるたびに自動的に実行がトリガーされます。下流の処理は同じで、再構築は不要です。

ステップ2:DropboxからキャリアPDFを取得する​

これまでの流れ: トリガー → ファイルコンテンツ(PDF)を取得します。

  1. クリック + 新しいステップ。 検索する Dropbox、 選ぶ パスを使用してファイルコンテンツを取得します指示が表示されたら、Dropboxアカウントにサインインしてください。
  2. ファイル。 /pdf4metest/sample/10 page.pdfこれは、お客様が開く画面上の請求書です。
  3. 詳細パラメータ → コンテンツタイプを推測する。 はい (Power Automateはファイル拡張子とバイト数を使用してコンテンツの種類を識別し、PDF4meがそれがPDFデータであることを認識できるようにします。)
  4. 保存します。出力 ファイルの内容 ステップ4でZUGFeRDを埋め込むためのソースPDFになります。

ファイルコンテンツ(PDF)を取得:設定​

ファイルコンテンツ取得アクションで、ファイル設定を /pdf4metest/sample/10 page.pdf、詳細パラメーターでコンテンツタイプの推測を「はい」に設定し、Dropboxに接続済み。

キャリアのPDFは /pdf4metest/sample/10ページ.pdf. コンテンツタイプを推測する Yes は、PDF4me が PDF/A-3 にラップできるクリーンな PDF バイトを返します。


ステップ3:DropboxからZUGFeRD XMLを取得する​

これまでの流れ: ファイルコンテンツを取得(PDF)→ ファイルコンテンツを取得(XML)

  1. クリック + 新しいステップもう一つ追加する Dropbox → パスを使用してファイルコンテンツを取得する名前を次のように変更します。 ファイルコンテンツ1を取得 (Power Automate はこれを自動的に行うため)2 つの Dropbox アクションを区別できます。
  2. ファイル。 /pdf4metest/zugfred invoice/version2.xmlこれは、EN 16931に準拠したZUGFeRD XMLペイロードです。
  3. 詳細パラメータ → コンテンツタイプを推測する。 はい。
  4. 保存します。出力 ファイルの内容 これは、PDF4meがPDF/A-3ハイブリッド内に埋め込む構造化された請求書データになります。

ファイルコンテンツ(XML)の取得:設定​

ファイルコンテンツ1アクションを、ファイル設定を/pdf4metest/zugfred invoice/version2.xml、詳細パラメーターのコンテンツタイプ推測を「はい」に設定し、Dropboxに接続しました。

ZUGFeRD XMLペイロードは /pdf4metest/zugfred invoice/version2.xmlこのファイルは ZUGFeRD 2.0 EN 16931 準拠にあります。 2.0-XML 次のアクションで一致させます。

チップとして。 XMLを埋め込む前に検証する必要がありますか? 作曲する ステップ3とステップ4の間のアクションを検査する ファイルの内容 実行履歴では、ZUGFeRD XML は常に以下で始まります。 <?xml version="1.0" そして、 業界横断型請求書 2.x ペイロードのルート権限。


ステップ4:ZUGFeRD請求書を作成する​

これまでの流れ: トリガー → PDF → XML → ZUGFeRD請求書の作成。

  1. クリック + 新しいステップ、 検索 PDF4me、 選ぶ ZUGFeRD請求書を作成する以前に接続したことがない場合は、PDF4me APIキーを使用してサインインしてください。
  2. ZUGFeRDのバージョンと入力フォーマット。 2.0-XMLドロップダウンリストを組み合わせると、仕様バージョン(2.0)とデータ形式(XML)の両方を一度に選択できます。「2.0」という接頭辞は、2025年のドイツのB2B規制を満たすものです。
  3. 出力モード。 XmlWithPdfXMLが添付された、標準的なPDF/A-3ハイブリッドファイルを返します。
  4. 請求書のXMLデータ。 ファイルの内容 から ファイルコンテンツ1を取得 (XMLステップ)このステップのみをマッピングしてください。JSONまたはCSVフィールドにはデータを入力しないでください。
  5. 適合レベル。 BASICエントリーレベルのプロファイルで、明細項目と税金の内訳が表示され、最も幅広い受信機との互換性があります。受信機がサポートを確認した後でのみ、COMFORTまたはEXTENDEDにアップグレードしてください。
  6. 請求書をPDF形式でレンダリングする。 YesPDF4meは、お客様のデータを使用して運送業者のPDFに請求書の内容を再描画するため、表示されるページと埋め込まれたXMLが同期されます。
  7. ファイルの内容。 ファイルの内容 から ファイルの内容を取得する (PDFのステップ)。これはキャリアシェルです。
  8. ファイル名。 abc.pdf (または実際のソースファイル名)。トレースコンテキストに使用されます。
  9. 詳細パラメータ → 言語。 de (ドイツ語表記)。その他の承認済みコード: en, fr, it, es, nl, pl, pt, cs。
  10. 保存。

ZUGFeRD請求書の作成:設定​

必須コアフィールド
  • ZUGFeRDのバージョンと入力フォーマット: 2.0-XML
  • 出力モード: XmlWithPdf
  • 請求書のXMLデータ: XMLからのファイルコンテンツステップ
  • 適合レベル: ベーシック
  • 請求書をPDF形式でレンダリングする: はい
  • ファイルの内容PDFファイルコンテンツからのステップ
  • ファイル名: abc.pdf
詳細パラメータ
  • 言語: の (ドイツ語、デフォルト)
  • 承認済み: の、in、fr、it、es、nl、pl、pt、cs
  • XML自体は言語に依存しません。このロケールを使用するのは、PDF上に描画されるラベルのみです。

実際に使うことになる3つの組み合わせ。 2.0-XML 上流システムが既にZUGFeRD XMLを出力している場合。 2.0-JSON 請求プラットフォームがJSON形式で動作し、PDF4meでそれをZUGFeRDスキーマに変換したい場合。 2.0-CSV スプレッドシートや会計ツールからの一括エクスポートに対応しています。3つのツールはすべて同じハイブリッド出力を生成します。違いは、指定するデータ形式のみです。


ステップ5:ハイブリッドPDFをDropboxに保存する​

これまでの流れ: PDF → XML → ZUGFeRD請求書の作成 → ファイルの作成。

  1. クリック + 新しいステップ。 検索 Dropbox、 選ぶ ファイルを作成する。
  2. フォルダパス。 /pdf4meoutput。
  3. ファイル名。 guid() + headers/FileName (ZUGFeRD請求書の作成画面より)入力方法は2通りあります。
    • 表現: concat(guid(), '_', outputs('Create_ZUGFeRD_Invoice')?['headers']?['FileName'])あるいはもっと簡単に言うと:
    • 動的コンテンツ: タイプ guid() まず(式タブ)を追加し、 headers/FileName PDF4meアクションの出力から。
  4. ファイルの内容。 ファイルの内容 から ZUGFeRD請求書を作成する。
  5. 流れを保存する。

ファイルの作成 (Dropbox): 設定​

ファイルDropboxアクションを作成し、フォルダーパスを/pdf4meoutput、ファイル名をguid()式に続けてPDF4meアクションからのヘッダー/ファイル名の動的コンテンツ、ファイルコンテンツをPDF4me出力からマッピングし、Dropboxに接続します。

出力は以下に書き込まれます /pdf4meoutput GUID プレフィックス名付き。GUID により並列実行の衝突がなくなります。 ヘッダー/ファイル名 その部分は人間が読みやすい接尾辞を保持します。


フローを実行して検証する​

  1. クリック テスト 右上で、 手動で、 クリック テスト、 それから フローを実行する。
  2. 数秒後、すべての操作に緑色のチェックマークが表示されます。
  3. Dropboxを開く /pdf4meoutput新しいファイルは一致します <guid>_<filename>.pdf。
  4. ダウンロードしてください。任意のPDFビューアで開いて請求書を表示してください。埋め込みファイルを表示するには、ZUGFeRD対応のAPツールで開いてください(またはZIP対応ツールで解凍してください)。 factur-x.xml / zugferd.xml 添付ファイル。

実際に何を生産したのですか? A PDF/A-3 アーカイブされたPDF 組み込み型 ZUGFeRD 2.0 EN 16931 XMLファイル。PDFのページ数と視覚的な内容は、元の10ページの請求書と一致します(なぜなら 請求書をPDF形式でレンダリングする はい)。内部の XML は、ドイツの B2B 指令の構造化データ要件を満たしています。1 つのファイルで、2 つのリーダーが使用できます。


ZUGFeRD vs Factur-X vs XRechnung を30秒で比較​

形式使用される場所出力タイプ
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

先ほど作成したフローではZUGFeRDが生成されます。変更を加えることなくFactur-Xワークフローに切り替えてください(同じハイブリッドファイルがライン川の両岸で機能します)。ドイツの公共部門の請求書発行の場合、受信者が純粋なXMLを要求する場合は、適合レベルをXRechnungに準拠したプロファイルに切り替えてください。


再構築せずに追加できる一般的なバリエーション​

XMLの代わりにJSONまたはCSVソースを使用
ステップ 3 を入れ替えてフェッチします .json または .csv ファイル。結合ドロップダウンを次のように変更します。 2.0-JSON または 2.0-CSV一致するものをマッピングします 請求書JSONデータ または 請求書のCSVデータ フィールド。PDF4me は埋め込み前に ZUGFeRD スキーマに変換します。
Dropboxの代わりにSharePoint
Dropboxコネクタを置き換えます SharePoint パスを使用してファイルコンテンツを取得する そして SharePoint ファイルの作成フィールドマッピングは同じで、コネクタの権限のみが変更されます。OneDrive for Business または Azure Blob Storage でも同様に動作します。
Outlook 送信(ファイル作成の代わりに、または作成後に)
追加 Outlookでメールを送信する(バージョン2) 顧客の住所付き。地図 ファイルの内容 添付ファイルの内容として、 concat('Invoice-', utcNow(), '.pdf') 添付ファイル名として表示されます。顧客はハイブリッド請求書を直接受け取ります。
アーカイブ前にPDF/Aを検証する
チェーン PDF4me PDF/A の検証 ステップ4の後。検証が成功した場合は長期アーカイブに書き込み、失敗した場合はTeamsアラートに分岐します。コンプライアンスに配慮したワークフローのための万全の対策です。

実際のミスのトラブルシューティング​

1.0-XMLを選択しましたが、出力が要件を満たしていません。

ZUGFeRD 1.0 は 2025 年のドイツの B2B 義務を満たしていません。出力が義務に準拠する必要がある場合は、常に次のものを選択してください。 2.0-* 組み合わせドロップダウン内の組み合わせ。

請求書XMLデータと請求書JSONデータの両方が入力されています

ドロップダウンリストで選択した項目に一致する項目のみをマッピングしてください。Power Automateは両方に入力することを阻止しませんが、実行時に検証エラーが発生します。その他の書式フィールドは空欄のままにしてください。

PDFへの請求書レンダリングオフ + 事前レンダリングされたビジュアルなし

と 請求書をPDF形式でレンダリングする オフの場合、PDF4me は XML を埋め込みますが、請求書の内容を再描画しません。 ファイルの内容 そのままの状態を維持します。運送会社が発行するPDFファイルに請求書の内容が既に視覚的に表示されている場合にのみ、この機能をオフにしてください。

受信者によって拒否された延長

EXTENDED は EN 16931 を超える業界固有のフィールドを追加し、ベースライン用に調整された受信機では拒否されます。 ベーシック 互換性テストのため。購入者またはERPがサポートを確認した場合にのみ、次の段階に進んでください。


次のステップ​

Power Automate のあらゆるドキュメント自動化において、同じ 5 つのステップが機能します。トリガーの起動、入力データの取得、PDF4me アクションの実行、結果の書き込みです。一度リリースすれば、次回以降のリリースはほとんどコストがかかりません。