インボイス制度に対応したExcel請求書をPowerAutomateで自動生成してみた

2023-03-23
技術

請求書 1という有名な Excel テンプレートがあります。

古くから Excel で作成する標準的な請求書として使われてきたマイクロソフト公式のフォーマットです。

今回は、

  • このフォーマットをインボイス制度対応にアップデート(登録番号と取引年月日の追加)し、
  • SharePoint リストの売上データを利用して、
  • PowerAutomate で Excel ファイルに出力し請求書を自動生成

してみます。

SharePoint リストの準備

2 つのリストを作成し、サンプルデータを入力します。

  • 顧客リスト
  • 売上リスト

powerautomate invoice 01

powerautomate invoice 02

売上リストの「顧客」プロパティは顧客リストの参照になっています。参照を利用することで 2 つのリストに簡単なリレーションを構成します。

powerautomate invoice 03

Excel テンプレートの準備

請求書 1に以下の変更を加えます。

  • インボイス制度に必要な取引年月日の欄の追加
  • 自社の情報と登録番号の入力
  • data テーブルの作成とデータのリンク
  • customer テーブルとデータのリンク

powerautomate invoice 04

powerautomate invoice 05

powerautomate invoice 06

フローの作成

  • 手動トリガー
  • [getSalesList] SharePoint の売上リストから「請求書作成済」チェックのついてないものを取得
  • [forEachSales] 売上と顧客 Id を配列変数として定義しデータを追加
  • [distinctCustomerId] 顧客 Id の重複を削除
  • [forEachCustomer]それぞれの顧客 Id に対して
    • [getCustomerData] 顧客リストからデータを取得
    • [setInvoiceNo] インボイス No を「yyMM + 連番」で生成
    • [getTemplate, createExcelBookFromTemplate] 請求書テンプレートから「請求書_(顧客名)_yyyyMMdd-HHmmss」の形式でファイルを作成
    • [appendCustomer] 顧客データを Excel の customer テーブルに追加
    • [filterSales] 売上データのうちこの顧客 Id のものをフィルター
    • [forEachSalesByCustomer] それぞれの売上データに対して
      • [appendSales] 売上データを Excel の data テーブルに追加
  • [updateInvoiceCreated] SharePoint の売上リストの「請求書作成済」にチェックを入れる

powerautomate invoice 07

変数の説明

変数名 用途
arrSalesList 取得した売上データ
arrCustomerId 取得した売上データの顧客 Id
varFileName Excel ファイル名
varCustomer 顧客データ、発行日、伝票番号
varInvoiceNo 請求書番号
varSerialNo 請求書番号の連番部分

フローの実行

実行ボタンを押します。 powerautomate invoice 08

2 枚の請求書が作成されました。 powerautomate invoice 09

powerautomate invoice 10

売上リストの「請求書作成済」にチェックが入っていることを確認します。

powerautomate invoice 11

ご相談は無料にて承っております。お気軽にお問い合わせください!