RPA(UiPath)+eLTAX(地方税共通納税システム)で、住民税納付を効率化。
12/272019
カテゴリー:RPA
2019年10月より、すべての地方公共団体にて電子申請・電子納税が可能となる「地方税共通納税システム」がスタートしました。
このシステムによって特に従業員の住民税の納付が
紙の納付書による納付⇒すべて電子にて納付
できるようになり、利便性が格段に上がりました。
電子納税の具体的な方法は、以前事務所HPで記事にしました。
参考記事(事務所HP):
具体的には
納付情報の発行依頼⇒その情報に基づき電子納税
という流れなのですが、
やってみて気づいたことは納付情報の発行依頼をするときに
ポチポチ業務が多く意外と時間がかかるなあ、ということです。
(納付書持って銀行に行くよりはマシですが・・)
そこで、RPA(UiPath)を利用してあらかじめ用意したExcelからeLTAXに転記するRPAを作ってみました。
※カオスなソフトにはRPAが一番※
PC Desk(Web版)について
eLTAXの具体的なソフトをPC Desk(ピーシーデスク)と呼びますが、2019年10月以前はダウンロード版しかなく、操作性も良いものではありませんでした。
2019年10月以降はダウンロード版に加えてWeb版が使えるようになりました。
Web版はインターネット上で操作するのでいちいちソフトを起動する必要がなく、
操作性がだいぶ改善されました。
とはいえ、ポチポチ業務が多いのでそれなりに時間がかかります。
住民税の納付の発行依頼と電子納税は、「納税メニュー」からを行うことができます。
CSVインポートの問題点
Web版のPC Deskで、住民税の電子納税を行うための
CSVインポート機能も実は用意されています。
当初はこの機能を使って効率化しようと考えました。
CSVのファイル定義書は以下のページからダウンロードができます。
ただ、これが非常に複雑でして・・↓
「ダミー」「未使用項目」などが平気であったり、
記述がエンジニアさん向けで難解です。
eLTAXの他の書類(給与支払報告書等)もそうですが、CSVインポートの難易度が非常に高いです。
(非エンジニアが利用することを意図していないような・・)
この記述どおりにCSVフォーマットを作り、ミスなくインポートするだけで日が暮れてしまいそうです。
それに作ったCSVを見てもぱっと何をインポートしたかもわかりません。
というわけで早々にCSVインポートは諦め、
自分が見て分かるExcelからRPAで無理やりeLTAXに入力する方法に決めました。
RPA(UiPath)を使ってExcelからeLTAXに入力する方法
手順を整理する
まずは紙などに実際の手順を一覧にします。
「やりたいこと」を漏れなく書くことによって、どういった動きが必要なのかが把握できます。
書き出してみると意外と多くの作業があることに気づきます。
Excelを代入したい箇所(下記のオレンジ部分)、繰返したい箇所はあらかじめ分かるようにしておくと
作りやすいと思います。
UiPathでプロジェクトを新規作成する
UiPathのCommunity Edition(無償版)は以下のHPからダウンロードができます。
(端末数・ユーザー数が250未満かつ年間売上が500万米以下の会社・個人事業主であれば無償版を利用できます)
UiPath Community Edition – Request your free download
他のRPAソフトが高価で個人にはなかなか手を出せないのでこれはとてもありがたいです。
ダウンロードしたら、新規プロジェクト⇒プロセスでプロジェクトファイルを作成します。
デザイン画面に入ったら、Ctrl+Nで新しいシーケンス(上から順番に処理していくワークフロー)を作成します。
このシーケンスの中に自動化させたい動き(アクティビティ)を追加していきます。
UiPathでレコーディングを行う
次に、手順書に従ってUiPathでレコーディング(Excelでいう、マクロ記録のようなもの)をしていきます。
ツールバーの中からレコーディングを選びます。今回Web上で動くeLTAXを操作したいので「Web」を選択しました。
先程作った手順書通りにレコーディングをしていきます。
なおユーザーIDやパスワードはレコーディングの際にはひとまず手入力しておきます。
後に、Excelから転記する形にするのでひとまずはこれで大丈夫です。
一気にやるのではなく、少しずつレコーディングして動作を試していくほうが良いでしょう。
Excelを準備する
ひととおりレコーディングが済んだら、転記用のExcelを準備します。
利用者情報と、住民税情報の2つのシートを準備しました。
顧客ごとに準備するのではなく、数式などでデータベースからとってくる
形にしたほうが使いまわしができて良いでしょう。
利用者情報にはログインするときの情報、納入対象年度等を入力しておきます。
(ちなみにカナは全角で「ー」や小さな「ィ」が使えないので
フリービズコンサルティング⇒フリイビズコンサルテイング
と入れる必要があります・・・・・
住民税のシートには、あらかじめ会計ソフトからエクスポートした
住民税情報を元に、以下のようなシートを作っておきます。(金額等は適当です)
UiPathにExcelを読み込む
ExcelのデータをeLTAXに入力するためには、あらかじめUiPathにExcelデータを
読み込んでおく必要があります。
そんなときに活用するのが「Excelアプリケーションスコープ」です。
左のパネルから「アクティビティ」を選び、検索窓で「Excel」などと入力すると
表示されます。
アクティビティを追加すると、ブックのパスを指定する枠が出てきますので
先程作ったExcelの保存場所を指定します。
次に、「実行」の枠の中に範囲を絞り込み、繰返したい作業を入れていきます。
まずは「範囲を読み込み」アクティビティでシート名を指定します。
先程利用者の情報については「利用者情報」というシート名をつけたので
ダブルクオテーションで囲んで指定します。
このように指定すると、「利用者情報」というシートから、先頭行と、データが入っている部分を自動的に選択してくれます。
なお選択したデータは後ほど繰返し部分で使うので、変数にしておきます。
右のプロパティ⇒出力:データテーブルに「ExcelTable」と入力しておきます。(Ctr+Kで変数入力に切り替わります)
各アクティビティにExcelで入力した値を読み込む
次に、先程作成したWebレコーディングの中で、Excelで入力したデータを取り込みたい箇所に
行の名前(先頭行に入力した部分)を指定してExcelデータを読み込むようにします。
一定の回数だけ、処理を繰り替えす場合には「For each」というアクティビティを使います。
このFor eachの中に先程レコーディングした部分を移動させるイメージです。
先頭に表示される要素にrowが指定されるので、コレクションには先程変数とした「ExcelTable」を入力します。
上記のように書くことにより、選択したExcelデータの行数分だけデータを取得して順番に処理してくれます。
例えばログイン画面でIDを先程入力する際、手入力をしましたが
下記のように
row(“先頭行の項目名”).ToString書き換えます。
これで行が何行になってもデータが最終行になるまで処理を繰返してくれます。
住民税情報も同様に、Excelアプリケーションスコープでデータ範囲を指定した上で、
For eachを追加、レコーディングしたい部分を入れ込みExcelから連動したい部分を上記のように書き換えていきます。
完成動画
ひととおりの動作を動画で作ってみました。
最後に印刷だけ手動で行っています。
久しぶりにUiPathを使ったのですが動作が以前と比べてすこし軽やか?
になった気がします。
英語が無理やり日本語にされている部分があって少し戸惑いました。
実際は作業中にエラーが出たり、動作の間隔を整えたり、ショートカットキーを間に挟んだりで思ったよりも時間がかかりました(^_^;)。
まとめ
RPA(UiPath)+eLTAX(地方税共通納税システム)で、住民税納付を効率化する手順を書きました。
便利になったかな?と思っても
意外と作業を書き出してみると時間と手間がかかっていることに
気づきます。
RPA、プログラミングのメリットは
普段何気なくしていることの「可視化」ができることにもあるのではないでしょうか。
編集後記
昨日は、レンタルスペースで午前中お仕事。
執筆中の書籍のゲラの第一弾が来たのでざっとチェック。
色々と確認事項が多く年内になるべく終わらせないと・・。
最近のあたらしいこと
日本語版になったUiPath