RPAソフトのUiPathで法人事業概況説明書の効率化に挑戦してみました。
試行錯誤の末に完成しましたので、これからUiPathに挑戦したいという方のためにここに私のゴールまでの苦悩・ハマったことを記事として、したためておきます。
記載していることは、私見によるものであり、正確な知識でない点があるかもしれないということをご了承ください。なにしろ前提知識なく、1つのブログ記事だけを参考につくっているので。
なんとかしたい『法人事業概況報告書』の入力
法人税の申告書と一緒に税務署に提出する書類がいくつかあります。
そのうちの1つが『法人事業概況説明書』という書類。
この書類、特にこの数字の部分が大変で、決算のつど、入力する必要がありますし、各項目の数字は決算書の数字そのものでなかったりします。
例えば、地代家賃と租税公課を合計して記載するとか、「ここ合計させて何の意味があるんかいな?」と思うようなものも…。
さらに裏面の月別推移がまた大変で、これまでは会計ソフトの推移表、Excel、デュアルディスプレイという3つを駆使して入力していました。(昔は推移表を紙で出力して入力してたな〜。)
そんなわけでこの大変な入力をなんとかしたいなぁと思っていたわけです。
険しすぎたゴールまでの道のり
先日、井ノ上さんのブログ記事にて、気になる内容がありました。
RPA(Robotic Process Automation)を使って、『法人事業概況説明書』をロボットに入力していただけるというのです。
こ、これはやってみたい。でも、UiPathやったことないしなぁ。
ひとまず、UiPath(小規模事業者なら無料)をDLすることに。その後、初級の交通費検索に挑戦しましたが、1箇所だけ上手くいかず。
これはきびしい〜。
ところが何を思ったか、無謀にも気づいたら今回の記事に挑戦してました。
ちょうど、目の前に法人事業概況書を作成する仕事があって、ここでなんとかしたいと思いまして。
ただ、さすがに。それまでまともに触ったこともなく、教えを受けたこともない私には高すぎる壁…。
頼りになるのは完全な自分の野生の感とこのブログ記事だけです。
UiPathでExcelから税務ソフトの法人事業概況説明書へ入力 | EX-IT
見よう見まねでやって見たものの、エラーが出まくります。しかも英語でよくわからんという。
Google翻訳を使うも、上手く訳されず、さらに混乱。
井ノ上さんのブログ記事、今見るとめちゃめちゃわかりやすいのですが、とにかく何も知らないところからだと、わけわからず、とにかく見よう見まねが精一杯。
そして、幾多の困難を乗り越え、なんとか完成に持っていくことができました。
流れとしてはこうです。
- 会計ソフト(今回はfreee)から月次推移表をエクスポート
- 月次推移表のデータから関数(VLOOKUP)で入力書式に反映
- UiPathでJDLの事業概況報告書へ自動入力
❶ 会計ソフト(今回はfreee)から月次推移表をDL
会計ソフトからデータを持ってきます。今回使ったのはfreee。
推移表をエクスポートしておきます。貸借対照表も損益計算書も。
ちなみに会計ソフトはMFでも弥生会計でも大丈夫です。(多少カスタマイズは必要かもしれませんが)
❷ 月次推移表のデータから関数(VLOOKUP)で入力書式に反映
❶の月次推移表をコピペするシートと『法人事業報告説明書』と同じ書式を用意しておきます。
表面が「概況書」、裏面が「概況書2」といった感じです。
月次推移表をコピーすると、VLOOKUPで必要な数字を「概要書」「概要書2」に抽出するという仕組みです。
❸ UiPathでJDLの事業概況報告書へ自動入力
最後は作成したロボット(UiPath:画面左)に活躍してもらいます。
具体的には、上記のExcel「概況書」「概況書2」を見て、右のJDLソフトに入力していただきます。
そうして完成したものを動画でアップしました。
仕入高や外注費に入力はありませんが、今後の発生を考慮して、プログラムを組んであります。ご了承ください。
UiPathの操作 初めてやるなら気をつけて欲しい 私が苦悩したところ
なんとか完成したわけですが、正直な話、ここまで来るのになんどもやり直ししています。
あるスキルアップの日、午前中に挑戦しましたが、お昼までにできずに引き上げています。
昨日、午前中にもう一度、イチから書き直してみたけど、謎のエラーでやっぱり行き詰まり。
そして今日、色々原因がわかってようやく完成した次第です。
その作成方法は井ノ上さんの記事にお任せして、私の方では、初めてやった、UiPathど素人の立場として、苦悩し、ハマったところを記しておきます。
外からつくっていく
これは何度かやり直しして、感じたことなのですが、外側からつくっていった方がはるかにつくりやすいです。
まずは、こういった大枠からつくっておき、
そのあとにまずは「概況書表」を深掘りしていくといった感じで。
このやり方でつくらないと、初めてUiPathを使う方はわけわからなくなることになるかと。
あと各項目に名前を任意でつけることができます。
個人的にはここには名前を入れたほうがわかりやすくなりました。
1単位ずつ作って、1単位ずつ確認していく
これはセオリー中のセオリなのですが、このローテーションでつくるべきです。
1つの単位がつくれた→「F5」or「F7」で動かしてみる(止めたいならF12)→ 上手く動けば次の単位へ
この点はマクロと同じルールなんですが、ほとんどをつくり切ってから「F5」で実行したので、エラーが出たときに、わけわからなくなって、イチからやり直ししました。
絶対に1単位ずつつくるべきです。マクロも同じルールですが、マクロでできていることをUiPathでできなかったのが私です。
Sequenceに変える
苦戦したことの1つがこの「Sequence」に変えるという点。.
[For each row]の箇所でなんどもエラーが出て、困惑していたのですが、
UiPath×Excel。Excelデータを読み取り、ブラウザで交通費検索。無料で使えるRPAツール。の記事で左下の「Variables」の箇所を変更できたことを思い出し、
ここを「Sequence」に変更したら、上手くいきました。ここは変数の「DT1」や「DT2」をどの範囲まで持ち出しできるか?を決めるところなので「Sequence(全体)」にする必要があるというように理解しました。
苦戦した最大の原因はGoogle日本語入力
そして、最大に苦戦した原因がおそらくこれです。
Google日本語入力を入れていたこと。何度正しく入力しても、なぜかエラーになってしまっていました。
JDLのソフト、Google日本語入力だとなぜか入力できないとわけのわからないルールがあります。
Google日本語入力を一度アンインストールしてから、再インストールしたらこれまではJDLで問題なく入力できていたので、解決したものだと思っていましたが、「もしかして…」と。
ここでも、このわけのわからないJDLルールに振り回された感があります。
なので、Google日本語入力を使わずにMicrosoft IMEを使うという点に気づいていれば、ここまで時間はかからなかったでしょう。
それに気づいてから、一気に完成にたどり着きましたから。
以上が何のノウハウもなく無謀にもUiPathでのプログラミングに挑んだ私を悩ませたところです。
最終的に未知の世界であるUiPathでのロボットを完成できたのは、たった1つのブログ記事が講師になってくれたからに他なりません。
結果的に時間はかかったわけですが、アウトプットからやってみて、わからなければ基本に戻ってインプットするというこの手法自体に間違いはなかったはず。
現に当初に比べれば、機能、データテーブル、命令などは理解が進んでいますし、失敗からもたくさんの経験値を得ています。
ご興味のある方は一度挑戦してみていただければ。
Google日本語入力になかなか気づけなかった私よりは早く完成できるのではないかと。
【編集後記】
昨日は1日オフ。午後はUiPathと格闘し、夕方には家族と外出。今シーズン初の花火を見に碧南へ。これまでにないほど、見やすい場所を見つけることができ、楽しめました。
【昨日の1日1新】
※「1日1新」→詳細はコチラ
碧南 末広庵
ファミマ 大府中央一丁目店