Blog

ブログ

  1. HOME
  2. ブログ
  3. Excel関係
  4. RPAを使った法人税申告書別表5(2)の作成

RPAを使った法人税申告書別表5(2)の作成

業務上、Excelで法人税の税額を計算することがあります。Excelで作成したデータを専用の申告書作成ソフトにそのまま読み取らせることはできないので、手入力で転記をしなければならず、時間がかかります。

しかし、RPAというツールを使うと、Excel上のデータを自動で申告書作成ソフトに転記できるような仕組みを構築できる可能性があります。

これまで税務トピックばかりでしたので、気分を変えて、このRPA(正確にはRDA)を使った申告書への自動転記について触れてみようと思います。

RPAとは

そもそもRPAとは、「Robotics Process Automation」の略で、「人間がパソコンで行っている機械的な仕事をロボット化することによって仕事を効率化するためのツール」という位置づけのものになります。

RPA自体がAIのように何かを判断するものではないため、RPAツールを動かすには人間が1から10まで細かく手順や条件分岐をインプットしなければならなりません。この点は、Excelのマクロ(VBA)と同じです。

しかしRPAツールの大きな特徴は、既存のアプリケーションに変更を加えることなく、複数のアプリケーションを同時に操作させる手順を設定できる点にあります。

Excel関数やVBAはExcel内での処理の効率化には非常に役立ちますが、他のアプリケーションを操作することを前提としたものではありません。そのため、新たにRPAツールを使用することで、効率化できる業務の範囲が広がることになります。

RPAは、高度なプログラミングスキルがなくても使用可能とされています(とはいったものの、Excel関数やマクロを作成する感覚では操作できませんでした・・)。

なお、今回作成したものは、デスクトップ上の個人レベルでの作業を自動化するものであるため、正確には、RDA(Robotics Desktop Automation)に分類されます。

自動化できた転記作業

今回自動化したのは、「Tax Move」と一部の人に呼ばれているExcelで作った税金勘定の推移表を、同じく税金の納付状況等を記載する法人税申告書の別表5の2へ自動で転記するプロセスです。

Tax Moveと別表5の2では同じようなことを記載することになるのですが、税金に関係する勘定科目(未払法人税等、租税公課、PL法人税等など)について、科目ごとに期中どのような動きをし、法人税をはじめとする各種税金がどの勘定科目から実際に支払われたのかを把握するためには、Tax Moveが非常に役立ちます。

作成したプロセスを実際に動かしてみた動画はこちらになります。

黙々と転記をするだけの無味乾燥な動画ですが、画面の右がTax Move、左が申告書作成ソフトです。

Excelの中だけでの転記や数字の抽出・加工であれば関数やマクロ(VBA)を使用すれば何とか解決ができることの方が多いのですが、今回のようなExcelから申告書作成ソフトへの転記といったアプリケーションを横断した数字の転記は、(私には)これまで実現不能だったため、毎回手で転記をする必要がありました。

なお、今回使っているTax Moveはテスト用のため数字が各所に散らばっていますが、普通はここまで散らばりません。また、それぞれの税額自体も全く意味のない適当な数字になります。

使用したアプリケーション

今回使用しているアプリケーションは以下の3つです。

  • UiPath Studio Communityエディション(転記プロセスを作成)
  • Microsoft Excel(転記元)
  • 平成30年度版法人税の達人(転記先)

UiPath Studio Communityエディションは、小規模事業者や個人は無償でダウンロードできます。

UiPath Studio Communityエディション
https://www.uipath.com/ja/community

作成したプロセスの概要

UiPathで作成したプロセスを手短にまとめると、以下のような流れです。

1.Tax Moveの転記したいセルの範囲を配列として読み込む

赤枠の部分をUiPathに2次元配列(DataTable)として読み込みます。実際に配列として読み込ませた範囲は上下にもう少し広く、非表示になっている行と列も含まれます。

Tax Move

2.別表5の2の転記対象セルのidを確認する

例えば下図の赤枠で囲んだ部分ですが、それぞれの場所を特定できる「ctrlid」というidが申告書ソフト内のセルにそれぞれ設定されていました。このidを確認することで、申告書ソフト内で正確なセルの位置を指定することができるようになります。

ctrlidの付番には規則性があるにはあるものの、別表5の2のセルの数自体が結構ありますので、確認にはかなり地道な時間が必要になります。

ctrlid

ctrlidは、Ui Explorer(下図参照)を立ち上げて申告書ソフト内の該当のセルを選択することで確認可能です。

Ui Explorer

3.Tax Move上の転記対象セルと、申告ソフト上のctrlidを紐づける

配列として読み込んでいるTax Moveの各セルと申告ソフト上の各セルのctrlidを紐づけます。

一つ一つ対応させていくのは面倒なので、ctrlidとTax Move内の座標をそれぞれ変数として設定して、例えば上の図でいうと「ctrlid10015000(充当金取崩による中間納付の欄)は、Tax Moveの配列の12行目4列目の値が対応する」という関数を作成しています。

配列の処理方法を理解していないままに挑戦してしまったため、非常に苦戦しました。

4.Tax Move上の各セルとそれぞれ転記させる

UiPathに設定されているのFor eachアクティビティを使って、関数で紐づけたTax Moveの各セルを実際に申告ソフトの各セルにひとつずつ転記させる流れを作成します。

全てのセルを一つのFor eachアクティビティを使って転記できるようにできればよいのですが、全くうまくいかなかったので、諦めて「前期未納税額」・「中間納付」・「その他租税公課」など細かいグループごとに転記プロセスをブロックとして作ったうえで、最後にすべてのブロックを結びつける方法で対処しています。

参考にしたサイト

今回のUiPathでのプロセス作成にあたっては、以下のサイトを参考にしました。

EX-IT | ひとり税理士が語る雇われない・雇わない生き方
https://www.ex-it-blog.com/

そもそもUiPathを使って申告書への転記ができるということを教えてくれた、税理士の井ノ上陽一さんが運営するブログです。

UiPathについても色々な用途で実際に使用しているブログが掲載されています。

UiPath以外にもIBM Watson Assistantなど、色々な最新IT技術を日々の業務に取り入れている方で、税理士としての枠にとらわれない発想と着眼点をお持ちの、本当にすごい方です。

UiPath アカデミー
https://www.uipath.com/ja/rpa-academy

UiPathが運営しているオンライン学習プログラムです。日本語による解説動画と説明画面を見ることができます(英語が時々残っています)。

Level 1 – Foundation Training(日本語)の途中までしかまだ見ていませんが、トレーニングの最初の方でUiPathの基本的な仕組みを確認できるので、UiPathを使ってみようと思った場合は、まずは見てみると何となく全体像が理解できると思います。

この他、細かい処理の方法などは、都度方法を検索をして対処していますが、検索時は「UiPath 」や、「VB.NET」というキーワードの後にやりたいことを検索キーワードに入れると、何かしらヒントになる情報が手に入りました。

作成に要した時間と感想

今回の一連の転記プロセスを作成するだけでもかなりの時間がかかりました(法人税の申告書を手入力なら数件は作成できるくらいの時間)。

本格的なプログラミング能力は必要ないとはされてますが、「本格的な」という意味であって、Excelやマクロを操作するのと同じ感覚で使えるほどにUiPathは簡単なものではなかったというのが感想です。その意味では基礎的なプログラミング知識はあった方がよかったと思いました。

半分は趣味のようなものなので、これからも時間をみつけて、別表4と5の1を含めた簡単な申告書であればExcelで作成したものを全て自動で転記できるような仕組みを作ってみたいと思います。

————

※この記事は、投稿日現在の日本の税法に基づく一般的な取扱いを記載したものであり、特定の事実関係によっては、税法上の取扱が大幅に異なることがあり得ます。この記事の情報に基づき具体的な決定や行為を起こす際は、当事務所、または他の税務プロフェッショナルに相談することをお勧めいたします。

カテゴリー

年別アーカイブ