Power Automate,Power Apps,SharePointの連携による領収書管理フローの作成

## はじめに
事業を行った際に生じた経費を確定申告時に計上するためには、領収書が必要です。
しかしながら、領収書の管理には多くの手間と時間を要します。

領収書の管理において手間のかかる要因は以下の5点が考えられます。
* 領収書の収集
    * 領収書を毎回収集し、整理する必要があります。特に複数の領収書を管理する場合や、領収書を紙で受け取る必要がある場合は手間がかかることがあります。
* 領収書の保管
    * 領収書を保管する場所や方法を決め、整理する必要があります。領収書が多い場合や、長期間保管する必要がある場合は、保管スペースの問題やファイリングの手間が発生することがあります。
* 領収書の内容の確認
    * 領収書の内容を確認し、正確な情報を記録する必要があります。特に複数の領収書を管理する場合や、支払先や支払方法が異なる場合は、内容の確認に時間がかかることがあります。
* 領収書の整理
    * 整理されていない領収書を探す必要がある場合や、特定の取引の領収書を見つける必要がある場合は、時間と労力を要することがあります。
* 領収書の書き換え
    * 領収書に誤りがある場合や、情報を追加する必要がある場合は、書き換える必要があります。書き換えたり、追加情報を記入する手間が発生することがあります。

また、上記の5点に加え、領収書の紛失や破損、流出なども領収書管理の際に生じうる課題であると考えられます。
これらの問題を解決する方法は、RPA技術による領収書管理の自動化が最も効果的であると考えられます。
今回は、Power Automate,Power Apps,ShrePoint,Outlookを用いて、下の画像のように領収書管理の自動化を実施します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/6ff295ce-c447-b425-b04c-55ca8b42fd97.png)
1. 申請者がPower Appsに領収書情報を入力する。
1. Power Appsに入力された情報がSharePointに記録される。
1. SharePointに情報が記録されるとPower Automateが起動する。
1. Power Automateのフローが作動し、担当者に領収書申請が行われたことを通知する。
1. 申請者に領収書申請が正常に行われたかどうかを通知する。


## Power Automateとは
Power Automate（旧Microsoft Flow）は、Microsoftが提供するビジネス用のワークフローツールです。

Power Automateを使用すると、繰り返し実行されるタスクやプロセスの自動化、異なるアプリケーションやサービス間のデータの連携、メールや通知の送信など、さまざまなタスクをプログラムすることができます。
さらに、Power Automateは、ビジネスプロセスの自動化を簡単に行うためのユーザーフレンドリーなインターフェースを提供しています。
### Power Automateの特徴
1. シンプルなノンコーディングアプローチ
Power Automateは、ノンコーディングでワークフローを作成できるため、開発者でなくても簡単に利用することが可能です。
2. 豊富な接続性
Power Automateは、数百のアプリやサービスとの接続が可能であり、既存のシステムやデータソースと統合することができます。例えば、Office 365、SharePoint、Twitter、Slackなど、多くのプラットフォームに対応しています。
3. 統合されたエコシステム
Power Automateは、Power Platformという統合されたエコシステムの一部であり、Power Appsを含む、他のPower Platformの製品と連携することができます。これにより、より一体化した有用なアプリケーションを構築することができます。
4. 多様なトリガーオプション
Power Automateは、クラウド フローを開始するイベントであるトリガーを多数提供しており、イベントベースのワークフローを作成することができます。例えば、特定の条件が満たされたとき、メールが受信されたとき、フォームが送信されたときなど、さまざまなトリガーを設定することができます。
5. ワークフローの自動化と自動化のカスタマイズ
Power Automateは、繰り返し業務やルーチン業務の自動化を支援する機能を提供しています。また、ワークフローのカスタマイズも可能であり、特定の業務プロセスに合わせてワークフローを設計することができます。
6. モバイル対応
Power Automateは、モバイルデバイスからも利用することができます。モバイルアプリケーションからワークフローを実行したり、通知を受け取ったりすることができます。
  これらの特徴により、Power Automateは効率的な業務プロセスの自動化をサポートし、生産性の向上や人的ミスの削減などの利点をもたらします。

## Power Appsとは

Power Appsはマイクロソフトが提供するビジネス用のアプリケーション開発プラットフォームです。

このプラットフォームを使用することで、従来のコーディングが必要なく、ビジネスアプリケーションを作成することができます。
Power Appsでは、SharePointを含むデータベースやウェブサービスと簡単に接続し、データの作成、編集、表示、共有などの機能を提供します。
また、ビジュアルなインターフェースや視覚的なデザインツールも備えており、アプリケーションの開発を容易にします。
従来の開発方法に比べて迅速かつ効率的なアプリケーションの作成が可能であり、ビジネスユーザーや非開発者にとっても使いやすいプラットフォームです。

### Power Appsの特徴

1. 低コード開発
プログラミングの知識がなくても、直感的なドラッグ＆ドロップインターフェースを使用してアプリを簡単に作成できます。開発労力を大幅に削減し、迅速なアプリの作成が可能です。
2. オートメーション
Power Appsは、ビジネスプロセスを簡単に自動化するためのワークフローと積極的なサポートを提供します。ビジネスロジックなどを視覚的に設定できるため、容易にビジネスフローを作成できます。
3. データ連携
Power Appsは、さまざまなシステムとシームレスに連携できるため、既存のデータベースやクラウドサービスとの統合が容易です。また、システム内のデータをリアルタイムで表示したり、変更したりできるため、リアルタイムでシステムの動向が得られます。
4. クロスプラットフォーム
Power Appsは、Web、モバイル、タブレット、およびデスクトップなど、さまざまなプラットフォームで動作するアプリを作成できます。モバイルアプリを作成するためのネイティブ機能も提供されています。
5. セキュリティとコンプライアンス
Power Appsは、データのセキュリティとコンプライアンスを重視しており、Azure Active Directoryなどの認証プロトコルをサポートしています。また、データの保護とアプリのアクセス制御を強化するために、さまざまなセキュリティ機能が組み込まれています。

## SharePointとは

SharePointは、マイクロソフトが提供するWebベースのコラボレーションプラットフォームです。

組織内での情報共有、文書管理、プロジェクト管理、ワークフローの自動化など、さまざまなビジネスプロセスをサポートする機能を提供しています。
ユーザーはWebブラウザを使用してアクセスし、共有ドキュメントの作成・編集、チーム間のコミュニケーション、タスクの追跡などを行うことができます。
また、Power AppsなどのカスタムアプリケーションやPower Automateでワークフローを作成して、組織の業務プロセスを自動化することも可能です。

### SharePointの特徴

1. ドキュメント管理
SharePointは、ドキュメントを効果的に管理するための機能を提供します。フォルダー、サブサイト、メタデータなどの機能により、ドキュメントの整理、検索、フィルタリングが容易になります。
2. ワークフロー
SharePointには、ビジネスプロセスの自動化やタスクの割り当てなどを行うためのワークフロー機能が統合されています。ユーザーは、ワークフローデザイナーを使用してカスタムワークフローを作成することもできます。
3. アクセス制御
SharePointでは、ユーザーやユーザーグループごとの細かいアクセス制御が可能です。さまざまなレベルの権限を設定し、ユーザーごとにアクセス権を制御することができます。
4. スケーラビリティ
SharePointは、大規模な組織に対応するために設計されており、大量のデータやユーザーを処理できるようになっています。

## Power Automate,Power Apps,SharePointの連携方法
Power Automate,Power Apps,SharePointの連携は、下の画像の流れになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/0c2173a7-b75f-0f84-ba20-bd9446bcc855.png)
1. SharePointのリスト情報とPower Appsを接続し、Power Appsに情報を入力する。
1. SharePointにリストが作成され、入力した情報が格納される。
1. SharePointにリストが作成されたことがトリガーとなり、Power Automateに登録したフローが実行される。


### SharePoint操作

SharePoint操作手順を紹介します。

1. Microsoftのサイトにアクセスし、アカウント作成またはログインする。
[Microsoftのサインアップページ](https://www.microsoft.com/rpsauth/v2/account/aad/signin?ruoverride=https%3A%2F%2Fwww.office.com%3Fauthtypeparamname%3Dauth&msafed=0&ru=https%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fmicrosoft-365%2Fsharepoint%2Fcollaboration%3Ff%3D255%26MSPPError%3D-2147207876%26username%3Doa-j%2540rgsis.com)
2. ログイン後、左上の赤枠の部分をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/c5dbccad-ac6a-7bab-b030-3104160bc498.png)
3. SharePointをクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/e46028cb-49c3-7b5d-2e1a-27a305d83154.png)
4. SarePointの画面上部にある「サイトの作成」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/c8441cd4-555a-0a14-ae21-66c1cd550999.png)
5. 「チームサイト」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/4e5ce87a-3c70-303e-0a7b-f8cd37c00436.png)
6. サイト名を記入し、「次へ」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/b0c678bc-cc73-1534-131a-242babae69fe.png)
7. 「新規」＞「リスト」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/d93237ab-bddb-2b6f-698d-673e972d5e5f.png)
8. 「空白のリスト」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/5b93101c-d507-749f-4d35-ebb64b6e6d83.png)
9. リストの名前を記入し、「作成」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/38c5c197-207c-0365-53c4-1356320369d4.png)
7. SharePointを編集するメンバーのメールアドレスまたは名前を記入した後に、「完了」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/78ed9c47-433e-1900-fdec-0d4e12c3219a.png)
8. 列を追加をクリックし、「テキスト」を選択し、「次へ」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/6e2afaf9-fd57-85e9-3cfb-4ecb130945b5.png)
9. 列の名前を「登録者名」と記入し、保存をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/26fcd40b-d2b5-adca-1e3b-fcc4cfde3e6a.png)
10. 列の追加をクリックし、「日付と時刻」を選択し、「次へ」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/7a698903-f79f-526e-74b6-32fd7c0a8ae1.png)
11. 列の名前を「登録日」と記入し、保存をクリックする。
同様にして、「領収書発行日」の列も作成する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/82a864d9-a67b-0781-3b40-a6a06f641b55.png)
12. 「タイトル」をクリックし、「列の設定」＞「列の表示/非表示」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/c5e6a6f1-1a2e-2eef-5a5a-67a2cdfee289.png)
13. 「添付ファイル」を選択し、保存する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/aac4a254-be13-37c1-4a02-e663c68b624d.png)
14. 下記の画像になっていれば、Sharepointの操作は完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/bd4e84d9-615b-3e3a-7d7d-85a9a5d11721.png)

### Power Apps操作

Power Appsの操作手順を紹介します。

1. Microsoftのサイトにアクセスし、アカウント作成またはログインする。
[Microsoftのサインアップページ](https://www.microsoft.com/rpsauth/v2/account/aad/signin?ruoverride=https%3A%2F%2Fwww.office.com%3Fauthtypeparamname%3Dauth&msafed=0&ru=https%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fmicrosoft-365%2Fsharepoint%2Fcollaboration%3Ff%3D255%26MSPPError%3D-2147207876%26username%3Doa-j%2540rgsis.com)
2. ログイン後、左上の赤枠の部分をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/c5dbccad-ac6a-7bab-b030-3104160bc498.png)
3. Power Appsをクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/7d5c1a3a-5dc2-1cdb-f48e-1c8716a8742c.png)
4. Power Appsの画面左部にある「作成」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/88df1186-716a-c166-c131-c5c921aaaf44.png)
5. SharePointをクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/16000edf-ee3c-4b1f-8c5e-222800ffb47f.png)
6. 先ほど作成したSharePointの名前（Qiita）を選択し、画面右下の「接続」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/97ca9a3e-df32-f1ef-e766-c1fb149d66e8.png)
7. 「EditScreen1」を選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/c268fe7b-1dc1-c964-f0ee-428c44d9ab3a.png)
8. SharePointの列に登録してない項目（今回は「名前」）を選択し、Backspaceを押す。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/2af54744-c3e0-305c-59a6-441abaf524e0.png)
9. 「登録日」を選択し、「フィールド」＞「フィールドの追加」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/db9e2f99-dda3-0910-7e35-eb509dfd165f.png)
10. SharePointの列に登録した項目（今回は「登録者名」）を選択し、「追加」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/581df961-5444-234a-db81-364b7da1a82d.png)
11. 下記の画像になっていれば、右上の保存をクリックし、Power Appsの操作は完了する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/cb594b36-2615-7755-65b4-20cd1697d144.png)
### Power Automate操作
Power Aputomateの操作手順を紹介します。
1. Microsoftのサイトにアクセスし、アカウント作成またはログインする。
[Microsoftのサインアップページ](https://www.bing.com/ck/a?!&&p=d048bdb7ed21fa89JmltdHM9MTY4NzIxOTIwMCZpZ3VpZD0zYzU3NTJhMC1lMzZlLTYwY2QtMGZmMS00MDQ4ZTI4NDYxMGYmaW5zaWQ9NTE5NQ&ptn=3&hsh=3&fclid=3c5752a0-e36e-60cd-0ff1-4048e284610f&psq=power+automate+login&u=a1aHR0cHM6Ly9tYWtlLnBvd2VyYXV0b21hdGUuY29tLw&ntb=1)
2. ログイン後、「作成」＞「自動化したフロー」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/43ee49c9-b655-f2a7-4453-b8bcd7fad304.png)
3. フロー名の記入後、「チャネルに新しいメッセージが追加されたとき」を選択し、作成をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/e68b19e1-0ba9-52f4-e693-a351ec3764c2.png)
#### フロー作成の詳細
1. 項目が作成されたとき
    * 「サイトのアドレス」に登録したサイト名のアドレスを選択する。
    * 「リスト名」に登録したリスト名を選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/9fe776a5-5d86-bab3-eca5-f526030815ba.png)
2. 条件
    * 左側の欄に「動的コンテンツの追加」をクリックして、「添付ファイルあり」を選択する。
    * 中央の欄に「次の値に等しい」を選択する。
    * 右側の欄に「true」を入力する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/2492c765-3369-017a-d262-aec0d973c94c.png)
##### はいの場合
4. メールを送信①
    * 宛先を領収書を管理する人のメールアドレスに設定する。
    * 件名に「【領収書申請】が届いてます。」と記載する。
    * 本文には、下記の写真のように記載する。
(SharePointのデータを反映させる場合は、「動的コンテンツの追加」から登録する)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/c5923f15-cc49-3118-b598-a1eded661b5a.png)
5. メールを送信➁
    * 宛先には、「動的コンテンツの追加」を選択し、「登録者 Email」を選択する。
    * 件名に「【領収書登録】を受け付けました。」と記載する。
    * 本文には、下記の写真のように記載する。
(SharePointのデータを反映させる場合は、「動的コンテンツの追加」から登録する)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/297920f3-e18d-1c21-90cb-89f148157644.png)
##### いいえの場合
1. メールを送信➂
    * 宛先には、「動的コンテンツの追加」を選択し、「登録者 Email」を選択する。
    * 件名に「【領収書申請】を再度提出してください。」と記載する。
    * 本文には、下記の写真のように記載する。
(SharePointのデータを反映させる場合は、「動的コンテンツの追加」から登録する)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/30145851-5d69-c300-2ffe-3e107ceab6b5.png)
以上の設定が完了したら、「保存をクリック」する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/c81bec9e-b0b8-4a51-607f-3ca0454dc3e3.png)
### フローの動作確認
作成したフロー、アプリが正しく動作するのかを確認します。
#### 領収書に関するファイルが添付されていた場合
1. Power Appsにアクセスし、「アプリ」をクリックした後、先ほど作成したアプリを選択し、「再生」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/92197887-fc06-3999-96ff-4fbfc0b73cc8.png)
1. 「＋」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/98b1a8a8-3f00-a07c-b65d-0aa836e9ee7e.png)
2. それぞれの項目に内容を記載する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/9ee667d5-59fe-f60b-c041-9d137e5bb1a1.png)
3. Outlookメールに、Power Automateで設定した文書体系と、Power Appsでの記載内容が反映されていることが確認できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/e0b29b61-e01b-3e36-b487-466de9365e96.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/fe6a73e2-d28c-1dd9-8d07-5b4b0302f1ae.png)
#### 領収書に関するファイルが添付されていない場合
1. 「＋」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/98b1a8a8-3f00-a07c-b65d-0aa836e9ee7e.png)
2. タイトルのみに内容を記載する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/9ee667d5-59fe-f60b-c041-9d137e5bb1a1.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/6624581d-6782-d5a0-e82a-0952a44e7a7a.png)
3. Outlookメールに、Power Automateで設定した文書体系と、Power Appsでの記載内容が反映されていることが確認できる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/08ddeab2-8267-9edb-0955-3553e9e35724.png)

SharePointを確認すると、Power Appsでの記載情報が格納されており、領収書に関する情報を整理することができました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477160/a7033a2e-f2c9-597c-4251-e3bb9f7f5534.png)
以上で、領収書管理の自動フローの完成です。
## さいごに

Power Automate,Power Apps,SharePointを使うことで、領収書管理において「時間と労力の削減」「トレースと追跡の容易化」「データの正確性の向上」「予算管理の改善」「報告書の作成の容易化」を図ることができます。
これらのメリットにより、領収書の一括管理の自動化は企業や個人の負担軽減や効率化、予算管理の改善など、さまざまな利点をもたらします。
今回紹介したフローを応用することで、様々な作業を自動化することができ、業務の効率化による経費の削減を実現できます。