RPA(UiPath)を使ってExcelからMFクラウドの請求書を自動作成・送付。ちょっとした機能を自分でカスタマイズできる
6/42018
無料で使えるRPAソフト「UiPath」
ソフトを使っていて、「この機能があればなあ・・」と思うこと、あります。
特に、税務・会計の世界で使うソフトは融通がきかないことがしばしば。
そんなときに複数のアプリケーションを同時並行的に操作できるRPA(Robotic Process Automation)をうまく使うと解決できることがあります。
以前、「WinAutomation」というRPAソフトを紹介しましたが、今回使ったのは「UiPath」というソフト。ニューヨークに本社がある会社です。
参考記事:
UiPathは小規模事業者(年間売上100万ドル以下)であれば無料で使うことができます。
操作で分からないことについてユーザー同士質問をしあえるフォーラムや、一部無料で利用できるトレーニングコースなど、充実したサービス内容です。
今回はこのUiPathとExcel・MFクラウド請求書を使って請求データをExcelからMFクラウドの請求書に自動転記し、メール送信するプログラムを作ってみました。
csv機能を利用するにはお金がかかる
クラウド会計ソフトで請求書を作って、送付。
枚数が少ないうちは良いのですが、増えてくると一つ一つボタンを押して発行して、送付して・・というのは面倒です。
そこで、Excelで作った請求データを会計ソフトにアップロードできれば効率化につながります。
ただ、こういったオプション機能を使うには大抵プランを変更する必要があります。
MFクラウドの場合には、請求データのcsvアップロード機能を使うには「プロ」バージョンが必要。(月額5,980円、年額65,780円 2018年6月4日現在)
私は今スタータープラン(月額500円)を使っているので10倍以上になってしまいます。
ちなみに同じクラウド会計ソフトのfreeeの場合は、請求書を一括インポートするには「エンタープライズプラン」(上場企業向け)である必要あり。そして値段はお見積とのこと・・。
月にそれほど請求書の数がない場合にはコスパが悪くなってしまいます。
それならば自分でカスタマイズできるRPAを使ってみるのもお勧めです。
UiPath Studioの画面
UiPathにはデスクトップで動くロボットやサーバー内で動くロボットなどのRPAソフトウェアがありますがロボットを定義するのに必ず必要となるのが「UiPath Studio」というソフトウェアです。
画面は、こんな感じです。
左側のアクティビティから実際にしたいことを真ん中の設計画面にドラッグし、右側のプロパティでアクティビティの内容を決定します。
したいことによってアクティビティを視覚的に操作できるので、ExcelVBAよりはやりやすいように感じました。
ただし、プログラミングの基本知識(ifなどのフロー制御、変数の代入、For Each, Do Whileなどの繰り返し処理)は知っておいた方が良いかもしれません。
MFクラウドの操作は「Webレコーディング」を利用
UiPathには「レコーディング」という、ユーザーが行なった操作を記録してくれる機能があります(Excelのマクロ機能と似ています)。
大きく分けてデスクトップ上で利用するものと、Web上で利用するものがあります。
今回はMFクラウドを利用するのでWeb上で利用する「Webレコーディング」を利用しました。
UiPathを使ってExcelからMFクラウドの請求書を自動作成・送付する手順
インポートするExcelファイルを作成
MFクラウドにインポートする請求ファイルをExcelで作ります。
プログラムがきちんと読み込めるように、上左端に寄せて、一番上は項目名にします。
MFクラウドの請求内容に合わせて作ります。
今回は、細目などは省きましたが、プログラムに使うExcelファイル作成時の注意点としては下記があげられます。
- データ型に気をつける(日付など。インポートするまで合っているか分からない場合も多い)
- すべての項目を網羅する
- 余計な装飾はしない(セル結合、左端じゃないとこからデータが始まるなど)
MFクラウドの操作をWebレコーディング
次に、MFクラウドの操作をWebレコーディングしていきます。
Webレコーディングをしてみると、ボタン、画像の部分でハイライトします。
この部分を「要素」としてUiPathは認識しているのでクリックすると自動で記録が行われます。
ロボット設計画面をみてみると、一連の動作が記録されているのがわかります。
こんな形で、一つ一つの操作をログイン・請求書作成まで記録していきます。
Excelからデータをインポートするには「Excel application scope」を利用
Excelから決まった範囲のデータを持ってくるときには、「Excel application scope」というアクティビティを利用します。
ファイルの場所をプロパティで指定し、さらに「Read Range」アクティビティを追加しシート名を記載します。
Read Rangeのプロパティには、テーブル名を指定します。(今回ExcelTableとしました。)
こうすれば指定のシートの左端の表から項目、データを取ってきてくれるそうです。(と、井ノ上陽一さんが書いておりました(^^;;ありがとうございます。)
For each rowアクティビティを追加します。
指定したテーブルのデータを1行ずつ実行していくアクティビティになります。
繰り返していく対象のテーブル(先ほど定義したExcelTable)を指定します。
次に続く「Body」で繰り返したい内容を記録していきます。
Webレコーディングをして取引先名をベタうちした状態だと、
という感じになってしまうので、row(“ExcelTableから取ってきたい項目名”)という形で入力します。ToStringは変数のデータ型を文字列に変えるメソッド(命令)。文字列に変えないとエラーが起こってしまうそうです(これも大先生より教わり)。
すべての項目について、指定します。
これで、テーブルが何行になっても、インポートすることが可能となります。
フロー制御の「Flow Decision」と「If」
RPAソフトでは、「こうなった場合は、こうする」といったフロー制御を行うことができます。
UiPathの場合には、次の2つが用意されています。
- Flow Decision・・・フローチャート内で条件分岐を行う方法。
- If・・・シーケンス(上から順番に処理)用の制御。小さな分岐を定義する際に便利。
Flow Decisionは普段使うフローチャートそのままです。より大きな視点から条件を分けたい場合に使います。Trueの場合とFalseの場合を指定します。
一方Ifは、小さな分岐を定義する際に便利です。Thenは条件を満たす場合、Elseはそれ以外の場合を指定します。
今回はちょっとした条件分岐なので「If」を利用しました。
Conditionに条件を入力します。
今回、ExcelTableのメールアドレスの項目が空白だった場合は何もせず、メールアドレスに記載が合った場合にはメール送信するという条件分岐をしました。
ExcelでもIfは頻繁に使うので馴染みがあると思います。
動画
今回の一連の動作を動画で作ってみました。字幕ありでみていただけると説明が出てきます。
1つ目の請求書はインポート・作成・保存までで、2つ目、3つ目は送信まで行なっています。
最後にメールアドレスに請求書がきているかを確認しています。
「何を自動化できるか」は一度触ってみないと分からない
今回一連のロボットを作ってみて、時間はかかりますが「一度は自分で触ってみた方が良い」と思いました。(完璧にはできなくとも。私もです)
そういえば、先日めがね税理士さんが「RPA、Excel、VBAの難易度の関係性」を書いたこちらの記事がとてもわかり易かったのでお勧めです!
これは私も同感です。Excel得意だからRPAができるか、というとそうでないかも・・。よりプログラミング寄りなソフトです。
RPA習得の難易度は「Excelの関数以上プログラミング未満」説 – 100メガ
そして、「効率化、効率化」と掛け声に終わらないためには自分で実際に触ってみて、「この仕事に使えるのでは?」というあたりをつける感覚が大事だと思います。
今回のUiPathは無料で使える機能が多いですが他のRPAソフトは非常に高いです。
だからこそいきなり高いソフトを購入して結局使えなかった、とならないために廉価で利用できるものを利用し、勉強し・探っていく姿勢も大事かと思います。
まとめ
RPA(UiPath)を使ってExcelからMFクラウドの請求書を自動作成・送付してみました。
会計・税務分野はIT化が遅れているからこそRPAの期待度は高いのだと思います。
引き続き注視していきます!
編集後記
週末は、RPA研究、散歩など。
Today’s New
モロゾフのミニチーズケーキ