【UiPath×文書管理②】invoiceAgentコネクター（SPA連携コネクター）でAIOCR処理→CSVダウンロードを自動化してみた

## 前編

https://qiita.com/mk_ts/private/12e9132f8aec933991f7

## 特に読んで頂きたい方

🌸 **UiPath**を触ったことがある方
🌸 **AIOCR**に興味がある方
🌸 **ペーパーレス化**プロジェクトに携わる担当者の方
🌸 **電子帳簿保存法・インボイス制度**に注目している経理/総務部門の方

## はじめに

前回に引き続き、RPAツールである[**UiPath**](https://www.uipath.com/ja)を利用し、電子帳票プラットフォーム [**invoiceAgent**](https://www.wingarc.com/product/ia/) の操作を自動化していきたいと思います。自動化には UiPath Marketplaceで提供されている **「[invoiceAgentコネクター（SPA連携コネクター）](https://marketplace.uipath.com/ja/listings/6bs5w1o88utj85gxt0qaj)」** を使用します。

　
後編である今回は、

- **invoiceAgentにアーカイブした文書を検索→自動ダウンロード　・・・①**
- **文書をAIOCR処理→結果（CSV形式）を自動ダウンロード　・・・ ②**

ここまで行っていきます。**ワークフローは①と②で２つに分かれています。**
（以下イメージ内青枠の「OCR処理」に加えてOCRデータのダウンロードまで）
![連携全体像詳細.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/6e80ed8e-d1c6-2e09-8901-465a26e61201.png)






## invoiceAgentについて

https://www.wingarc.com/product/ia/

<details><summary>【詳細】invoiceAgent は文書の保管や請求書配信等を含む、電子帳票プラットフォームです。

</summary><div>

:::note info
invoiceAgentは、**企業間取引の帳票の送信と受信を電子化し、保管/データ化まで一元管理できるソリューション**です。各企業の帳票のフォーマットをそのままに企業間取引における業務負担を減らし、よりスムーズに、快適な取引をサポートします。
:::

詳しくは公式ホームページをご参照いただきたいのですが、

✅ **電子帳簿保存法に対応した文書管理**
✅ **5つのAIOCRによる帳票データ化**
✅ **請求書の送受信による企業間取引**
✅ **契約の電子化**

これらを可能にする製品群となります。（以下製品ラインナップ）
![製品ラインナップ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/2b66112b-b50a-ea79-0599-f7edf4587f1f.png)

:::note warn
invoiceAgentは有料のソフトウェア（クラウド版 / オンプレミス版あり）です。
本記事の内容をお試し希望される場合は、[トライアル](https://pg.wingarc.com/mkto-form-1728A1.html?_fsi=b75PMLgd
)にお申込みください。
:::

</div></details>



今回も、前回同様「**invoiceAgent 文書管理**」× UiPath の連携となります。


## 必要なもの

(1) UiPath Studio
(2) invoiceAgent 文書管理（クラウド版 / オンプレミス版どちらも可）
上記２つを利用できる環境。
　

本記事では、以下バージョンを利用しています。
|UiPath Studio|invoiceAgent文書管理|
|---|---|
|Studio 2022.10.3 Community License|オンプレミス版 ver.10.8.0.0|

　
**では早速、準備を始めていきましょう！🔥**


## ワークフロー① 帳票の検索＆ダウンロード

invoiceAgentに保存した文書を**UiPathで検索し、そのまま自動ダウンロード**します。

ワークフロー① の流れ：
1.　JSONファイルで指定した検索ワードでinvoiceAgent上のファイルを検索する
2.　検索にヒットしたファイルを全て指定のローカルフォルダにダウンロードする

-----

#### 1. 必要なアクティビティ項目の入力
まずは、「**Sample_DocSearch_FileDownload.xaml**」を開きます。

**フロー上部に記載の解説**(※1) に従い、必要なアクティビティの項目を入力していきます。
　
■※1 環境に合わせて指定が必要なアクティビティ
![SampleDocSearchDownloadのアクティビティ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/f0bd5fbf-6b27-694a-d6e0-d9e575df3bf7.png)

以下、アクティビティを入力する箇所を赤枠で囲っています。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/d04edfd1-94cb-7b31-40b3-a3761533bce8.png" width="315" height="500">　<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/38764d28-52c9-8754-efee-7d141bcf3d9d.png" width="340" height="520">　
※注１: 全てダブルクォーテーション("")を忘れず付けてください。
※注２: 検索条件を指定したJSONファイルは、**フルパス**を指定します。
※注３：文書は、"**「ダウンロード先フォルダの指定」** アクティビティ内で指定したファイル名" + "文書ID" でダウンロードされます。
　
#### 2. 検索条件の指定について（JSON）
[UiPath Marketplace](https://marketplace.uipath.com/listings/6bs5w1o88utj85gxt0qaj) からinvoiceAgentコネクター（SPA連携コネクター）をダウンロードした際、
フォルダ内に **JSONファイル「doc_search.json」** が含まれていたかと思います。

このファイルは、検索条件の指定に用いるJSONのサンプルとなります。
![json-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/889d47de-323f-b0f2-dae3-8a134ac317fd.png)


今回は、doc_search.jsonで文字列 **“帳票”** を検索条件に指定します。

```
｛ "searchWord"："帳票" ｝
```


　
ここまでで、コネクターのワークフロー実行準備が完了しました。

　
#### 3. ワークフローの実行

画面左上の実行ボタンをクリックして、ファイルの検索＆ダウンロードを実行してみましょう。
![検索＆ダウンロード実行！.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/ff43e90e-6d22-e9df-9380-adc01ba0d35e.png)


エラーが起きなければ、以下のようなメッセージボックスが表示されます。
![検索成功-mini.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/243eb657-563b-e4e4-3b75-3506ce97d2a7.png)
![検索成功.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/913eac50-4717-3a91-3edb-cafed6316c9d.png)


続いて、検索にヒットした文書のダウンロードが行われます。
![文書のダウンロード成功-mini.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/5c6f76a6-581e-2b4e-f3bd-30421daf7c96.png)
![文書のダウンロード成功.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/09a36d40-7b3c-64e4-761d-bf2260684593.png)

#### 4. ダウンロードした文書の確認

以下のように、コネクター内で指定したローカルフォルダに
**アクティビティで指定したファイル名で文書をダウンロード出来ました👏👏**
![文書のダウンロード結果_.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/47ac3ad3-8ad0-c2a2-871d-6e0f7641b7b3.png)



## ワークフロー② AIOCR結果のCSVダウンロード

次に、**帳票のAIOCR処理結果をCSV形式でダウンロード**していきます。


ワークフロー② の流れ：
1.（事前）[OCRフィールドの設定](https://cs.wingarc.com/ja/howto/ia-o/16989?brand=ia_c&service=5054&scenario=5057)
2. CSVファイルの作成条件を指定したJSONファイルを用意
3. 文書情報をJSONファイルから読み込み
4. OCR結果のCSVファイルを作成
5. 作成したCSVファイルを指定のローカルフォルダにダウンロードする

------
#### 1. OCR読み取りフィールド設定（invoiceAgent）

こちらのワークフローは、帳票アーカイブ前に
invoiceAgent側でOCR読み取りフィールドの事前設定を行う必要があります。


https://cs.wingarc.com/ja/howto/ia-o/16989?brand=ia_c&service=5054&scenario=5057

※フィールド設定についてはこちらのコンテンツを参考にしました。

　
今回、実際に作成したOCRフィールド設定は以下になります：
![OCRフィールドの設定(iA).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/e0dc2dec-494f-84ba-15cc-2b76eab9d4f4.png)
![OCRフィールド詳細設定（編集有）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/eb1cc25c-3537-22b7-0c63-0fccf2c9e57b.png)

**文書名、日付、請求先の企業名、請求金額（税込）、振込日、請求先企業の住所、請求先企業のコード**
を帳票から読み取るように設定しています。
※より詳細な説明は[invoiceAgent文書管理のマニュアル](https://cs.wingarc.com/manual/ia/doc/cloud/manual/ja/1584813.html)をご確認ください。


　
🌸読み取り結果はこちら：
![OCR読み取り結果.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/d2bfaf76-5b55-bcaa-45fc-a87c9ca57c90.png)
**AIOCRにより、フィールドで指定した７つの項目のデータ化に成功しています👏👏**

-----

ではここからUiPath Studio側の設定を進めていきましょう🔥
「**Sample_OCRDownload.xaml**」を開きます。

こちらも **フロー上部に記載の解説(※2)** に従い、必要なアクティビティの項目を入力していきます。
　
■※2 環境に合わせて指定が必要なアクティビティ
![Sample_OCRDownloadのアクティビティ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/8478d157-a63b-ef10-7e1d-5090627471b3.png)

#### 2. CSVファイルの作成条件を指定（JSON）

UiPath Marketplaceからダウンロードしたコネクタ内に
**JSONファイル「ocr.json」** が含まれていたかと思います。
このファイルは、OCR結果のCSVファイル作成条件の指定に用いるJSONのサンプルとなります。
![json-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/1cfd312c-a1c8-03cb-fa13-d193fff75759.png)

今回は、ocr.jsonで **{"documentIds": "30352"}** が対象の文書を検索し、そこから読み取ったデータからCSVファイルを作成します。その他、CSV作成に必要なデータ項目のサンプルも用意されています。
※[WebAPIリファレンス](https://cs.wingarc.com/manual/ia/doc/cloud/apiref/ja/2772215.html)を参照
![ocr.json.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/0aae08a8-3a70-977a-212d-aa36564b3dff.png)


#### 3. 必要なアクティビティ項目の入力
以下、アクティビティを入力する箇所を赤枠で囲っています。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/ea81f8d3-57ed-931a-0cf2-a17923216c4a.png" width="330" height="500">　<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/01ba598c-271c-3f63-b01c-2e7c4419c1ea.png" width="327" height="520">
※注１: 全てダブルクォーテーション("")を忘れず付けてください。
※注２: 検索条件を指定したJSONファイルは、**フルパス**を指定します。
※注３：CSVファイルは、**「CSVのダウンロード先/ファイル名を指定」** アクティビティ内で指定したファイル名 でダウンロードされます。

ここまでで、コネクターのワークフロー実行準備が完了しました。

#### 4. ワークフローの実行

画面左上の実行ボタンをクリックして、CSVファイルのダウンロードを実行してみましょう。
![OCR結果CSVダウンロード実行！.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/073dcbf0-1aa8-a162-127a-eaf61225cd71.png)

エラーが起きなければ、以下のようなメッセージボックスが表示されます。
![csvダウンロード成功-mini.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/6d92373f-af22-6b7a-45d1-746c21065d5c.png)
![csvダウンロード成功.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/2aac7bb7-3b48-0c2f-ee67-3a5e72e8b143.png)


#### 5. ダウンロードしたCSVファイルの確認

以下のように、指定したローカルフォルダに
**指定した文書のOCR処理結果をCSVファイル形式でダウンロード出来ました👏👏**
![csvダウンロードの確認@ローカル_.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/acf98200-f382-6be0-9535-6a1b51634f8e.png)
ダウンロードされた **ocr_result.csv** の中身を確認します：
![csvダウンロードの確認@中身.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/9f107dd6-4bac-f6bb-25bf-2569b34fb15b.png)

先ほどお見せした invoiceAgent のOCR確認画面と比較し、データに相違ないことを確認できました。
![OCR読み取り結果.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842935/2f010c6c-39bf-ab58-27bc-64172d0b39e4.png)

## 最後に

今回は前回に続き、RPAツールのUiPathと連携コネクターを用いてinvoiceAgent 文書管理にアーカイブした帳票と、そのAIOCR処理結果をCSV形式で自動ダウンロードしてみました。これら一連の操作を手動で行うことも可能ですが、UiPath Platformの連携により、電子帳簿保存法改正への対応をはじめ、帳票登録や転記業務の自動化・効率化に繋がるかと思います。この内容が読んでいただいた方のお役に立てれば幸いです。

https://www.wingarc.com/product/ia/