Power Automate for Desktopで請求書作成を自動化|ExcelからPDF作成まで徹底解説

Power Automate for Desktop
できること「効果検証/フロー」
請求書 手動作成
VS
請求書 自動作成
この記事でわかること
・Power Automate for Desktop を使った請求書作成自動化の全体像
・手動作成と自動化の作業時間・効率の違い
・ExcelからPDF請求書を自動生成する具体的なフロー構成
・インボイス制度に対応した請求書自動化の考え方
目次
Power Automate Desktop で 請求書を自動作成
手動作成 vs 自動作成:時間と効率の比較
自動化のメリット:生産性向上とエラー削減
Power Automate を使った請求書作成の具体的な手順
よくある質問(FAQ)
Power Automate for Desktop で請求書を自動作成
毎月発生する請求書作成を、できるだけ効率化したいと感じたことはありませんか?
本記事では、Power Automate for Desktop を活用し、Excelで管理している契約管理表をもとに、請求書の作成からPDF出力までを自動化する方法を解説します。
手動作成と自動作成の作業時間を比較しながら、請求書自動化によってどれだけ業務効率が改善されるのかを、実測データをもとに紹介します。
Power Automate for Desktopは、デスクトップ向け Power Automateとも呼ばれ、Microsoft社が提供している RPA ツールです。 RPA は「Robotic Process Automation /ロボティック・プロセス・オートメーション」の略で、「パソコン業務を自動化するためのツール」のことです。Windows上で行われる作業を Power Automate for Desktop に実施させることで、人手で行ってきた定型的な事務作業を自動化し効率化することができます。Windows 10 ユーザーやWindows 11 ユーザーは無料から、この自動化ツールを使うことができます。
なお、本記事で解説している「請求書作成を自動化する Power Automate for Desktop サンプルフロー」は無料でダウンロード可能です。
実際に動作するフローを、ご自身の環境で確認できるため、業務への適用検討やPoC用途にもご活用いただけます。
手動作成 vs 自動作成:時間と効率の比較
今回は、請求書作成 を行う際に手動で作業を行った場合と、 Power Automate for Desktop を使用した場合で、作業時間がどれだけ違うのかを Power Automate for Desktop で 請求書作成 を自動化して実際に比較検証します。
請求書作成は、件数が増えるほど手作業の負担やミスが発生しやすい業務です。
Power Automate for Desktop による自動化は、こうした定型業務を安定して処理できる点が大きなメリットです。
内容は契約内容をまとめた契約管理表を元に、お客様ごとの 請求書 を作成する作業です。動画では3件の 請求書作成 を自動化しています。
手動作成
手動で 請求書 を作成します。
エクセル でまとめている契約管理表から、月次の 請求書 を手動で作成することを想定します。
自動作成
Power Automate for Desktop を使用して 請求書 を作成します 。
エクセル でまとめている 契約管理表から、月次の 請求書 を Power Automate for Desktop が自動で作成します。
Power Automate for Desktop 請求書 自動作成動画
請求書作成 を自動化する動画です。 Power Automate for Desktop の動作を動画にしています。
エクセル でまとめている 契約管理表を開き、 請求書 エクセル に1件ずつ書き込み、PDFの 請求書 に変換・作成しています。
自動化のメリット:生産性向上とエラー削減
3件の 請求書作成 で検証したところ、 請求書 手動作成が7分30秒、 請求書 自動作成が55秒で約6分30秒の差があります。
手動で行った場合は入力ミスや操作ミスなどでさらに時間がかかる可能性もあるので、 Power Automate for Desktop で行うのは速くて正確にできて、とても生産的ですね。
自動化の効果:件数が増えた場合の時間削減効果
今回の結果を元に、件数が増えた場合に、どのような時間となるかを算定してみます。
| 経過月数 | 作成件数 | 手動作成 | 自動作成 |
|---|---|---|---|
| 1ヶ月目 | 50 | 2時間5分 | 15分 |
| 3ヶ月目 | 150 | 6時間15分 | 45分 |
| 6ヶ月目 | 300 | 12時間30分 | 1時間30分 |
| 9ヶ月目 | 450 | 18時間45分 | 2時間15分 |
| 12 ヶ月目 | 600 | 25時間 | 3時間 |
このように、請求書作成のような「件数が増えるほど時間がかかる業務」は、Power Automate for Desktop による自動化で非常に高い費用対効果を得ることができます。
1か月に1回50件の手動入力をする場合、1年間では25時間かかります。
Power Automate for Desktop で自動入力すると、1年間で3時間となります。22時間の効率化が達成できます。
Power Automate for Desktop を専用マシンで動作させれば、1年間で25時間の効率化が達成できます。
なお、 請求書作成 を自動化する Power Automate for Desktop を作成するためにかかった時間は、本サンプルでは3時間でした。
Power Automate for Desktop 作成時間を差し引いても、1年間で22時間の効率化が達成できると言えます。
さらに、1回の作業件数が多い業務や、定期的に発生する単純作業を自動化し、長期的に繰り返し使うことで効率化効果は高くなりますね。
自動化によってデータ入力業務から解放され、空いた時間は他の重要業務に活用することができます。
次のようなことへの活用も考えられます。
・見積書を自動作成
・発注書を自動作成
・納品書を自動作成
・領収書を自動作成
Power Automate for Desktop で自動化する 請求書 などの 帳票 を増やせば増やすほど、効率効果も高くなりますよ。
Power Automate を使った請求書作成の具体的な手順
ここからは、Power Automate for Desktop を使って請求書作成を自動化するための具体的なフロー構成を解説します。
Excelで管理している契約情報を取得し、請求書テンプレートへ転記、PDF化するまでの一連の流れです。
※フロー解説と動画で扱っている 請求書 はフォーマットは異なります。
以降のフロー解説では最新版の 請求書 のフォーマット( インボイス制度対応 )を使用しています。
請求書作成 自動化では、契約管理表からデータを取得して 請求書 を作成し、 PDF 化するフローを作成しました。①~④が概要手順です。
①:「契約管理表( Excel )」からデータを取得する。
②:①取得したデータを元に「請求書( Excel )」を作成する。
③:「請求書( Excel )」を PDFに変換し、出力する。
図1 請求書 作成 自動化フローイメージ
この方法を使えば、Excelで作成した請求書をPower Automate for Desktop から自動でPDF化することができます
契約管理表( Excel )の内容です。
請求書 テンプレート( Excel )の内容です。
2つの赤枠の部分はご自身の環境に合わせて修正してください。
作成する 請求書 ( PDF )の内容です。
フロー作成手順
それでは、自動化フローを作成する手順を1からご紹介します。
①変数を2つ設定
各変数の名前と説明については下記の表に記載しています。
| 変数名 | 値 | 説明 |
|---|---|---|
| %Excel行番号% | 3 | Excelの行番号を設定する変数です。 |
| %登録番号% | T9999999999999 | インボイス登録における登録番号を設定する変数です。 今回は便宜上、左記の値を設定しています。 |
%Excel行番号% の値を変数にしておくことで、後の処理で扱いやすくしています。
%登録番号% の値を変えれば、 インボイス制度対応 の 請求書 作成が可能です。
②Excelの起動
契約管理表( Excel )を開きます。
「Excelの起動」には「次のドキュメントを開く」、
「ドキュメントパス」には 契約管理表( Excel )のパスを指定します。
③ Excel ワークシートから単一のセルを読み取る
「Excel ワークシートから読み取る」アクションを2つ設定します。
1つ目の「Excel ワークシートから読み取る」アクション
各アクションで設定する値は下記のようにしています。
最後に、「生成された変数」を「 請求書 番号」という名前に変更しておきます。
①で設定した変数「%Excel行番号%」の初期値は3なので、下記赤枠の 請求書 番号を取得できます。
2つ目の「Excel ワークシートから読み取る」アクション
各アクションで設定する値は下記のようにしています。
最後に、「生成された変数」を「お客様名」という名前に変更しておきます。
同様に、下記赤枠のお客様名を取得できます。
④ Excel ワークシートからセルを範囲を指定して読み取る
「Excel ワークシートから読み取る」アクションを3つ設定します。
契約管理表( Excel )のセルの値を読み取り、取得します。
1つ目の「Excel ワークシートから読み取る」アクション
各アクションで設定する値は下記のようにしています。
最後に、「生成された変数」を「品名」という名前に変更しておきます。
D列の%Excel行番号%行目~%Excel行番号+4%行目、つまり3行目~7行目までの値を取得できます。
2つ目の「Excel ワークシートから読み取る」アクション
各アクションで設定する値は下記のようにしています。赤枠以外は先ほどと同様の値です。
最後に、「生成された変数」を「数量」という名前に変更しておきます。
E列の3行目~7行目までの値を取得できます。
3つ目の「Excel ワークシートから読み取る」アクション
各アクションで設定する値は下記のようにしています。赤枠以外は先ほどと同様の値です。
最後に、「生成された変数」を「単価」という名前に変更しておきます。
F列の3行目~7行目までの値を取得できます。
⑤ 請求書 テンプレート( Excel )の起動
読み取った値を 請求書 に記載するために、 請求書 テンプレート( Excel )を開きます。
「Excelの起動」には「次のドキュメントを開く」、
「ドキュメントパス」には 請求書 テンプレート( Excel )のパスを指定します。
⑥ Excel ワークシートに書き込む
「Excel ワークシートから読み取る」アクションを6つ設定します。
請求書 テンプレート( Excel )に合計6か所のセルに書き込みます。
各アクションで設定する値は下記のようにしています。
同様に残りの5つのアクションにも値を設定します。
各アクションで設定する値は下記のようにしています。
| Excelインスタンス | 書き込む値 | 書き込みモード | 列 | 行 |
|---|---|---|---|---|
| %ExcelInstance2% | %お客様名% | 指定したセル上 | B | 12 |
| %ExcelInstance2% | 登録番号:%登録番号% | 指定したセル上 | L | 5 |
| %ExcelInstance2% | No.%請求書番号% | 指定したセル上 | M | 12 |
| %ExcelInstance2% | %品名% | 指定したセル上 | C | 21 |
| %ExcelInstance2% | %数量% | 指定したセル上 | K | 21 |
| %ExcelInstance2% | %単価% | 指定したセル上 | L | 21 |
ここで一度フローを実行してみると、しっかりと書き込みが行われていることを確認できます。
⑦ 変数を2つ設定
請求書 ( Excel )と 請求書 ( PDF )を保存するためのパスを設定します。
各変数の名前と説明については下記の表に記載しています。
| 変数名 | 値 | 説明 |
|---|---|---|
| %ExcelFilePath% | C:\PowerAutomateDesktop請求書シナリオサンプル\作成済請求書\%お客様名%様.xlsx | 請求書( Excel )の保存先パスを設定します。 |
| %PdfFilePath% | C:\PowerAutomateDesktop請求書シナリオサンプル\作成済請求書\%お客様名%様.pdf | 請求書(PDF)の保存先パスを設定します。 |
ファイル名を「%お客様名%様.xlsx」 や 「%お客様名%様.pdf」 と設定することで、
「株式会社A.xlsx」のようにお客様名をファイル名として保存することができます。
⑧名前を付けて保存
作成した 請求書 に名前を付けて保存します。
「Excelを閉じる」アクションを追加します。
「Excelインスタンス」には「%ExcelInstance%」
「Excelを閉じる前」には「名前を付けてドキュメントを保存」
「ドキュメント形式」には「Excelブック(.xlsx)」
「ドキュメントパス」には⑦で設定した「%ExcelFilePath%」を設定します。
⑨ VBScript の実行
「VBScript の実行」アクションを使用して、作成した 請求書 ( Excel )をPDF形式に変換します。
「VBScript の実行」に、以下のコードを入力します。
Dim ExcelDoc
‘エクセルファイルを開く’
Set Excel = CreateObject(“Excel.Application”)
Set ExcelDoc = Excel.Workbooks.open(“%ExcelFilePath%”)
‘PDFファイルを作成する’
Excel.ActiveSheet.ExportAsFixedFormat 0, “%PdfFilePath%” ,0, 1, 0,,,0
‘Excelファイルを閉じる’
Excel.ActiveWorkbook.Close
Excel.Application.Quit
VBScript を使用して Excel を PDF に変換する、方法についてはMicrosoft社のページでも詳細を確認できます。
本記事もMicrosoft社の内容を参考に構成しています。
⑩ 請求書 ( Excel )を削除
「ファイルの削除」アクションを追加します。
「削除するファイル」に「%ExcelFilePath%」を設定することで、
作成した 請求書 ( Excel )を削除し、 請求書 (PDF)の方のみ残すことができます。
以上で、
①契約管理表( Excel )の情報を取得
② 請求書 テンプレート( Excel )に書き込み
③ 請求書 ( Excel )をPDF化
という処理を組むことができました。
ですが、上記で作成したフローだけでは契約管理表( Excel )のうちの1社(株式会社A)の情報しか 請求書 化できていません。
なので、契約管理表( Excel )に記載のある全ての情報を 請求書 化できるようにアクションを追加していきます。
⑪ 変数を大きくする
「変数を大きくする」アクションを追加します。
「変数名」に「%Excel行番号%」、
「大きくする数値」に「5」を設定します。

変数%Excel行番号%(初期値は3)を大きくすることで、次の処理を行う際の読み取り位置を変えることができます。

⑫ 読み取り開始位置を設定するラベルを作成
「ラベル」アクションを一番始めの「Excelワークシートから読み取る」アクションの直前に追加します。
「ラベル名」は任意の名前を設定します。今回は「読み取り開始ラベル」とします。
⑬「移動先」アクションを追加
フローコンソールの最後に戻り、「移動先」アクションを追加します。
ラベルには⑫で作成したラベルに移動するように設定し、
「Excel ワークシートから読み取る」アクションを最初からもう一度行うように設定します。
⑭読み取り終了位置を設定するラベルを作成
「ラベル」アクションを追加します。
「ラベル名」は任意の名前を設定します。今回は「読み取り終了ラベル」とします。
⑮「if」アクションを設定
「if」アクションを「お客様名」を読み取るアクションの次に追加します。
「最初のオペランド」には「%お客様名%」、
「演算子」には「と等しい」、
「2番目のオペランド」には「%”%」を設定します。
「%”%」とは空であるという意味を表しています。
⑯「移動先」アクションを追加
⑮で設定した「if」アクションの中に「移動先」アクションを追加します。
⑫、⑬の手順によって「読み取り開始ラベル」に戻る「移動先」アクションを通過するごとに
契約管理表( Excel )の読み取りを行うアクションに戻ります。
その際に、「お客様名」のセルが空の場合「読み取り終了ラベル」に移動する処理を組むことで
意図的にループ処理を終わらせるようにフローを組んでいます。
⑰契約管理表( Excel )を閉じる
最後に契約管理表( Excel )を閉じて完了です。
最後にフローを動かして実行結果を確認してみます。
無事、契約管理表( Excel )に記載のある情報を 請求書 化し、PDF形式で出力することができました。
まとめ と よくある質問(FAQ)
Power Automate for Desktop の活用で、 請求書 作成 時間を短縮したり、 実行方法によっては退社後に自動作業をすることが可能となり、業務を効率化することができます。
請求書作成に限らず、毎月・毎週発生する定型業務であれば、同じ考え方で Power Automate for Desktop を活用することができます。
さらに、人は人による判断が必要な重要業務に注力することができるようになり、生産性の向上や売上の向上に繋げることができます。
最後に、Power Automate Desktop で 請求書を自動作成することに関して、よくいただく質問を示します。
1.Power Automateで請求書作成を自動化するにはどのような準備が必要ですか?
Power Automate for Desktop で請求書作成を自動化するには、Windowsパソコンと、請求書作成に必要なExcelデータがあれば対応可能です。請求一覧情報、請求書のフォーマットデータは弊社のサンプルフローにも含まれています。
2.請求書の手動作成と自動作成でどの程度の時間短縮が可能ですか?
本記事での簡単な請求書フォーマットで3件の 請求書作成 を比較検証したところ、 請求書 手動作成が7分30秒、 請求書 自動作成が55秒で約6分30秒の差がありました。
3.請求書同様に業務の自動化ができるものはありますか?
請求書作成以外にも、見積書、発注書、納品書、領収書の自動作成が可能です。






































