RPA UiPathで自動化。メールで受け取った請求書PDFを読み取り、住信SBIネット銀行で振込。

RPAツール、UiPathを使えば、メールで受け取った請求書PDFから請求金額を読み取って、ネットバンクで振込まで自動化できます。

ex101

※パワポで作成

UiPathでメールから請求書PDFから金額を読み取る

RPAツール、UiPathについては、こちらを参考にしていただければ。

UiPath×Excel。Excelデータを読み取り、ブラウザで交通費検索。無料で使えるRPAツール。 | EX-IT

全体図はこのような感じです。
メールを受信して、請求書PDFから金額を読み取り、ネットバンクにログインして振り込んでいます。
今回、振込先の銀行、支店、口座番号は、プログラムに組み込みました。
これらもPDFから読み取ろうと思ったらできます。

2018-06-15_13h42_20

メール受信の設定

まずは、UiPathでメールを受信します。
今回は、Gmailを使いましたので、[Get IMAP mail Messages]アクティビティを使いました。
プロパティ(右側)で次のように設定していきます。
請求書が添付されているメールのみを受信しますので、複数のメールを検索するように設定しましょう。
プロパティのOptions→Topで、「10」とあるのがその設定です。
さらに、Outputで、「Messages」という変数にそのメールを入れます。
(変数の設定は、「Messages」を入力するときにCtrl+Kを押し、「set Name」と出てから入力しましょう。

ex104

その受け取ったメール(今回は10個)を、それぞれチェックし、「もし、メールの件名に「月度 請求書をお送りします」と入っていたら、そのメールの添付ファイルをダウンロードして保存するという処理をします。

■スポンサードリンク

それぞれチェックするには、[For Each]アクティビティを使いました。

IFの条件は、

mail.Subject.Contains(“月度 請求書をお送りします”)
です。

Subjectが「件名」、Containsが「含む」を意味します。

2018-06-15_13h43_10

添付ファイルの保存

添付ファイルを保存するのは、[Save Attachments]です。
プロパティで、そのファイルを「PdfFile」という変数に入れておきましょう。

ここで、「PdfFile」「Message」それぞれの変数のVaiable Typeを次のように設定しておきます。
また、ScopeもSequence(プログラム全体)にしておきましょう。

2018-06-15_14h01_38

請求金額の読取

ダウンロードしたファイルはこのような名前です。

2018-06-15_11h16_56

このPDFファイルから請求金額を読み取ります。
画像で認識する方法もあるのですが、安定しませんでした。
そこで、PDFをテキストに変換して、そこから読み取る方法にしています。

ex103

[Read PDF text]で、PDFをテキストにできます。
ボックスには、PdfFile(0).ToStringと入れておきましょう。
これは、フォルダ([今回は[Save Attachments]アクティビティで、「Inbox」というフォルダに設定しています)にあるファイルのうち、もっとも新しいものを文字として認識するという意味です。
さらには、プロパティで、「OcrText」という変数をつけます。

2018-06-15_14h02_22

ここから、請求金額を抜き出すのは、力技しかできませんでした。
かっこわるいのですが、なんとか。

PDFをテキストにするとこうなります。
(MessageBoxで出力)

請求金額45,630円があるところは、「上記ご請求金額を下記の指定口座へ~」の上です。
こういった特有のパターンを探しましょう。

ex102

そして、[Assaign]アクティビティで、変数「PdfValue」=OcrText.Split(“上”.ToCharArray)(0).Split(“税”.ToCharArray)(1).Split(” “.ToCharArray)(5).Replace(“,”,””)

と設定します。

メール本文(OcrText)を「上」で分割し、そのうち1つ目(0、1、2・・と数えるので(0)と指定)をまず取り出すと、メール冒頭から45630までになり、さらに、それを「税」で分割するして2つ目の、「額計から45630」までになるので、あとは、半角で分割して、その6つ目を取り出すと、「45630」という金額を取り出せるわけです。

もっとスマートなやり方が成功したら、追記します。
いっそ、ExcelでつくっているならExcelの請求書で送ってもらったほうが、データを取り出しやすいです。

UiPathでネットバンクから振込

請求金額を取り出せたので、ネットバンクの処理にうつれます。
今回は住信SBIネットバンクを使いました。
法人でも利用料無料、振込手数料ある程度無料(利用実績による)なので、便利です。
ペイジーや口座振替先にできないのが難点ですが。

UiPathでネットバンクにログイン

ログインは、UiPathのWebレコーディングでやりましょう。
「Type Password」にチェックを入れておくと、UiPath内で、その情報が見えないようにすることができます。

2018-06-15_08h50_14

2018-06-15_14h02_36

ログイン後、[振込]をクリックするところもWebレコーディングです。
RPAが「プログラミングを知らなくてもできる!」といわれているのは、このレコーディングが便利だからでもあります。
ただ、この記事でも他の記事でも書いているとおり、多少なりともプログラミングの知識は必要です。
Excelマクロもレコーディング(記録)だけでは、十分にその真価を発揮できず、プログラミングの知識が欠かせません。

それと同じです。

2018-06-15_08h51_27

2018-06-15_14h02_46

振込先銀行名、支店名入力

ネットバンクでは、振込先と登録できますが、より安定されるために、毎回入力するのがおすすめです。
毎回入力してもらっても、UiPathは、疲れませんので、お願いしておきましょう。

2018-06-15_08h51_39

銀行名を検索し、

2018-06-15_08h52_13

選択、支店名を検索し、

2018-06-15_08h52_29

選択するという流れをレコーディングします。

2018-06-15_08h52_35

その操作のとおり記録されていくので、確認しましょう。
このプログラムは、自由に書き換えたり並べ替えたり、コメントを入れたりできます。
整理してながら、コメントをつけながらつくっていくのがおすすめです。
その後に改善するときに役立ちます。

2018-06-15_14h02_54

口座番号、請求金額入力

次の画面で、口座番号と請求金額=振込金額を入れていきます。
ex101

口座番号は、直接入力し(Excelから読み取ることもできます)、請求金額は先ほど読み取った変数「PdfValue」と入力します。
こうしておけば、毎月、自動的に金額を変えてくれるわけです。

ex103

UiPathは、タスクバーから起動すると楽

今回の流れを動画にしてみました。
(AdobeEffectで加工したら、めちゃくちゃ時間かかりましたが。。。)


この動画のように、UiPathを開かなくてもタスクバーから開く方法があります。
その条件は、UiPathのデータをこのようにフォルダ管理しておくことです。
通常はこうなります。

2018-06-15_08h27_58

フォルダ嫌いな私としては、UiPathでロボットをつくっていくとこうなるので、

2018-06-15_08h27_26

中の「xamlファイル」だけを保存して整理していましたが、タスクバー起動のほうが便利なので、今はしぶしぶフォルダ管理にしています。

2018-06-15_08h27_14

タスクバーから、このようにロボット名(プロジェクト名)をクリックすれば、ロボットが起動するので便利です。
今回の場合、メールが来た→ロボット起動とできます。

2018-06-15_08h33_20

もし、こういったアイコンのときは、クリックしてみましょう。

2018-06-15_08h33_01

このタスクバー起動をやるには、UiRobot.exeを起動させておかなければいけません。
次の場所にあります。
ユーザー→AppData→Local→UiPath→App〇〇(〇〇はバージョンによって変わります。記事執筆現在最新は、18.2.2です)

2018-06-15_08h23_27

さらには、設定で、[通知領域]の[タスクバーに表示するアイコンを選択します]をクリックして、常に外に出しておくと便利です。

2018-06-15_08h23_45

この準備が終わっていれば、UiPathのメニューで[SETUP]→[Publish]をクリックしましょう。

そうすれば、タスクバーから呼び出せるようになります。
一度、[Publish]しておけば、プログラムを変えても反映してくれるので楽です。

2018-06-15_08h28_35


【編集後記】

【昨日の1日1新】
※詳細は→「1日1新」

ロッテリア イチゴ&オレンジソーダ
概況説明書新バージョン対応ロボット

【昨日の娘日記】
保育園の先生によると、昨日、保育園で腕をかまれたそうで。。
おもちゃをとりあったみたいです。
子供同士、しかたないとはいえ、かまんでもいいやろ・・と。

■スポンサードリンク
■井ノ上陽一のプロフィール
■スポンサードリンク



井ノ上陽一のVALU
■著書
【監修】十人十色の「ひとり税理士」という生き方
ひとり税理士のIT仕事術―ITに強くなれば、ひとり税理士の真価を発揮できる!!
フリーランスとひとり社長のための 経理をエクセルでトコトン楽にする本
新版 ひとり社長の経理の基本
毎日定時で帰っても給料が上がる時間のつかい方をお金のプロに聞いてみた!
『ひとり税理士の仕事術』
『フリーランスのための一生仕事に困らない本』
『社長!「経理」がわからないと、あなたの会社潰れますよ』
『そのまま使える経理&会計のためのExcel入門』