(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024151891
(43)【公開日】2024-10-25
(54)【発明の名称】自動仕訳プログラム
(51)【国際特許分類】
G06Q 40/12 20230101AFI20241018BHJP
【FI】
G06Q40/12 420
【審査請求】有
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023065682
(22)【出願日】2023-04-13
(71)【出願人】
【識別番号】512045467
【氏名又は名称】株式会社NIコンサルティング
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】赤松 志彬
【テーマコード(参考)】
5L040
5L055
【Fターム(参考)】
5L040BB64
5L055BB64
(57)【要約】
【課題】取引の内容の記載のばらつきが大きい場合であっても、明細に記載の費用の種類のばらつきが大きい場合であっても、仕訳処理の複雑化を抑制しつつ、仕訳精度の向上も図ることができる自動仕訳プログラムを提供すること。
【解決手段】自動仕訳プログラムは、複数の取引の内容を表す複数の名目とそれぞれの名目に関する金額のデータの入力を受け付けることと、予め定められた集約ルールに基づき、入力された複数の名目を集約することと、集約された名目に関連する金額の総額を計算することと、集約された名目に対して自動仕訳を実行することとをプロセッサに実行させる。
【選択図】
図5
【特許請求の範囲】
【請求項1】
複数の取引の内容を表す複数の名目とそれぞれの名目に関する金額のデータの入力を受け付けることと、
予め定められた集約ルールに基づき、入力された前記複数の名目を集約することと、
集約された名目に関連する金額の総額を計算することと、
集約された名目に対して自動仕訳を実行することと、
をプロセッサに実行させるための自動仕訳プログラム。
【請求項2】
前記集約ルールは、前記名目の文字列に対する部分一致のルールであり、
前記複数の名目を集約することは、入力された前記名目の文字列が予め集約結果毎に定められた名目に関連付けられた第1の文字列を含むときに、入力された名目の文字列を対応する集約結果に集約することを前記プロセッサに実行させることを含む、
請求項1に記載の自動仕訳プログラム。
【請求項3】
前記複数の名目を集約することは、入力された前記名目の文字列が予め集約結果毎に定められた名目に関連付けられた第2の文字列を含むときには、入力された前記名目の文字列が予め集約結果毎に定められた名目に関連付けられた第1の文字列を含むときであっても、入力された名目の文字列を対応する集約結果に集約しないことを前記プロセッサに実行させることを含む、
請求項2に記載の自動仕訳プログラム。
【請求項4】
ユーザに前記集約ルールを設定させることをさらに前記プロセッサに実行させるための請求項1に記載の自動仕訳プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、自動仕訳プログラムに関する。
【背景技術】
【0002】
近年、経理業務の効率化を実現する手段の1つとして仕訳作業の自動化がすすめられている。例えば、仕訳対象の請求書等の書面のデータを入力することによって仕訳が実施される装置等が知られている。この種の自動仕訳のための手法としては、ルールベースに基づく手法、人工知能を用いた手法等が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
自動仕訳では、請求書等の書面に記載された各種の取引の内容が、税務上のルール及び会社上のルール等の予め定められた各種のルールに従った勘定科目に仕訳される。ここで、請求書等における取引の内容の記載のされ方は、業種の違い、運用の違いといった各種の条件の違いによって大きくばらつくことが多い。請求書等における取引の内容の記載が大きくばらついていると、自動仕訳の処理が複雑化して仕訳処理に時間がかかりやすくなり、また、仕訳結果に誤りが生じる可能性も高くなる。
【0005】
実施形態は、取引の内容の記載のばらつきが大きい場合であっても、仕訳処理の複雑化を抑制しつつ、仕訳精度の向上も図ることができる自動仕訳プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
一態様によれば、自動仕訳プログラムは、複数の取引の内容を表す複数の名目とそれぞれの名目に関する金額のデータの入力を受け付けることと、予め定められた集約ルールに基づき、入力された複数の名目を集約することと、集約された名目に関連する金額の総額を計算することと、集約された名目に対して自動仕訳を実行することとをプロセッサに実行させる。
【発明の効果】
【0007】
実施形態によれば、取引の内容の記載のばらつきが大きい場合であっても、明細に記載の費用の種類のばらつきが大きい場合であっても、仕訳処理の複雑化を抑制しつつ、仕訳精度の向上も図ることができる自動仕訳プログラムを提供することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る端末の一例の構成を示す図である。
【
図3】
図3は、端末における集約ルールの設定処理を示すフローチャートである。
【
図4】
図4は、集約ルールの設定画面の一例を示す図である。
【
図5】
図5は、集約処理及び仕訳処理の一例について示すフローチャートである。
【
図6】
図6は、集約処理の一例について示すフローチャートである。
【
図7】
図7は、請求書のデータの一例を示す図である。
【発明を実施するための形態】
【0009】
以下、実施形態について図面を参照して説明する。
図1は、実施形態に係る端末の一例の構成を示す図である。
図1に示すように、端末1は、プロセッサ11と、メモリ12と、ストレージ13と、入力インターフェース14と、ディスプレイ15と、通信モジュール16とを有している。プロセッサ11と、メモリ12と、ストレージ13と、入力インターフェース14と、ディスプレイ15と、通信モジュール16とは、互いに通信できるようにバス17に接続されている。ここで、端末1は、スマートフォン、タブレット端末、パーソナルコンピュータといった端末であってよい。
【0010】
プロセッサ11は、端末1の動作を制御するように構成されたプロセッサである。プロセッサ11は、ストレージ13に記憶されている各種のプログラムに従って各種の処理を実行する。プロセッサ11は、例えばCPUである。プロセッサ11は、CPUではなく、MPU、GPU等であってもよい。また、プロセッサ11は、1つのCPU等によって構成されている必要はなく、複数のCPU等によって構成されてもよい。
【0011】
メモリ12は、ROM、RAMといったメモリを含む。ROMは、不揮発性のメモリである。ROMは、端末1の起動プログラム等を記憶している。RAMは、揮発性のメモリである。RAMは、例えばプロセッサ11における処理の際の作業メモリとして用いられる。
【0012】
ストレージ13は、例えばフラッシュメモリといったストレージである。ストレージ13は、端末1において用いられる各種のプログラム及びデータを格納している。実施形態では、ストレージ13は、OS(オペレーティングシステム)131、自動仕訳プログラム132、集約ルール133を格納している。ストレージ13は、OS131、自動仕訳プログラム132以外のプログラムを格納していてもよい。
【0013】
OS131は、端末1の基本的な機能を実現するためのプログラムである。ストレージ13に格納されている各種のプログラムは、OSの制御下で実行される。
【0014】
自動仕訳プログラム132は、プロセッサ11に自動仕訳処理を実行させるプログラムである。自動仕訳処理は、入力された取引をその内容に応じた適切な勘定科目に分類し、勘定科目毎の金額を計算する処理である。取引の内容は、請求書等の書面又は書面と同等の内容を含むデータにおいて記入される。この場合、自動仕訳プログラム132は、書面等の文字列から取引の内容を認識させ、認識させた取引の内容を勘定科目に分類させる処理をプロセッサ11に実行させる。自動仕訳プログラム132は、必要に応じて端末1にインストールされ得る。なお、実施形態における取引は、自動仕訳の対象となり得る取引であれば特に限定されない。
【0015】
また、実施形態における自動仕訳プログラム132は、実際の自動仕訳処理に先立って集約処理をプロセッサ11に実行させる。集約処理は、入力された取引を予め定められたルールに従って集約する処理である。ここでの集約結果は、集約ルール133に従って複数の取引の内容を1つの名目にまとめたものである。実際の自動仕訳処理では、集約結果毎に勘定科目への仕訳が実施される。ここで、勘定科目への仕訳は、任意の手法で行われてよい。例えば、勘定科目への仕訳は、ルールベースで行われてもよいし、学習済みモデルを用いて行われてもよい。勘定科目への仕訳がルールベースで行われる場合、仕訳ルールは、集約結果と勘定科目との間の仕訳ルールである。同様に、勘定科目への仕訳が学習済みモデルを用いて行われる場合、モデルは、集約結果を入力とし、仕訳結果としての勘定科目を出力するように構成されたモデルである。モデルには、SVM(サポートベクトルマシン)、ニューラルネットワーク等の各種の分類モデルが用いられてよい。
【0016】
集約ルール133は、集約処理を実行するためのルールである。一部の集約ルール133は、例えば自動仕訳プログラム132のインストールの際に設定され得る。集約ルール133は、端末1のユーザによって追加され得る。ここで、集約ルール133は、必ずしもストレージ13に記憶される必要はなく、端末1の外部のサーバ等に記憶されていてもよい。この場合、端末1は、必要に応じて外部のサーバ等から集約ルール133を取得する。
【0017】
図2は、集約ルール133の一例を示す図である。一例の集約ルール133は、文字列の部分一致の判断のためのルールである。
図2に示す例の集約ルール133は、「集約結果」と、「条件(含む)」と、「条件(含まない)」の3つの項目を有している。
【0018】
「集約結果」は、条件が満たされたときのまとめ先の名目である。「集約結果」と関連付けられる名目は、自動仕訳プログラム132の作成時に予め設定されるものを含む。「集約結果」と関連付けられる名目は、さらに、ユーザによって追加されたものも含む。実施形態では、同じ集約結果にまとめられた取引の内容は、同じ勘定科目に分類される。
【0019】
「条件(含む)」と「条件(含まない)」は、対応する集約結果に集約されるための文字列の条件である。
【0020】
「条件(含む)」に設定されている文字列が集約対象の文字列に含まれている場合には、その集約対象の文字列は対応する「集約結果」に集約される。例えば、
図2では、集約結果「広告・宣伝」の「条件(含む)」に、「広告」、「出稿」、「掲載料」が設定されている。この場合、集約対象の文字列に「広告」、「出稿」、「掲載料」の何れかが含まれているときには、集約対象の文字列が集約結果「広告・宣伝」に集約される。
【0021】
また、「条件(含まない)」に設定されている文字列が集約対象の文字列に含まれている場合には、「条件(含む)」に設定されている文字列が集約対象の文字列に含まれている場合であっても、その集約対象の文字列は対応する「集約結果」に集約されない。例えば、
図2では、集約結果「広告・宣伝」の「条件(含まない)」に、「広告制作」が設定されている。この場合、その集約対象の文字列が「広告制作」であるときには、集約対象の文字列は「広告」を含んでいるものの、集約結果「広告・宣伝」に集約されない。「条件(含まない)」が設定され得ることにより、単純な部分一致で取引の内容が集約されてしまうことによってユーザが望まない仕訳が行われてしまう状況が抑制され得る。
【0022】
ここで、
図2で示した集約ルール133は、一例である。集約ルール133は、
図2で示した文字列の部分一致の条件以外の条件を含んでいてもよい。例えば、寄付金の場合、どの組織や団体に寄付したかで異なる補助科目に仕訳されたほうが良い場合がある。この他、自社にとって管理上重要な取引先への支払い等は明細別に記載したい要求があるために他と集約されないことが望ましいことがある。また、ある特定の取引先からの請求書では家賃のことが「オフィス」と記載されていて、通常では単なる「オフィス」が集約結果「賃料等」に集約されるべきではないが、その取引先に限っては「オフィス」が集約結果「賃料等」に集約されたほうがよい場合もある。このような同一の文字列であっても異なる勘定科目に仕訳されるべき取引の内容が1つの名目にまとめられてしまうと、その後の仕訳処理が適切に行われない可能性がある。このために、集約ルール133は、支払い先の条件を含んでいてもよい。この他、集約ルール133は、金額の条件等の各種の条件を含んでいてもよい。集約ルール133に金額の条件が含まれることにより、例えば、文字列の条件では同じ集約結果に集約される場合でも、金額が異なる場合には異なる集約結果に集約されるといったことが行われ得る。また、集約ルール133は、集約結果の評価、分析のために、それぞれの集約結果とともに保存されてもよい。
【0023】
入力インターフェース14は、タッチパネル、キーボード、マウス等の入力装置を含む。入力インターフェース14の操作がされた場合、操作内容に応じた信号がバス17を介してプロセッサ11に入力される。プロセッサ11は、この信号に応じて各種の処理を行う。ここで、入力装置は、カメラを含んでいてもよい。カメラは、例えば、請求書等の書面の画像を撮影するために用いられる。カメラによって撮影された書面の画像から仕訳対象の文字列が認識され得る。
【0024】
ディスプレイ15は、液晶ディスプレイ、有機ELディスプレイ等の表示装置である。ディスプレイ15は、各種の画像を表示する。
【0025】
通信モジュール16は、端末1が各種の外部機器と通信するときの処理をするように構成されたインターフェースを含むモジュールである。通信モジュール16は、携帯電話回線、無線LAN回線、有線LAN回線等を用いてネットワークに接続するように構成されている。または、通信モジュール16は、Bluetooth(登録商標)等の近距離無線通信によって端末1の近傍の機器と接続するように構成されている。また、通信モジュール16に特定の集約ルールが記憶された記憶装置を接続することにより、端末1に自動的に特定の集約ルールが設定されるようにすることも可能である。これにより汎用の端末を自動的に専用端末として動作させることも可能である。
【0026】
次に、実施形態における自動仕訳プログラム132に基づく端末1の動作を説明する。
図3は、端末1における自動仕訳プログラム132の集約ルールの設定の処理を示すフローチャートである。
図3の処理は、例えば端末1のユーザによって自動仕訳プログラム132の起動が指示されたときに開始される。
【0027】
ステップS1において、端末1のプロセッサ11は、集約ルールの設定が指示されたか否かを判定する。例えば、自動仕訳プログラム132が起動された際にディスプレイ15に表示される図示しない初期画面において集約ルールの設定ボタンが選択された場合に、集約ルールの設定が指示されたと判定される。ステップS1において、集約ルールの設定が指示されたと判定されたときには、処理はステップS2に移行する。ステップS1において、集約ルールの設定が指示されたと判定されていないときには、処理はステップS7に移行する。
【0028】
ステップS2において、プロセッサ11は、ディスプレイ15に集約ルールの設定画面を表示させる。
【0029】
図4は、集約ルールの設定画面の一例を示す図である。集約ルールの設定画面150は、例えば、集約結果入力欄151と、条件(含む)入力欄152と、条件(含まない)入力欄153とを含む画面である。
【0030】
集約結果入力欄151は、集約ルール133の「集約結果」と関連付けられる名目の入力欄である。ユーザは、集約結果入力欄151に、直接的に集約結果の名目を表す文字列を入力し得る。または、ユーザは、集約結果入力欄151に設けられたプルダウンボタン151aを選択することによって表示されるドロップダウンリストから、自身の望む集約結果の名目を選択し得る。ドロップダウンリストでは、初期値として設定されている名目及びユーザによって新たに追加された名目が一覧表示される。
【0031】
条件(含む)入力欄152は、集約ルール133の「条件(含む)」の入力欄である。ユーザは、条件(含む)入力欄152に、対応する集約結果に集約したい取引内容を表す文字列を列挙して入力し得る。取引内容の一部の文字列が入力された場合には、文字列の部分一致で集約処理における判定がされる。取引内容の全部の文字列が入力された場合には、文字列の全部一致で集約処理における判定がされる。ここで、
図4では、文字列毎に改行されることで、「条件(含む)」のそれぞれの文字列が区別されている。これに対し、文字列の間にカンマが挟まれて入力される等の他の手法で「条件(含む)」のそれぞれの文字列が区別されてもよい。
【0032】
条件(含まない)入力欄153は、集約ルール133の「条件(含まない)」の入力欄である。ユーザは、条件(含まない)入力欄153に、対応する集約結果に集約したくない取引内容を表す文字列を列挙して入力し得る。取引内容の一部の文字列が入力された場合には、文字列の部分一致で集約処理における判定がされる。取引内容の全部の文字列が入力された場合には、文字列の全部一致で集約処理における判定がされる。ここで、条件(含む)入力欄152と同様に、条件(含まない)入力欄153も、文字列毎に改行されたり、文字列の間にカンマが挟まれたりすることで、「条件(含まない)」のそれぞれの文字列が区別されてよい。
【0033】
さらに、集約ルールの設定画面150は、保存ボタン154及び戻るボタン155を含み得る。保存ボタン154は、各入力欄に入力された内容を集約ルール133として保存した上で初期画面に戻る際にユーザによって選択されるボタンである。戻るボタン155は、各入力欄に入力された内容を集約ルール133として保存せずに初期画面に戻る際にユーザによって選択されるボタンである。
【0034】
ここで、集約ルール133が金額等の他の条件を含む場合、集約ルールの設定画面150も、それぞれの条件と対応した入力欄を含み得る。また、
図4では、保存ボタン154と戻るボタン155の2つのボタンが設けられているが、これらのボタンと同等の処理が行われ得るのであれば、保存ボタン154と戻るボタン155とは省略されてもよい。また、保存ボタン154及び戻るボタン155以外のボタンが設けられてもよい。
【0035】
以下、
図3の説明に戻る。ステップS3において、プロセッサ11は、ユーザの入力操作に従って集約ルールの設定画面150の表示を更新する。例えば、プロセッサ11は、集約結果入力欄151、条件(含む)入力欄152、条件(含まない)入力欄153のそれぞれに対する文字列の入力操作に応じて文字列を表示させる。
【0036】
ステップS4において、プロセッサ11は、集約ルールを保存するか否かを判定する。例えば、保存ボタン154が選択された場合には、集約ルールを保存すると判定される。ステップS4において、集約ルールを保存すると判定されたときには、処理はステップS6に移行する。ステップS4において、集約ルールを保存すると判定されていないときには、処理はステップS5に移行する。
【0037】
ステップS5において、プロセッサ11は、集約ルールの設定画面150から戻るか否かを判定する。例えば、戻るボタン155が選択された場合には、戻ると判定される。ステップS5において、集約ルールの設定画面150から戻ると判定されていないときには、処理はステップS3に戻る。この場合、引き続いて集約ルールの設定画面150において集約ルールの設定が行われ得る。ステップS5において、集約ルールの設定画面150から戻ると判定されたときには、処理はステップS7に移行する。この場合、プロセッサ11は、ディスプレイ15の表示を初期画面に戻す。
【0038】
ステップS6において、プロセッサ11は、集約ルールの設定画面150の各欄に入力された内容に基づいて集約ルール133を更新又は追加する。プロセッサ11は、集約結果入力欄151に入力された名目がすでに集約ルール133の「集約結果」の項目に登録されている名目であるときには、条件(含む)入力欄152及び条件(含まない)入力欄153の入力内容に基づいて、対応する「条件(含む)」及び「条件(含まない)」の項目を更新する。一方、プロセッサ11は、集約結果入力欄151に入力された名目が集約ルール133の「集約結果」の項目に登録されていない名目であるときには、集約ルール133の「集約結果」、「条件(含む)」、「条件(含まない)」の項目を追加する。そして、プロセッサ11は、集約結果入力欄151に入力された名目を新たに追加した「集約結果」の項目に登録しつつ、条件(含む)入力欄152及び条件(含まない)入力欄153の入力内容を、新たに追加した「条件(含む)」及び「条件(含まない)」の項目に登録する。その後、プロセッサ11は、ディスプレイ15の表示を初期画面に戻す。そして、処理はステップS7に移行する。
【0039】
ステップS7において、プロセッサ11は、自動仕訳プログラム132の処理を終了するか否かを判定する。例えば、図示しない初期画面に表示される終了ボタンが選択された場合に処理を終了すると判定される。ステップS7において、自動仕訳プログラム132の処理を終了すると判定されていないときには、処理はステップS1に戻る。ステップS7において、自動仕訳プログラム132の処理を終了すると判定されたときには、
図3の処理は終了する。
【0040】
次に、集約処理及び仕訳処理について説明する。
図5は、集約処理及び仕訳処理について示すフローチャートである。
図5の処理は、例えば端末1のユーザによって自動仕訳プログラム132の起動時に表示される図示しない初期画面において、仕訳対象のデータの入力があったときに開始される。ここで、入力される仕訳対象のデータは、請求書等の書面に記載された内容を表すテキストデータ、請求書等の書面に記載された内容を表す表形式のデータ、請求書等の書面の画像データ等の各種の形式のデータであってよい。この他、仕訳対象のデータは、所定のフォーマットのデジタルインボイスであってもよい。
【0041】
ステップS11において、プロセッサ11は、集約処理を実行する。集約処理の後、処理はステップS12に移行する。以下、
図6を参照して集約処理について説明する。
図6は、集約処理の一例について示すフローチャートである。
【0042】
ステップS101において、プロセッサ11は、入力されたデータが画像データであるか否かを判定する。ステップS101において、入力されたデータが画像データであると判定されたときには、処理はステップS102に移行する。ステップS101において、入力されたデータが画像データであると判定されていないときには、処理はステップS103に移行する。
【0043】
ステップS102において、プロセッサ11は、入力された画像データに対する文字認識を実施する。文字認識は、任意の手法で行われてよい。
【0044】
ステップS103において、プロセッサ11は、入力されたデータから1つの名目の文字列を取得する。例えば、入力されたデータがテキストデータであれば、プロセッサ11は、入力された順に名目の文字列を取得する。また、例えば、入力されたデータが表形式のデータであれば、プロセッサ11は、上の行から順に名目の文字列を取得する。また、例えば、入力されたデータが画像データであれば、プロセッサ11は、文字認識が行われた順に名目の文字列を取得する。
【0045】
ステップS104において、プロセッサ11は、集約ルール133から1つの「集約結果」に対する集約ルールを取得する。例えば、プロセッサ11は、
図2の上から順に集約ルールを取得する。
【0046】
ステップS105において、プロセッサ11は、取得した名目の文字列が取得した「条件(含む)」に合致しているか否かを判定する。例えば、取得した名目の文字列が対応する「条件(含む)」において列挙されている何れかの文字列を含んでいるときには、取得した名目の文字列が取得した「条件(含む)」に合致していると判定される。ステップS105において、取得した名目の文字列が取得した「条件(含む)」に合致していると判定されたときには、処理はステップS106に移行する。ステップS105において、取得した名目の文字列が取得した「条件(含む)」に合致していると判定されていないときには、処理はステップS108に移行する。
【0047】
ステップS106において、プロセッサ11は、取得した名目の文字列が先に「条件(含む)」に合致すると判定された「集約結果」の「条件(含まない)」に合致しているか否かを判定する。例えば、取得した名目の文字列が対応する「条件(含まない)」において列挙されている何れかの文字列を含んでいるときには、取得した名目の文字列が取得した「条件(含まない)」に合致していると判定される。ステップS106において、取得した名目の文字列が取得した「条件(含まない)」に合致していると判定されていないときには、処理はステップS107に移行する。ステップS106において、取得した名目の文字列が取得した「条件(含まない)」に合致していると判定されたときには、処理はステップS108に移行する。
【0048】
ステップS107において、プロセッサ11は、取得した名目を取得した「集約結果」に集約する。集約に際し、プロセッサ11は、対応する名目の金額を対応する集約結果の金額に加算する。その後、処理はステップS109に移行する。すなわち、実施形態では、「条件(含む)」に合致し、「条件(含まない)」に合致しないときに、対応する名目が対応する「集約結果」に集約される。
【0049】
ステップS108において、プロセッサ11は、すべての集約ルールを取得したか、すなわち取得した名目の文字列についてすべての集約ルールに基づく判定を行ったか否かを判定する。ステップS108において、すべての集約ルールを取得したと判定されていないときには、処理はステップS104に戻る。この場合、プロセッサ11は、次の集約ルールを取得する。ステップS108において、すべての集約ルールを取得したと判定されたときには、処理はステップS109に移行する。
【0050】
ステップS109において、プロセッサ11は、すべての名目の文字列を取得したか、すなわちすべての名目の文字列についてすべての集約ルールに基づく判定を行ったか否かを判定する。ステップS109において、すべての名目の文字列を取得したと判定されていないときには、処理はステップS103に戻る。この場合、プロセッサ11は、次の名目の文字列を取得する。ステップS109において、すべての名目の文字列を取得したと判定されたときには、処理はステップS110に移行する。
【0051】
ステップS110において、プロセッサ11は、集約結果をディスプレイ15に表示する。ユーザは、集約結果の表示画面上で集約結果を編集し得る。編集の完了後、
図6の処理は終了する。
【0052】
以下、
図6の処理について具体的に説明する。以下では、
図7に示す請求書のデータに対する集約処理を例として説明がされる。この場合の取引の内容は、各種の商品に対する支払いである。
図7に示す請求書のデータは、「No.」、「商品名」、「数量」、「単価」、「金額」の項目を有している。「No.」は、商品毎に付けられる通し番号である。「商品名」は、対応する商品の名称である。「数量」は、対応する商品の数である。「単価」は、対応する商品の1個の金額である。「金額」は、対応する商品の支払い総額、すなわち「数量」と「単価」の積である。なお、
図7に示す請求書のデータの各項目は、業務上の運用等に基づいて適宜に設定されるものであり、特に限定されない。
【0053】
集約処理として、プロセッサ11は、入力されたデータから名目の文字列を順次に取得する。例えば、
図7の請求書データであれば、プロセッサ11は、「賃料」、「管理料」、「廃棄物処理料」、「電気料」、「時間外空調料」の順に文字列を取得する。
【0054】
続いて、プロセッサ11は、集約ルールを順次に取得する。例えば、
図2の集約ルールであれば、「広告・宣伝」、「手数料」、「諸会費」、「寄付金」、「運送」、「賃料等」、「駐車場代」、光熱費、…、の順に集約ルールを取得する。
【0055】
続いて、プロセッサ11は、取得した名目の文字列が取得した「条件(含む)」に合致しているか否かを判定する。例えば、
図7に示す商品名の文字列「賃料」は、集約結果「広告・宣伝」、「手数料」、「諸会費」、「寄付金」、「運送」において列挙されている何れの文字列も含んでいない。したがって、文字列「賃料」は、集約結果「広告・宣伝」、「手数料」、「諸会費」、「寄付金」、「運送」の何れの「条件(含む)」とも合致していないと判定される。一方、文字列「賃料」は、集約結果「賃料等」の「条件(含む)」において列挙されている「賃料」の文字列を含んでいる。したがって、文字列「賃料」は、集約結果「賃料等」の「条件(含む)」と合致していると判定される。
【0056】
取得した名目の文字列と合致する「条件(含む)」があった場合、プロセッサ11は、名目の文字列が対応する「条件(含まない)」に合致しているか否かを判定する。例えば、文字列「賃料」は、集約結果「賃料等」の、「条件(含む)」において列挙されている「賃料」の文字列を含んでいる。一方、文字列「賃料」は、集約結果「賃料等」の「条件(含まない)」において列挙されている何れの文字列も含んでいない。したがって、文字列「賃料」は、集約結果「賃料等」の「条件(含まない)」と合致していないと判定される。
【0057】
結果として、文字列「賃料」は、集約結果「賃料等」に集約される。同様の判定が、それぞれの商品名の文字列に対して行われる。ここで、何れの「条件(含む)」にも合致しなかった文字列は、集約されずに残ることになる。
【0058】
以上の結果、
図7に示す請求書のデータに対する集約結果は、
図8に示すものとなる。
図8の例では、集約結果は、「元のNo.」、「費目」、「金額」の項目を有している。「元のNo.」は、対応する集約結果に集約されている商品名のそれぞれの「No.」を示す項目である。「費目」は、集約結果に関連付けられている名目である。ここでは、請求書のデータに対する集約結果なので費目と記されている。「金額」は、対応する集約結果に集約されたそれぞれの商品の「金額」の総額である。つまり、
図8の「金額」は、「元のNo.」で示される「No.」の「金額」の総額である。したがって、例えば、「元のNo.」が1、2であるときの
図8の「金額」は2,500,000+500,000=3,000,000円となる。
【0059】
プロセッサ11は、
図8に示した集約結果をディスプレイ15に表示する。ユーザは、ディスプレイ15に表示された集約結果を編集し得る。そして、編集の完了後、
図6の処理は終了する。
【0060】
ここで、
図5の説明戻る。集約処理の後のステップS12において、プロセッサ11は、仕訳処理を実行する。前述したように、仕訳処理は、集約結果に対して実行される。仕訳処理の後、処理はステップS13に移行する。
図9は、仕訳結果の一例を示す図である。
図9に示すように、仕訳処理により、
図7で示した取引の内容が予め定められた勘定科目に仕訳される。
【0061】
ステップS13において、プロセッサ11は、仕訳結果をディスプレイ15に表示する。ユーザは、仕訳結果の表示画面上で仕訳結果を編集し得る。編集の完了後、画面は初期画面に遷移し、処理はステップS14に移行する。
【0062】
ステップS14において、プロセッサ11は、自動仕訳プログラム132の処理を終了するか否かを判定する。例えば、図示しない初期画面に表示される終了ボタンが選択された場合に処理を終了すると判定される。ステップS14において、自動仕訳プログラム132の処理を終了すると判定されていないときには、処理はステップS11に戻る。ステップS14において、自動仕訳プログラム132の処理を終了すると判定されたときには、
図5の処理は終了する。
【0063】
以上説明したように実施形態によれば、自動仕訳処理において、実際の仕訳処理が実施されるのに先立って入力された取引の内容が予め定めた集約ルールに従って集約される。これにより、種々雑多な内容の請求書等に対する仕訳処理がルールベースで行われる場合であっても、学習済みモデルで行われる場合であっても、処理の複雑化が抑制される。また、処理の複雑化の抑制に伴って、仕訳処理の精度の向上も期待される。さらには、仕訳処理において設定されるルールの数や、学習済みモデルの学習に必要な教師データの数の削減も期待される。
【0064】
また、実施形態では、集約処理は、文字列の部分一致によるルールベースで行われる。このため、処理の負荷が軽減されることが期待される。また、ルールをユーザが定義し得るので、運用等に基づいた適切な集約がされることが期待される。また、文字列の部分一致のルールには、特定の文字列を含む条件だけでなく、特定の条件を含まない条件も設定され得る。このため、ユーザが意図しない仕訳がされてしまうことが抑制されることが期待される。
【0065】
(変形例)
以下、実施形態の変形例を説明する。前述したように、実施形態ではルールベースでの集約処理が行われる。したがって、定義されているルールの件数が少なかったり、入力されたデータにおいてルールから逸脱した内容が多かったりする場合には、適切な集約が行われないことも想定される。一方で、仕訳の内容によってはそもそも取引毎の詳細な仕訳が必要なく、例えば請求書の全体を1つの仕訳データにしてよい場合もある。これを考慮して、プロセッサ11は、以下の条件に合致した場合には、入力されたデータ全体の内容を1つの集約結果に集約してもよい。また、集約処理の途中経過をモニターし、処理の途中においても集約ルールを変更可能として、より効率的に最適な集約ルールの導出も可能とすることができる。
1)入力されたデータの金額の総額と集約結果の金額とが同じである。
2)集約結果が1つに集約されている。
3)連続して一定回数以上、同じように集約されている。
【0066】
ここで、1)、2)、3)の判断は、ユーザによって編集された集約結果に基づいて行われることが望ましい。例えば、ユーザが、部分一致による集約結果に対して、過去に一定回数以上、同一の組み合わせに対する集約結果を特定の名目に集約する編集をし、それぞれの編集結果において入力されたデータの金額と集約結果の金額とが同じであった場合には、その編集後の集約結果が学習される。そして、次回以降は、同一の支払先で同一の組み合わせの名目の入力がされたときには、それらの名目は学習された名目に集約されてよい。このような変形例の処理が追加されることにより、文字列の部分一致の判定の回数が減り、集約処理の負荷のさらなる低減が期待される。
【0067】
また、実施形態では、自動仕訳プログラム132による集約処理及び仕訳処理は、何れも端末1において行われるとされている。これに対し、集約処理及び仕訳処理は、端末1以外の例えば端末1が通信できるサーバ等において行われてもよい。この場合、サーバ等のストレージに、集約ルール133が記憶される。また、複数の端末1において集約処理を行った結果、仕訳処理を行った結果、及び集約ルールをサーバ等に送信し、サーバ等においてその結果を分析、評価することもし得る。そして、複数の結果に対する分析、評価の結果に基づいて最適な集約ルールを導出することもし得る。この時、集約前のデータも送信すれば、より詳細な分析、評価が可能なことは言うまでもない。
【0068】
また、実施形態では、集約処理は、ルールベースで行われるとされている。これに対し、集約処理は、取引の内容と集約結果との関係を学習した学習済みモデルによって行われてもよい。
【0069】
また、上述した実施形態による各処理は、コンピュータであるプロセッサ11に実行させることができるプログラムとして記憶させておくこともできる。この他、磁気ディスク、光ディスク、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。そして、プロセッサ11は、この外部記憶装置の記憶媒体に記憶されたプログラムを読み込み、この読み込んだプログラムによって動作が制御されることにより、上述した処理を実行することができる。
【0070】
本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【0071】
1 端末、11 プロセッサ、12 メモリ、13 ストレージ、14 入力インターフェース、15 ディスプレイ、16 通信モジュール、17 バス、132 自動仕訳プログラム、133 集約ルール。
【手続補正書】
【提出日】2024-07-03
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数の取引の内容を表す異なる複数の名目とそれぞれの名目に関する金額のデータの入力を受け付けることと、
予め定められた集約ルールに基づき、入力された異なる複数の名目を1つの名目に集約することと、
集約された名目に関連する金額の総額を計算することと、
集約された名目に対して自動仕訳を実行することと、
をプロセッサに実行させるための自動仕訳プログラム。
【請求項2】
前記集約ルールは、前記名目の文字列に対する部分一致のルールであり、
前記複数の名目を集約することは、入力された前記名目の文字列が予め集約結果毎に定められた名目に関連付けられた第1の文字列を含むときに、入力された名目の文字列を対応する集約結果に集約することを前記プロセッサに実行させることを含む、
請求項1に記載の自動仕訳プログラム。
【請求項3】
前記複数の名目を集約することは、入力された前記名目の文字列が予め集約結果毎に定められた名目に関連付けられた第2の文字列を含むときには、入力された前記名目の文字列が予め集約結果毎に定められた名目に関連付けられた第1の文字列を含むときであっても、入力された名目の文字列を対応する集約結果に集約しないことを前記プロセッサに実行させることを含む、
請求項2に記載の自動仕訳プログラム。
【請求項4】
ユーザに前記集約ルールを設定させることをさらに前記プロセッサに実行させるための請求項1に記載の自動仕訳プログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0006
【補正方法】変更
【補正の内容】
【0006】
一態様によれば、自動仕訳プログラムは、ファイル処理プログラムは、複数の取引の内容を表す異なる複数の名目とそれぞれの名目に関する金額のデータの入力を受け付けることと、予め定められた集約ルールに基づき、入力された異なる複数の名目を1つの名目に集約することと、集約された名目に関連する金額の総額を計算することと、集約された名目に対して自動仕訳を実行することとをプロセッサに実行させる。