(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-10-22
(45)【発行日】2024-10-30
(54)【発明の名称】プログラム、情報処理装置、及び方法
(51)【国際特許分類】
G06Q 40/12 20230101AFI20241023BHJP
【FI】
G06Q40/12
(21)【出願番号】P 2023212314
(22)【出願日】2023-12-15
【審査請求日】2023-12-15
【早期審査対象出願】
(73)【特許権者】
【識別番号】513056101
【氏名又は名称】フリー株式会社
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】春田 雅貴
(72)【発明者】
【氏名】高瀬 真弥
【審査官】小山 和俊
(56)【参考文献】
【文献】特許第7312980(JP,B1)
【文献】特開2019-169183(JP,A)
【文献】特開2022-039657(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
プロセッサとメモリとを備えるコンピュータを動作させるためのプログラムであって、
前記メモリには、帳票をスキャンした帳票画像データが未分類の状態で所定の領域に格納されているとともに、過去に帳票画像データをOCR処理により読み取ったテキストデータがマスタデータベースとして登録されており、
前記プログラムは、前記プロセッサに、
前記所定の領域に格納された前記帳票画像データをOCR処理により読み取り、読み取った結果であるテキストデータを取得する第1のステップと、
前記第1のステップにおいて読み取った結果である前記テキストデータに基づき、当該テキストデータが前記マスタデータベースに登録されているかどうか推測を行い、前記テキストデータの前記マスタデータベースへの反映が必要か否かを判定する第2のステップと、
前記第2のステップにおいて前記マスタデータベースへの反映が必要と判定した場合、当該テキストデータを前記マスタデータベースへ反映して登録する第3のステップと、
前記第3のステップにおいて反映された前記マスタデータベースに基づき、所定のサービスを提示する第4のステップとを実行させ
、
前記第4のステップにおいて、前記テキストデータが反映された前記マスタデータベースに登録されている期限の情報に基づき、前記帳票画像データを登録したユーザが属する企業における、会計年度終了後に行うべき申請書の期限管理を行う、プログラム。
【請求項2】
プロセッサとメモリとを備えるコンピュータを動作させるためのプログラムであって、
前記メモリには、帳票をスキャンした帳票画像データが未分類の状態で所定の領域に格納されているとともに、過去に帳票画像データをOCR処理により読み取ったテキストデータがマスタデータベースとして登録されており、
前記プログラムは、前記プロセッサに、
前記所定の領域に格納された前記帳票画像データをOCR処理により読み取り、読み取った結果であるテキストデータを取得する第1のステップと、
前記第1のステップにおいて読み取った結果である前記テキストデータに基づき、当該テキストデータが前記マスタデータベースに登録されているかどうか推測を行い、前記テキストデータの前記マスタデータベースへの反映が必要か否かを判定する第2のステップと、
前記第2のステップにおいて前記マスタデータベースへの反映が必要と判定した場合、当該テキストデータを前記マスタデータベースへ反映して登録する第3のステップと、
前記第3のステップにおいて反映された前記マスタデータベースに基づき、所定のサービスを提示する第4のステップとを実行させ、
前記第4のステップにおいて、前記テキストデータが反映された前記マスタデータベースに登録されている金額の情報に基づき、前記帳票画像データを登録したユーザが属する企業が免税事業者から課税事業者に変更すべきと判定したときに、前記ユーザにアラートする、プログラム。
【請求項3】
前記第2のステップにおいて、前記テキストデータが前記マスタデータベースに登録されていない場合、前記マスタデータベースへの新規登録が必要であると判定する、請求項1
または2に記載のプログラム。
【請求項4】
前記第2のステップにおいて、前記テキストデータに含まれる所定の項目が、前記マスタデータベースに登録されている所定の項目と一致しない場合、前記マスタデータベースへの新規登録が必要であると判定する、請求項
3に記載のプログラム。
【請求項5】
前記第2のステップにおいて、前記テキストデータが前記マスタデータベースに登録されている場合、
前記テキストデータに含まれる所定の項目が、前記マスタデータベースに登録されている所定の項目と一致すれば、前記マスタデータベースへの反映が不要であると判定する、請求項1
または2に記載のプログラム。
【請求項6】
前記第2のステップにおいて、
前記テキストデータが前記マスタデータベースに登録されている場合、前記テキストデータに含まれる所定の項目が、前記マスタデータベースに登録されている所定の項目と一致しな
ければ、前記マスタデータベースへの更新が必要と判定する、請求項
5に記載のプログラム。
【請求項7】
前記第2のステップにおいて、前記テキストデータが前記マスタデータベースに登録されているか否かを推測する機械学習モデルを使用する、請求項1
または2に記載のプログラム。
【請求項8】
前記第4のステップにおいて、前記期限が到来した場合、ユーザへ通知を行う、請求項
1に記載のプログラム。
【請求項9】
前記第4のステップにおいて、前記テキストデータが反映された前記マスタデータベースに登録されている金額の情報に基づき、会計システムへの登録を行う、請求項
1に記載のプログラム。
【請求項10】
プロセッサとメモリとを備えた情報処理装置であって、
前記メモリには、帳票をスキャンした帳票画像データが未分類の状態で所定の領域に格納されているとともに、過去に帳票画像データをOCR処理により読み取ったテキストデータがマスタデータベースとして登録されており、
前記プロセッサは、
前記所定の領域に格納された前記帳票画像データをOCR処理により読み取り、読み取った結果であるテキストデータを取得する第1のステップと、
前記第1のステップにおいて読み取った結果である前記テキストデータに基づき、当該テキストデータが前記マスタデータベースに登録されているかどうか推測を行い、前記テキストデータの前記マスタデータベースへの反映が必要か否かを判定する第2のステップと、
前記第2のステップにおいて前記マスタデータベースへの反映が必要と判定した場合、当該テキストデータを前記マスタデータベースへ反映して登録する第3のステップと、
前記第3のステップにおいて反映された前記マスタデータベースに基づき、所定のサービスを提示する第4のステップとを実行
し、
前記第4のステップにおいて、前記テキストデータが反映された前記マスタデータベースに登録されている期限の情報に基づき、前記帳票画像データを登録したユーザが属する企業における、会計年度終了後に行うべき申請書の期限管理を行う、情報処理装置。
【請求項11】
プロセッサとメモリとを備えた情報処理装置であって、
前記メモリには、帳票をスキャンした帳票画像データが未分類の状態で所定の領域に格納されているとともに、過去に帳票画像データをOCR処理により読み取ったテキストデータがマスタデータベースとして登録されており、
前記プロセッサは、
前記所定の領域に格納された前記帳票画像データをOCR処理により読み取り、読み取った結果であるテキストデータを取得する第1のステップと、
前記第1のステップにおいて読み取った結果である前記テキストデータに基づき、当該テキストデータが前記マスタデータベースに登録されているかどうか推測を行い、前記テキストデータの前記マスタデータベースへの反映が必要か否かを判定する第2のステップと、
前記第2のステップにおいて前記マスタデータベースへの反映が必要と判定した場合、当該テキストデータを前記マスタデータベースへ反映して登録する第3のステップと、
前記第3のステップにおいて反映された前記マスタデータベースに基づき、所定のサービスを提示する第4のステップとを実行し、
前記第4のステップにおいて、前記テキストデータが反映された前記マスタデータベースに登録されている金額の情報に基づき、前記帳票画像データを登録したユーザが属する企業が免税事業者から課税事業者に変更すべきと判定したときに、前記ユーザにアラートする、情報処理装置。
【請求項12】
プロセッサとメモリとを備えたコンピュータにより実行される方法であって、
前記メモリには、帳票をスキャンした帳票画像データが未分類の状態で所定の領域に格納されているとともに、過去に帳票画像データをOCR処理により読み取ったテキストデータがマスタデータベースとして登録されており、
前記プロセッサは、
前記所定の領域に格納された前記帳票画像データをOCR処理により読み取り、読み取った結果であるテキストデータを取得する第1のステップと、
前記第1のステップにおいて読み取った結果である前記テキストデータに基づき、当該テキストデータが前記マスタデータベースに登録されているかどうか推測を行い、前記テキストデータの前記マスタデータベースへの反映が必要か否かを判定する第2のステップと、
前記第2のステップにおいて前記マスタデータベースへの反映が必要と判定した場合、当該テキストデータを前記マスタデータベースへ反映して登録する第3のステップと、
前記第3のステップにおいて反映された前記マスタデータベースに基づき、所定のサービスを提示する第4のステップとを実行
し、
前記第4のステップにおいて、前記テキストデータが反映された前記マスタデータベースに登録されている期限の情報に基づき、前記帳票画像データを登録したユーザが属する企業における、会計年度終了後に行うべき申請書の期限管理を行う、方法。
【請求項13】
プロセッサとメモリとを備えたコンピュータにより実行される方法であって、
前記メモリには、帳票をスキャンした帳票画像データが未分類の状態で所定の領域に格納されているとともに、過去に帳票画像データをOCR処理により読み取ったテキストデータがマスタデータベースとして登録されており、
前記プロセッサは、
前記所定の領域に格納された前記帳票画像データをOCR処理により読み取り、読み取った結果であるテキストデータを取得する第1のステップと、
前記第1のステップにおいて読み取った結果である前記テキストデータに基づき、当該テキストデータが前記マスタデータベースに登録されているかどうか推測を行い、前記テキストデータの前記マスタデータベースへの反映が必要か否かを判定する第2のステップと、
前記第2のステップにおいて前記マスタデータベースへの反映が必要と判定した場合、当該テキストデータを前記マスタデータベースへ反映して登録する第3のステップと、
前記第3のステップにおいて反映された前記マスタデータベースに基づき、所定のサービスを提示する第4のステップとを実行し、
前記第4のステップにおいて、前記テキストデータが反映された前記マスタデータベースに登録されている金額の情報に基づき、前記帳票画像データを登録したユーザが属する企業が免税事業者から課税事業者に変更すべきと判定したときに、前記ユーザにアラートする、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、情報処理装置、及び方法に関する。
【背景技術】
【0002】
帳票データをOCR処理で読み込み、各種登録を行うシステムの特許文献として、同一レイアウトの複数の帳票画像データを取得すること、帳票画像データをOCRや画像認識により解析すること、解析結果に基づいてマスタテーブルとの相違点を特定し、フォームファイルをマスタテーブルに新たに登録すること、解析結果に基づいて帳票画像データの文字列が可変文字データであるか固定文字データ(項目名)であるかを分類し、可変文字データを登録すること、については、すでに開示されている(特許文献1、2参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-004394号公報
【文献】特開2020-144653号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
会計事務所では、顧客より預かっている各種データにより、期限内までに決算及び申告の処理をする必要があり、期限徒過による訴訟リスクもあるため、期限管理が重要である。
【0005】
本開示の目的は、会計事務所向けのサービスとして、顧客の各種申請書(各種課税の選択届出書等)、決算書をOCRで読み取り、マスタ上に登録して各種サービス(期限管理等)に反映させるシステムを提供することにある。
【課題を解決するための手段】
【0006】
本開示の一実施形態によると、プロセッサとメモリとを備えるコンピュータを動作させるためのプログラムが提供される。メモリには、帳票をスキャンした帳票画像データが未分類の状態で所定の領域に格納されているとともに、過去に帳票画像データをOCR処理により読み取ったテキストデータがマスタデータベースとして登録されている。プログラムは、プロセッサに、所定の領域に格納された帳票画像データをOCR処理により読み取り、読み取った結果であるテキストデータを取得する第1のステップと、第1ステップにおいて読み取った結果であるテキストデータに基づき、当該テキストデータがマスタデータベースに登録されているかどうか推測を行い、テキストデータのマスタデータベースへの反映が必要か否かを判定する第2のステップと、第2のステップにおいてマスタデータベースへの反映が必要と判定した場合、当該テキストデータをマスタデータベースへ反映して登録する第3のステップと、第3のステップにおいて反映されたマスタデータベースに基づき、所定のサービスを提示する第4のステップとを実行させる。
【発明の効果】
【0007】
本開示によれば、会計事務所向けのサービスとして、顧客の各種申請書(各種課税の選択届出書等)、決算書をOCRで読み取り、マスタ上に登録して各種サービス(期限管理等)に反映させるシステムを提供することが可能になる。
【図面の簡単な説明】
【0008】
【
図1】実施の形態1の会計システム1の全体の構成を示す図である。
【
図2】実施の形態1の会計システム1を構成する端末装置10の機能的な構成を示すブロック図である。
【
図3】実施の形態1の会計システム1を構成するサーバ20の機能的な構成を示す図である。
【
図4】実施の形態1の会計システム1を構成するサーバ20が記憶する、会計基本データベース2022のデータ構造の例を示す図である。
【
図5】実施の形態1の会計システム1を構成するサーバ20が記憶する、マスタデータベース2023のデータ構造の例を示す図である。
【
図6】実施の形態1の会計システム1を構成するサーバ20が記憶する、ユーザ情報データベース2025のデータ構造の例を示す図である。
【
図7】実施の形態1の会計システム1による処理を行う流れの一例を示すフローチャートである。
【
図8】実施の形態1の会計システム1による処理を行う流れの一例を示すフローチャートであり、
図7に示す処理に続く処理の流れの一例を示すフローチャートである。
【
図9】端末装置10に表示する画面例を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施形態を説明する。以下の記載および図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。
【0010】
なお、実施例を説明する図において、同一の機能を有する箇所には同一の符号を付し、その繰り返しの説明は省略する。
【0011】
図面において示す各構成要素の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面に開示された位置、大きさ、形状、範囲などに限定されない。
【0012】
以下の説明では、「テーブル」、「リスト」、「キュー」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「XXテーブル」、「XXリスト」等を「XX情報」と呼ぶことがある。識別情報について説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。
【0013】
また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
【0014】
同一あるいは同様な機能を有する構成要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、これらの複数の構成要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0015】
また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU、GPU)によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)および/またはインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノードであってもよい。プログラムを実行して行う処理の主体は、演算部であれば良く、特定の処理を行う専用回路(例えばFPGAやASIC)を含んでいてもよい。
【0016】
また、以下の説明において、「プロセッサ(部)」は、1以上のプロセッサである。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。少なくとも1つのプロセッサは、シングルコアでもよいしマルチコアでもよい。
【0017】
また、少なくとも1つのプロセッサは、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサでもよい。
【0018】
また、以下の説明において、「メモリ部」は、1以上のメモリであり、典型的には主記憶デバイスでよい。メモリ部における少なくとも1つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。
【0019】
プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサと配布対象のプログラムを記憶する記憶資源を含み、プログラム配布サーバのプロセッサが配布対象のプログラムを他の計算機に配布してもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0020】
本明細書中に記載されている構成要素により実現される機能は、当該記載された機能を実現するようにプログラムされた、汎用プロセッサ、特定用途プロセッサ、集積回路、ASICs、CPU、従来型の回路、および/又はそれらの組合せを含む、circuitry又はprocessing circuitryにおいて実装されてもよい。プロセッサは、トランジスタやその他の回路を含み、circuitry又はprocessing circuitryとみなされる。プロセッサは、メモリに格納されたプログラムを実行する、programmed processorであってもよい。
【0021】
本明細書において、circuitry、ユニット、手段は、記載された機能を実現するようにプログラムされたハードウェア、又は実行するハードウェアである。当該ハードウェアは、本明細書に開示されているあらゆるハードウェア、又は、当該記載された機能を実現するようにプログラムされた、又は、実行するものとして知られているあらゆるハードウェアであってもよい。
【0022】
当該ハードウェアがcircuitryのタイプであるとみなされるプロセッサである場合、当該circuitry、手段、又はユニットは、ハードウェアと、当該ハードウェア及び又はプロセッサを構成する為に用いられるソフトウェアの組合せである。
【0023】
本開示において、記憶デバイスは、1台のHDD(Hard Disk Drive)やSSD(Solid State Drive)等の1台のストレージドライブ、複数台のストレージドライブを含むRAID装置、及び複数のRAID装置を含む。また、ドライブがHDDである場合には、例えば、SAS(Serial Attached SCSI) HDDを含んでもよく、NL-SAS(ニアラインSAS) HDDを含んでもよい。
【0024】
また、以下の説明において、種々の対象の識別情報として、識別番号が使用されるが、識別番号以外の種類の識別情報(例えば、英字や符号を含んだ識別子)が採用されてもよい。
【0025】
また、以下の説明において、同種の要素を区別しないで説明する場合には、参照符号(又は、参照符号のうちの共通符号)を使用し、同種の要素を区別して説明する場合は、要素の識別番号(又は参照符号)を使用することがある。
【0026】
また、以下の説明において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【0027】
<0 システムの概要>
以下、本開示に係る会計システムについて説明する。
【0028】
本開示に係る会計システムでは、限定ではなく例として、システムを構成するサーバのメモリに、帳票をスキャンした帳票画像データが未分類の状態で所定の領域に格納されており、また、このメモリに、過去に帳票画像データをOCR(Optical character recognition:光学文字認識)処理により読み取ったテキストデータがマスタデータベースとして登録されている。システムを構成するサーバは、所定の領域に格納された前記帳票画像データをOCR処理により読み取り、読み取った結果であるテキストデータを取得する。次いで、読み取った結果であるテキストデータに基づき、当該テキストデータがマスタデータベースに登録されているかどうか推測を行い、テキストデータのマスタデータベースへの反映が必要か否かを判定する。そして、マスタデータベースへの反映が必要と判定した場合、当該テキストデータをマスタデータベースへ反映して登録し、反映されたマスタデータベースに基づき、所定のサービスを提示する。
【0029】
本開示に係る会計システムは、会計事務所のような会計処理を提供する事業者であるユーザに対して、このユーザが顧客とするクライアントである企業や個人事業主の会計処理のサービスを提供するためのシステムである。企業や個人事業主で行われる会計処理とは、仕入、売上、借入のような入出金の取引を管理することであり、取引を帳簿(仕訳帳、総勘定元帳)に記録(記帳)し、所定の決算期に決算処理として試算表を作成し、財務諸表である損益計算書や貸借対照表を作成している。また、税務処理を行うための決算書の作成も行われる。本開示に係る会計システムは、仕入、売上等の入出金取引の入力を受け付けて帳簿への記帳を行い、試算表、財務諸表の作成を支援するコンピュータシステムである。また、本開示に係る会計システムは、例えばクラウドサーバ等によりWebサービスとして、いわゆるSaaS(Software as a Service)によって提供されるシステムであり、事業者であるユーザが所定の認証によりアクセス可能に構成されている。
【0030】
このような会計サービスでは、所定の期間(1年間)を会計年度(事業年度)として設定し、例えば3ヶ月ごとの四半期決算、半年ごとの半期決算の時期に企業等で行われる、上記のような決算処理を支援している。そして、会計年度が終了すると、会計事務所などのユーザは、クライアントより預かっている各種データにより、期限内までに確定申告等の処理をする必要があり、期限徒過による訴訟リスクもあるため、期限管理が重要である。
【0031】
そこで、本開示に係る会計システムは、会計事務所などのユーザ向けのサービスとして、クライアントの各種申請書(各種課税の選択届出書等)、決算書をOCRで読み取り、マスタ上に登録して各種サービス(期限管理等)に反映させる。
【0032】
より具体的には、本開示に係る会計システムは、限定でなく例として、以下の手順により、クライアントの各種申請書、決算書の内容をマスタ上に登録して各種サービスに反映させている。
【0033】
クライアントの申請書、決算書等の帳票画像データ(画像データ)が(順不同に未整理な状態で)保存されている。帳票画像データは、本開示に係る会計システムが提供する、あるいは、会計システム外部のクラウドストレージに格納されていてもよいし、会計システムが有するサーバのメモリ(ストレージ)に格納されていてもよい。帳票画像データは財務諸表等の種類によって分類されていても良いし、分類されていなくてもよい。
【0034】
会計システムのサーバは、帳票画像データをOCR処理により読み取り、読み取った結果のテキストデータを取得する。テキストデータを取得するタイミングは特に限定はなく、定期的、あるいは、帳票画像データが一定容量格納されたらテキストデータを取得するような態様が可能である。
【0035】
次に、会計システムのサーバは、帳票画像データから読み取ったテキストデータから、記載内容についてマスタデータベースへの登録が必要か否か、及び、マスタデータベースへの登録が必要な項目を判定する。具体的には、帳票画像データから取得したテキストデータと、マスタデータベースの内容等を比較し、双方に同一内容が登録されているかの重複判定を行い、同一項目について異なる内容が登録されている場合、登録、上書き、登録しない、等の判定をする。
【0036】
そして、会計システムのサーバは、上記の判定結果に基づいて、読み取ったテキストデータの内容をマスタデータベースへ登録し、マスタデータベースへ登録された内容に基づいて、各種サービスに反映させる。一例として、会計システムのサーバは、課税に関する各種申請書をOCRで読み取り、マスタデータベース上に登録して期限管理をする。また、あるいは、会計システムのサーバは、決算書をOCRで読み取り、マスタデータベース上に登録して反映させる。
【0037】
本開示に係る会計システムにおいて、帳票画像データに係る帳票類は、クライアントが取引データに基づいて業務を遂行するために必要な帳票類である。このような帳票類は公知であり、一例として見積書、注文書(発注書)、納品書、受領書、検収書、請求書などが挙げられる。ユーザが取引データに基づいて業務を遂行するために必要な帳票類であれば、その名称や内容に特段の限定はなく、種々の名称、内容の帳票類を本開示に係る会計システムにおいて管理し、作成することができる。
【0038】
<実施の形態1>
以下、会計システム1について説明する。以下の説明では、例えば、端末装置10がサーバ20へアクセスすることにより、サーバ20が、端末装置10で画面を生成するための情報を応答する。端末装置10は、サーバ20から受信した情報に基づいて画面を生成し表示する。
【0039】
<1 会計システム1の全体構成>
図1は、実施の形態1の会計システム1の全体の構成を示す図である。
図1に示すように、会計システム1(以下、単に「システム1」と称する)は、複数の端末装置(
図1では、端末装置10A及び端末装置10Bを示している。以下、総称して「端末装置10」ということもある)と、サーバ20とを含む。端末装置10とサーバ20とは、ネットワーク80を介して相互に通信可能に接続されている。ネットワーク80は、有線または無線ネットワークにより構成される。本実施形態では、サーバ20はWebサーバ(クラウドサーバを含む)としての機能を有するサーバであり、端末装置10との間でWebページにより情報のやり取りを行う。また、端末装置10にはWebページを閲覧するためのWebページブラウザがインストールされているが、サーバ20のサービスを提供するための専用アプリケーションがインストールされ、専用アプリケーションにより閲覧可能に構成してもよい。
【0040】
端末装置10は、ユーザの担当者が操作する装置である。本実施形態において、ユーザとは、本実施形態のシステム1により実現される会計管理サービスを利用するクライアントと所定の契約を締結して、このクライアントに対して、例えばSaaS等の形態により会計管理サービスを提供する事業者(例えば会計事務所)の担当者である。クライアントは種々の商取引を行う企業の担当者、または個人事業主等であり、本実施形態のシステム1に帳票画像データを提供して種々の会計管理サービスを利用する。端末装置10は、据え置き型のPC(Personal Computer)、ラップトップPC等により実現される。この他、端末装置10は、例えば移動体通信システムに対応したタブレットや、スマートフォン等の携帯端末であるとしてもよい。
【0041】
端末装置10は、ネットワーク80を介してサーバ20と通信可能に接続される。端末装置10は、4G、5G、LTE(Long Term Evolution)等の通信規格に対応した無線基地局81、IEEE(Institute of Electrical and Electronics Engineers)802.11等の無線LAN(Local Area Network)規格に対応した無線LANルータ82等の通信機器と通信することにより、ネットワーク80に接続される。
図1に端末装置10Bとして示すように、端末装置10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、記憶部16と、プロセッサ19とを備える。
【0042】
通信IF12は、端末装置10が外部の装置と通信するため、信号を入出力するためのインタフェースである。入力装置13は、ユーザからの入力操作を受け付けるための入力装置(例えば、キーボードや、タッチパネル、タッチパッド、マウス等のポインティングデバイス等)である。出力装置14は、ユーザに対し情報を提示するための出力装置(ディスプレイ、スピーカ等)である。メモリ15は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。記憶部16は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。プロセッサ19は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0043】
サーバ20は、端末装置10の利用者であるユーザの指示により帳票画像データをOCR処理してテキストデータを取得し、過去の帳票画像データをOCR処理して取得したテキストデータと比較して、マスタデータベースへの反映が必要か否かを判定し、反映が必要であると判定したら、帳票画像データからえら得たテキストデータをマスタデータベースに反映させ、反映されたマスタデータベースに基づき、各種サービスを提示する。サーバ20には、過去の帳票画像データをOCR処理して得られたテキストデータが格納されたマスタデータベースが記憶されている。サーバ20は、マスタデータベースとの対比を行うべき帳票画像データの指定を、端末装置10を介してユーザから受け入れ、指定があった帳票画像データについてOCR処理を行い、テキストデータを取得する。そして、このテキストデータとマスタデータベースとの対比を行い、種々の処理を行う。
【0044】
サーバ20は、ネットワーク80に接続されたコンピュータである。サーバ20は、通信IF22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備える。
【0045】
通信IF22は、サーバ20が外部の装置と通信するため、信号を入出力するためのインタフェースである。入出力IF23は、ユーザからの入力操作を受け付けるための入力装置、及び、ユーザに対し情報を提示するための出力装置とのインタフェースとして機能する。メモリ25は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。ストレージ26は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。プロセッサ29は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0046】
<1.1 端末装置10の構成>
図2は、
図1の会計システム1を構成する端末装置10の機能的な構成を示すブロック図である。
図2に示すように、端末装置10は、複数のアンテナ(アンテナ111、アンテナ112)と、各アンテナに対応する無線通信部(第1無線通信部121、第2無線通信部122)と、操作受付部130(キーボード131及びマウス132を含む)と、ディスプレイ150と、記憶部170と、制御部180とを含む。端末装置10は、
図2では特に図示していない機能及び構成(例えば、電力を保持するためのバッテリー、バッテリーから各回路への電力の供給を制御する電力供給回路等)も有している。
図2に示すように、端末装置10に含まれる各ブロックは、バス等により電気的に接続される。
【0047】
アンテナ111は、端末装置10が発する信号を電波として放射する。また、アンテナ111は、空間から電波を受信して受信信号を第1無線通信部121へ与える。
【0048】
アンテナ112は、端末装置10が発する信号を電波として放射する。また、アンテナ112は、空間から電波を受信して受信信号を第2無線通信部122へ与える。
【0049】
第1無線通信部121は、端末装置10が他の無線機器と通信するため、アンテナ111を介して信号を送受信するための変復調処理等を行う。第2無線通信部122は、端末装置10が他の無線機器と通信するため、アンテナ112を介して信号を送受信するための変復調処理等を行う。第1無線通信部121と第2無線通信部122とは、チューナー、RSSI(Received Signal Strength Indicator)算出回路、CRC(Cyclic Redundancy Check)算出回路、高周波回路等を含む通信モジュールである。第1無線通信部121と第2無線通信部122とは、端末装置10が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部180へ与える。
【0050】
操作受付部130は、ユーザの入力操作を受け付けるための機構を有する。具体的には、操作受付部130は、キーボード131と、マウス132とを含む。
【0051】
キーボード131は、端末装置10のユーザの入力操作を受け付ける。キーボード131は、文字入力を行う装置であり、入力された文字情報を入力信号として制御部180へ出力する。
【0052】
マウス132は、端末装置10のユーザの入力操作を受け付ける。マウス132は、ディスプレイ150に表示されている表示物を選択等するためのポインティングデバイスであり、画面上で選択された位置情報と、ボタン押下されていることを示す情報とを入力信号として制御部180へ出力する。
【0053】
ディスプレイ150は、制御部180の制御に応じて、画像、動画、テキストなどのデータを表示する。ディスプレイ150は、例えばLCD(Liquid Crystal Display)、または有機EL(Electro-Luminescence)ディスプレイによって実現される。なお、ディスプレイ150は、例えば静電容量方式のタッチパネルを用いることによって、タッチパネルに対するユーザの接触位置を検出する、タッチスクリーンであり、上述のキーボード等の機能を含むものとして構成してもよい。
【0054】
記憶部170は、例えばフラッシュメモリ等のメモリ15、記憶部16により構成され、端末装置10が使用するデータ及びプログラムを記憶する。ある局面において、記憶部170は、ユーザ情報1701及び帳票画像データ1702を記憶する。
【0055】
ユーザ情報1701は、端末装置10を使用して本実施形態のシステム1の機能である帳票画像データの解析作業等を行うユーザの情報である。ユーザ情報としては、ユーザを識別する情報(ユーザID)等が含まれる。
【0056】
帳票画像データ1702は、例えばユーザのクライアントからユーザに直接提供された、クライアントの業務に関する会計書類の帳票画像データである。ここで、会計書類とは、会計処理に使用される帳票類のことであり、総勘定元帳、財務諸表、決算書等を含む概念である。帳票画像データ1702は、会計書類のPDF(Portable Document Format)等のドキュメントデータでもよく、会計書類をスキャンした画像データでもよく、会計書類を撮影した写真画像データでもよい。なお、クライアントから後述する本実施形態のシステム1のサーバ20に帳票画像データ2024(
図3参照)が直接提供される場合、端末装置10の記憶部170に帳票画像データ1702が格納されていない態様もありうる。
【0057】
制御部180は、例えばプロセッサ19により構成され、記憶部170に記憶されるプログラムを読み込んで、プログラムに含まれる命令を実行することにより、端末装置10の動作を制御する。制御部180は、例えば予め端末装置10にインストールされている(記憶部170に格納されている)アプリケーションであるプログラムに従って動作することにより、入力操作受付部1801と、送受信部1802と、データ処理部1803と、報知制御部1804としての機能を発揮する。
【0058】
入力操作受付部1801は、キーボード131等の入力装置に対するユーザの入力操作を受け付ける処理を行う。
【0059】
送受信部1802は、端末装置10が、サーバ20等の外部の装置と、通信プロトコルに従ってデータを送受信するための処理を行う。
【0060】
データ処理部1803は、端末装置10が入力を受け付けたデータに対し、プログラムに従って演算を行い、演算結果をメモリ等に出力する処理を行う。
【0061】
報知制御部1804は、ユーザに対し情報を提示する処理を行う。報知制御部1804は、表示画像をディスプレイ150に表示させる処理、音声をスピーカ(図示せず)に出力させる処理等を行う。
【0062】
<1.2 サーバ20の機能的な構成>
図3は、
図1の会計システム1を構成するサーバ20の機能的な構成を示す図である。
図3に示すように、サーバ20は、通信部201と、記憶部202と、制御部203としての機能を発揮する。
【0063】
通信部201は、サーバ20が外部の装置と通信するための処理を行う。
【0064】
記憶部202は、例えばメモリ25、ストレージ26から構成され、サーバ20が使用するデータ及びプログラムを記憶する。記憶部202は、会計基本データベース(DB:Database)、2022、マスタDB2023、帳票画像データ2024、クライアント情報DB2025,教師データ2026、学習モデル2027等を記憶する。
【0065】
会計基本DB2022は、会計システム1にあらかじめ登録されている、会計サービスが通常使用する勘定科目として登録されている勘定科目等の会計に関する各種情報を保持するためのデータベースである。詳細は後述する。
【0066】
マスタDB2023は、過去に(つまり、本実施形態のシステム1による帳票画像データの解析処理に先立って)帳票画像データをOCR処理して読み取ったテキストデータが格納されたデータベースである。マスタDB2023に格納されているテキストデータは、本実施形態のサーバ20、より詳細にはテキストデータ取得モジュール2034によりOCR処理して読み取ったテキストデータに限定されず、サーバ20の外部から取得した(つまりサーバ20の外部でOCR処理された)テキストデータであってもよい。詳細は後述する。
【0067】
帳票画像データ2024は、端末装置10の記憶部170に格納された帳票画像データ1702と同様に、例えばユーザのクライアントからユーザに直接提供された、クライアントの業務に関する会計書類の帳票画像データである。帳票画像データ2024は、会計書類のPDF等のドキュメントデータでもよく、会計書類をスキャンした画像データでもよく、会計書類を撮影した写真画像データでもよい。なお、帳票画像データがサーバ20の外部にあるクラウドストレージにあってもよく、この場合、サーバ20の記憶部202に帳票画像データ2024が格納されていない態様もありうる。
【0068】
クライアント情報DB2025は、本実施形態のシステム1において会計処理サービスを享受するクライアントを識別する情報(クライアントID)、クライアントの名称(社名)、クライアントの法人番号等の情報を保持するためのデータベースである。クライアント情報DB2025はユーザが事前に作成し、記憶部202に格納する。詳細は後述する。
【0069】
教師データ2026は、後述する学習モデル2027を生成するための教師データであり、2種類のテキストデータを入力とし、これらテキストデータが一致するか否かの判定結果を出力とする教師データである。
【0070】
学習モデル2027は、教師データ2026に基づき、図略のモデル学習プログラムに従って機械学習モデルに機械学習を行わせることにより得られる。学習モデル2027は、帳票画像データ2024から得られたテキストデータ、及び、マスタDB2023に格納されたテキストデータを説明変数とし、帳票画像データ2024から得られたテキストデータによりマスタDB2023を更新するか否かの判定結果を目的変数とする学習モデルである。従って、学習モデルに対して、帳票画像データ2024から得られたテキストデータ、及び、マスタDB2023に
格納されたテキストデータを入力すると、推論結果として、帳票画像データ2024から得られたテキストデータによりマスタDB2023を更新するか否かの判定結果が出力される。
【0071】
本実施形態に係る学習モデル2027は、例えば、複数の関数が合成されたパラメータ付き合成関数である。パラメータ付き合成関数は、複数の調整可能な関数、及びパラメータの組合せにより定義される。本実施形態に係る予測モデルは、上記の要請を満たす如何なるパラメータ付き合成関数であってもよいが、多層のネットワークモデル(以下、多層化ネットワークと呼ぶ)であるとする。多層化ネットワークを用いる予測モデルは、入力層と、出力層と、入力層と出力層との間に設けられる少なくとも1層の中間層あるいは隠れ層とを有する。予測モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとしての使用が想定される。
【0072】
本実施形態に係る多層化ネットワークとしては、例えば、深層学習(Deep Learning)の対象となる多層ニューラルネットワークである深層ニューラルネットワーク(Deep Neural Network:DNN)が用いられ得る。DNNとしては、例えば、画像を対象とする畳み込みニューラルネットワーク(Convolution Neural Network:CNN)を用いてもよい。
【0073】
また、上記はあくまで予測モデルの例示であり、予測モデルとしては、他の構成を備えてもよい。
【0074】
制御部203は、サーバ20のプロセッサ29が、記憶部202に格納されたアプリケーションプログラム2021に従って処理を行うことにより、各種モジュールとして受信制御モジュール2031、送信制御モジュール2032、帳票画像データ取得モジュール2033、テキストデータ取得モジュール2034、マスタDB反映判定モジュール2035、サービス提示モジュール2036及び提示制御モジュール2037に示す機能を発揮する。
【0075】
受信制御モジュール2031は、サーバ20が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
【0076】
送信制御モジュール2032は、サーバ20が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。これら受信制御モジュール2031及び送信制御モジュール2032は、ネットワーク80を介してアクセスしてきた端末装置10を含む外部機器に対して、サーバ20がWebサーバとして動作する機能をもたらす。
【0077】
帳票画像データ取得モジュール2033は、例えば端末装置10の記憶部170に格納されている帳票画像データ1702をユーザが指定入力すると、この指定入力に基づいて、端末装置10の記憶部170から帳票画像データ1702を取得し、帳票画像データ2024として記憶部202に格納する。なお、上述したように、帳票画像データはクラウドストレージに(のみ)存在していてもよく、この場合、端末装置10のユーザにより帳票画像データの格納場所(ディレクトリ等の情報)の指定入力があったら、この格納場所を一時的に記憶部202に格納する。
【0078】
テキストデータ取得モジュール2034は、帳票画像データ取得モジュール2033が取得した帳票画像データ(この帳票画像データは記憶部202に格納された帳票画像データ2024の場合もあり、また、帳票画像データがクラウドストレージにのみ存在する場合はクラウドストレージ上の帳票画像データである)を読取、この帳票画像データに含まれるテキストに関するテキストデータを取得する。
【0079】
テキストデータ取得モジュール2034によるテキストデータ取得の手法は任意であるが、一例として、周知のOCR処理により取得する手法が好適に挙げられる。OCR処理には、画像処理を行うことにより既知のフォントデータとのマッチングを図ることでテキストデータを取得するもの、また、既知のフォントデータを教師データとした学習モデルに帳票画像データを入力してテキストデータを取得するもの、などがあり得る。
【0080】
また、テキストデータ取得モジュール2034は、マスタDB2023に、帳票画像データに基づくテキストデータを登録する際に、このテキストデータを取得する場合にも用いられる。
【0081】
マスタDB反映判定モジュール2035は、テキストデータ取得モジュール2034が取得したテキストデータに基づき、当該テキストデータがマスタDB2023に登録されているかどうか推測を行い、テキストデータのマスタDB2023への反映が必要か否かを判定する。そして、マスタDB2023への反映が必要と判定した場合、マスタDB反映判定モジュール2035は、当該テキストデータをマスタDB2023へ反映して登録する。
【0082】
マスタDB反映判定モジュール2035によるマスタDB2023への反映内容、及び、マスタDB反映判定モジュール2035による判定の具体例には次のものを含みうる。
・本実施形態のシステム1を利用するユーザ(会計事務所等)の顧客であるクライアントのデータ(会社名、住所など)の反映
・クライアントが消費税の免税事業者から簡易課税事業者に変更する必要性の検知(課税売上高が1000万円を超える場合、免税事業者ではいられないのでその検知)
・クライアントが中間納税が必要かどうか(前事業年度の確定法人税額が20万円を超える場合に対象となる)
【0083】
マスタDB反映判定モジュール2035による、テキストデータ取得モジュール2034が取得したテキストデータに基づく、当該テキストデータがマスタDB2023に登録されているかどうかの推測動作、及び、テキストデータのマスタDB2023への反映の必要の有無についての判定動作の詳細に特段の制限はないが、一例として、テキストデータがマスタDB2023に登録されていない場合、マスタDB反映判定モジュール2035が、テキストデータのマスタDB2023への新規登録が必要であると判定するような手法が一例として挙げられる。この際、テキストデータに含まれる所定の項目が、マスタDB2023に登録されている所定の項目と一致しない場合、マスタDB反映判定モジュール2035が、マスタDB2023への新規登録が必要であると判定してもよい。ここにいう所定の項目としては、一例として、ユーザID、会社名、氏名、キーとなる項目などが一例として挙げられる。
【0084】
また、テキストデータがマスタDB2023に登録されている場合、マスタDB反映判定モジュール2035は、テキストデータによるマスタDB2023への更新が必要であると判定するか、またはマスタDB2023への反映が不要であると判定してもよい。
【0085】
さらに、テキストデータに含まれる所定の項目が、マスタDB2023に登録されている所定の項目と一致しない場合、マスタDB反映判定モジュール2035は、テキストデータによるマスタDB2023への更新が必要と判定してもよい。ここにいう所定の項目としては、帳票画像データ2024に含まれる金額等の可変項目などが一例として挙げられる。
【0086】
さらに、マスタDB反映判定モジュール2035は、学習モデル2027にテキストデータを入力することで、推論結果として、帳票画像データ2024から得られたテキストデータによりマスタDB2023を更新するか否かの判定結果を取得し、この判定結果をマスタDB反映判定モジュール2035による判定結果としてもよい。
【0087】
ここで、後述するように、本実施形態のシステム1におけるマスタDB2023は、テキストデータ取得モジュール2034が取得したテキストデータを所定の項目に分類して格納しており、この分類は、会計基本DB2022に格納された基本的な会計書類の項目を参照している。従って、マスタDB2023の各項目の情報はテキストデータであるが、マスタDB2023全体では項目毎の分類がされたデータベース構造を有する。当然、本実施形態のシステム1において、後述するマスタDB2023のようなデータベース構造を必須とすることはなく、テキストデータ取得モジュール2034が取得した、OCR処理して得られるテキストデータそのものを、項目の単位をコンマ等で区切った、いわゆるCSV形式のデータが格納されたものをマスタDB2023としてもよい。但し、マスタDB反映判定モジュール2035が項目単位の比較を行うことを考慮すると、マスタDB2023は会計書類の項目に準拠した項目毎の分類がされていることが好ましい。
【0088】
サービス提示モジュール2036は、マスタDB反映判定モジュール2035により所定の反映がされたマスタDB2023に基づき、所定のサービスを提示する。ここにいう所定のサービスは、本実施形態のシステム1が会計システム1であり、そのユーザが会計事務所等であるので、会計事務所がクライアントに対して提供する各種のサービスであることが好ましい。
【0089】
サービス提示モジュール2036により提示されるサービスの具体例には次のものを含みうる。
・免税事業者から課税事業者への変更、より具体的には、前年の決算書・申告書の売上高等についての帳票画像データをOCRで読み取り、1000万円を超える場合にアラート対象とし、同年3月31日の前にアラートする
・中間納税、より具体的には、前年の申告書の法人税額についての帳票画像データをOCRで読み取り、20万円を超える場合にアラート対象とし、翌年度の中間納税タイミング前にアラートする
【0090】
一例として、サービス提示モジュール2036は、テキストデータが反映されたマスタDB2023に登録されている期限の情報に基づき、期限管理を行う。そして、サービス提示モジュール2036は、期限が到来した場合、ユーザへ期限が到来している旨の通知を行う。上述したように、本実施形態のシステム1は会計システム1であり、会計システム1のユーザは会計事務所等であるので、期限の通知先はまずは会計事務所等のユーザであるが、クライアント情報DB2025にクライアントの連絡先が登録されている場合、クライアントに対して期限が到来している旨の通知を行ってもよい。
【0091】
また、あるいは、サービス提示モジュール2036は、テキストデータが反映されたマスタDB2023に登録されている金額の情報に基づき、会計システムへの登録を行ってもよい。ここにいう会計システムとは、本実施形態の会計システム1であってもよいし、本実施形態のシステム1外にある会計システムであってもよい。
【0092】
提示制御モジュール2037は、受信制御モジュール2031及び送信制御モジュール2032と協働して、帳票画像データ取得モジュール2033、テキストデータ取得モジュール2034、マスタDB反映判定モジュール2035、サービス提示モジュール2036の動作に伴い、端末装置10のディスプレイ150に所定の画面を表示させるための表示制御データを端末装置10に送信する。端末装置10は、この表示制御データに基づいて、端末装置10のディスプレイ150に所定の画面を表示する。
【0093】
<2 データ構造>
図4は、
図3のサーバ20が記憶する会計基本DB2022のデータ構造の例を示す図である。
図5は、
図3のサーバ20が記憶するマスタDB2023のデータ構造の例を示す図である。
図6は、
図3のサーバ20が記憶するクライアント情報DB2025のデータ構造の例を示す図である。
【0094】
図4に示すように、会計基本DB2022のレコードのそれぞれは、項目「管理ID」と、項目「大区分(部)名称」と、項目「勘定科目情報」等を含む。
【0095】
項目「管理ID」は、会計システム1にて管理する貸借対照表の記載項目である、資産/負債の区分それぞれを識別する情報である。
【0096】
項目「大区分(部)名称」は、会計システム1にて管理する貸借対照表の記載項目である、資産の部/負債の部/純資産の部を示す名称である。
【0097】
項目「勘定科目情報」は、会計システム1にて管理する貸借対照表の記載項目である、勘定科目の情報であり、具体的には、項目「勘定科目ID」と、項目「中区分名称」と、項目「勘定科目」と、項目「備考」等を含む。
【0098】
項目「勘定科目ID」は、会計システム1にて使用する勘定科目それぞれを識別する情報である。
【0099】
項目「中区分名称」は、会計システム1にて使用する勘定科目を分類する種類の名称である。貸借対照表の勘定科目は、例えば資産の部の場合、流動資産、固定資産、流動資産に分けられているため、そのような分類を示す情報が格納されている。
【0100】
項目「勘定科目」は、会計システム1にて使用する勘定科目の名称であり、例えば
図4に示すように「現金」、「売掛金」、「買掛金」等の名称が格納されている。
【0101】
項目「備考」は、会計システム1にて使用する勘定科目に関連する情報であり、例えば上記のように、ユーザの属性と紐付けて勘定科目の文字列を登録した場合において、当該ユーザの属性(業種)が格納されている。
【0102】
図5に示すように、マスタDB2023のレコードのそれぞれは、項目「ユーザID」と、項目「決算期」と、項目「決算(読取)情報」等を含む。
【0103】
項目「クライアントID」は、会計システム1によるサービスの提供を受けるクライアントそれぞれを識別する情報であり、例えば事業者(法人または個人事業主)それぞれを識別する情報として登録されている識別情報である。
【0104】
項目「決算(読取)情報」は、会計システム1を利用して決算処理を行った決算情報、または貸借対照表を読み取って開始残高を設定した情報であり、具体的には、項目「勘定科目ID」と、項目「勘定科目」と、項目「金額」等を含む。
【0105】
項目「勘定科目ID」は、会計システム1にて使用する勘定科目それぞれを識別する情報であり、会計基本データベース2022の項目「勘定科目ID」に対応している。
【0106】
項目「勘定科目」は、会計システム1にて決算処理を行った際の勘定科目の名称、または貸借対照表を読み取って開始残高を設定した際の勘定科目の名称であり、会計基本データベース2022の項目「勘定科目」に対応している。
【0107】
項目「金額」は、会計システム1にて決算処理を行った際の各勘定科目の金額、または貸借対照表を読み取って開始残高を設定した際の各勘定科目の金額である。
【0108】
なお、
図4に示す会計基本DB2022及び
図5に示すマスタDB2023の項目等は、対象となる帳票画像データが貸借対照表に関するものであるので、貸借対照表に準じた項目を有するが、対象となる帳票画像データの種類に応じて会計基本DB2022及びマスタデータベース2023のデータ構造は適宜異なりうる。従って、
図4及び
図5に示すデータ構造は単なる例であり、データ構造が図示例に限定されるわけではない。
【0109】
図6に示すように、クライアント情報DB2025のレコードのそれぞれは、項目「クライアントID」と、項目「社名」と、項目「法人番号」と、項目「住所」と、項目「連絡先」と、項目「業種」等とを含む。
【0110】
項目「クライアントID」は、会計システム1の管理者であるユーザの商取引の取引先であるクライアントを識別する情報であり、マスタDB2023における項目「クライアントID」と共通である。
【0111】
項目「名称」は、項目「クライアントID」で識別される第2の事業者の法人名称または個人の氏名を示す情報である。
【0112】
項目「法人番号」は、項目「クライアントID」で識別される第2の事業者の法人番号を示す情報である。
【0113】
項目「住所」は、項目「クライアントID」で識別される第2の事業者の住所を示す情報である。
【0114】
項目「連絡先」は、項目「クライアントID」で識別される第2の事業者における、取引の担当者の連絡先を示す情報である。
【0115】
<3 動作>
以下、
図7ないし
図8を参照しながら、実施の形態1における会計システム1による処理について説明する。
【0116】
図7及び
図8は、本開示に係る会計システム1による処理を行う流れの一例を示すフローチャートである。
【0117】
ステップS700の処理として、サーバ20では、会計システム1による取引データ自体や、取引データの作業工程や作業ステータス、それらを含む会計サービスをユーザに提供するために、ユーザ認証が行われる。そのため、ユーザに対するアカウント情報とパスワードの入力要求が行われ、入力された情報に基づいて登録されている情報と一致するか照合することで、ユーザ認証が行われる。一致した場合、サーバ20にログインされる。
【0118】
ステップS701において、サーバ20の帳票画像データ取得モジュール2033は、端末装置10を用いたユーザからの指示入力等に基づいて、端末装置10の記憶部170、クラウドストレージ上などにある帳票画像データを取得する。そして、帳票画像データ取得モジュール2033は、取得した帳票画像データを記憶部202に帳票画像データ2024として格納する。
【0119】
次いで、ステップS702において、サーバ20のテキストデータ取得モジュール2034は、ステップS701において取得した帳票画像データ2024に対してOCR処理等を行ってこの帳票画像データ2024を読み取り、帳票画像データ2024からテキストデータを取得する。テキストデータ取得モジュール2034は、取得したテキストデータを一時的に記憶部202に格納する。
【0120】
ステップS703において、サーバ20のマスタDB反映判定モジュール2035は、ステップS702で取得したテキストデータとマスタDB2023との照合を行い、項目単位での一致を含めた内容の一致の有無を判定する。
【0121】
次いで、ステップS704において、サーバ20のマスタDB反映判定モジュール2035は、ステップS703における照合結果に基づいて、ステップS702で取得したテキストデータがマスタDB2023に登録されているか否かを判定する。そして、登録されているとマスタDB反映判定モジュール2035が判定したら(ステップS704においてYES)、プログラムはステップS705に移行し、登録されていないとマスタDB反映判定モジュール2035が判定したら(ステップS704においてNO)、プログラムは
図8のステップS800に移行する。
【0122】
ステップS705において、サーバ20のマスタDB反映判定モジュール2035は、ステップS702で取得したテキストデータに含まれる所定の項目がマスタDB2023の所定の項目と一致しているか否かを判定する。そして、所定の項目が一致していると判定したら(ステップS705においてYES)、プログラムはステップS706に移行し、所定の項目が一致していないと判定したら(ステップS705においてNO)、プログラムは
図8のステップS801に移行する。
【0123】
ステップS706において、サーバ20のマスタDB反映判定モジュール2035は、ステップS702で取得したテキストデータによるマスタDB2023の反映は不要と判定して、
図8のステップS802に移行する。
【0124】
図8に移行して、ステップS800では、サーバ20のマスタDB反映判定モジュール2035は、ステップS702で取得したテキストデータによりマスタDB2023の新規登録を行う。この後、プログラムはステップS802に移行する。
【0125】
ステップS801では、サーバ20のマスタDB反映判定モジュール2035は、ステップS702で取得したテキストデータによりマスタDB2023の更新登録を行う。この後、プログラムはステップS802に移行する。
【0126】
ステップS802では、サーバ20のサービス提示モジュール2036は、ステップS702で取得したテキストデータに対して所定の反映がされたマスタDB2023に基づいて、所定のサービスをユーザ、さらにはクライアントに提示する。
【0127】
<4 画面例>
以下、
図9を参照しながら、会計システム1による処理の画面例について説明する。
【0128】
図9は、端末装置10のディスプレイ150に表示されるログイン画面900の例を示す図である。ユーザは端末装置10を操作してサーバ20にアクセスするので、サーバ20の指示によりログイン画面のURLが送信され、ログイン画面が表示される。または、あらかじめ端末装置10にインストールされているアプリの指示により、ログイン画面が表示される。これらの操作により、
図10に示すようなログイン画面900が、端末装置10のディスプレイ150に表示される。
【0129】
ユーザは、端末装置10のディスプレイ150に
図9に示すようなログイン画面900が表示されると、操作受付部130の操作により、ログイン画面900に設けられているアカウント入力欄901、及びパスワード入力欄902に、自己のアカウント情報(本実施形態ではメールアドレス)及びパスワードをそれぞれ入力する。その後、ログインボタン903を押下することでユーザ認証が行われ、サーバ20にログインされる。
【0130】
<5.小括>
以上のように、本実施の形態のサーバ20は、取得した帳票画像データ2024から読み取ったテキストデータから、記載内容についてマスタDB2023への登録が必要か否か、及び、マスタデータベースへの登録が必要な項目を判定し、判定結果に基づいて、読み取ったテキストデータの内容をマスタDB2023へ登録し、マスタDB2023へ登録された内容に基づいて、各種サービスに反映させている。これにより、本実施形態のシステム1によれば、会計事務所向けのサービスとして、顧客の各種申請書(各種課税の選択届出書等)、決算書をOCRで読み取り、マスタ上に登録して各種サービス(期限管理等)に反映させるシステムを提供することができる。
【0131】
<6.付記>
なお、上記した実施形態は本開示を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施形態の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0132】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0133】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0134】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0135】
以上の各実施形態で説明した事項を以下に付記する。
【0136】
(付記1)
プロセッサ(29)とメモリ(25、26)とを備えるコンピュータ(20)を動作させるためのプログラムであって、メモリ(25、26)には、帳票をスキャンした帳票画像データ(2024)が未分類の状態で所定の領域に格納されているとともに、過去に帳票画像データをOCR処理により読み取ったテキストデータがマスタデータベース(2023)として登録されており、プログラムは、プロセッサ(29)に、所定の領域に格納された帳票画像データ(2024)をOCR処理により読み取り、読み取った結果であるテキストデータを取得する第1のステップ(S702)と、第1のステップ(S702)において読み取った結果であるテキストデータに基づき、当該テキストデータがマスタデータベース(2023)に登録されているかどうか推測を行い、テキストデータのマスタデータベース(2023)への反映が必要か否かを判定する第2のステップ(S703)と、第2のステップ(S703)においてマスタデータベース(2023)への反映が必要と判定した場合、当該テキストデータをマスタデータベース(2023)へ反映して登録する第3のステップ(S800、S801)と、第3のステップ(S800、S801)において反映されたマスタデータベース(2023)に基づき、所定のサービスを提示する第4ステップとを実行させる、プログラム。
(付記2)
第2のステップ(S703)において、テキストデータがマスタデータベース(2023)に登録されていない場合、マスタデータベース(2023)への新規登録が必要であると判定する、付記1に記載のプログラム。
(付記3)
第2のステップ(S703)において、テキストデータに含まれる所定の項目が、マスタデータベース(2023)に登録されている所定の項目と一致しない場合、マスタデータベース(2023)への新規登録が必要であると判定する、付記2に記載のプログラム。
(付記4)
第2のステップ(S703)において、テキストデータがマスタデータベース(2023)に登録されている場合、マスタデータベース(2023)への更新が必要であると判定するか、またはマスタデータベース(2023)への反映が不要であると判定する、付記1に記載のプログラム。
(付記5)
第2のステップ(S703)において、テキストデータに含まれる所定の項目が、マスタデータベース(2023)に登録されている所定の項目と一致しない場合、マスタデータベース(2023)への更新が必要と判定する、付記4に記載のプログラム。
(付記6)
第2のステップ(S703)において、テキストデータがマスタデータベース(2023)に登録されているか否かを推測する機械学習モデルを使用する、付記1に記載のプログラム。
(付記7)
第4のステップ(S802)において、テキストデータが反映されたマスタデータベース(2023)に登録されている期限の情報に基づき、期限管理を行う、付記1に記載のプログラム。
(付記8)
第4のステップ(S802)において、期限が到来した場合、ユーザへ通知を行う、付記7に記載のプログラム。
(付記9)
第4のステップ(S802)において、テキストデータが反映されたマスタデータベース(2023)に登録されている金額の情報に基づき、会計システムへの登録を行う、付記7に記載のプログラム。
(付記10)
プロセッサ(29)とメモリ(25、26)とを備えた情報処理装置であって、メモリ(25、26)には、帳票をスキャンした帳票画像データ(2024)が未分類の状態で所定の領域に格納されているとともに、過去に帳票画像データをOCR処理により読み取ったテキストデータがマスタデータベース(2023)として登録されており、プロセッサ(29)は、所定の領域に格納された帳票画像データ(2024)をOCR処理により読み取り、読み取った結果であるテキストデータを取得する第1のステップと、第1のステップ(S702)において読み取った結果であるテキストデータに基づき、当該テキストデータがマスタデータベース(2023)に登録されているかどうか推測を行い、テキストデータのマスタデータベース(2023)への反映が必要か否かを判定する第2のステップ(S703)と、第2のステップ(S703)においてマスタデータベース(2023)への反映が必要と判定した場合、当該テキストデータをマスタデータベース(2023)へ反映して登録する第3のステップ(S800、S801)と、第3のステップ(S800、S801)において反映されたマスタデータベース(2023)に基づき、所定のサービスを提示する第4のステップ(S802)とを実行する、情報処理装置。
(付記11)
プロセッサ(29)とメモリ(25、26)とを備えたコンピュータ(20)により実行される方法であって、メモリ(25、26)には、帳票をスキャンした帳票画像データ(2024)が未分類の状態で所定の領域に格納されているとともに、過去に帳票画像データをOCR処理により読み取ったテキストデータがマスタデータベース(2023)として登録されており、プロセッサ(29)は、所定の領域に格納された帳票画像データ(2024)をOCR処理により読み取り、読み取った結果であるテキストデータを取得する第1のステップと、第1のステップ(S702)において読み取った結果であるテキストデータに基づき、当該テキストデータがマスタデータベース(2023)に登録されているかどうか推測を行い、テキストデータのマスタデータベース(2023)への反映が必要か否かを判定する第2のステップ(S703)と、第2のステップ(S703)においてマスタデータベース(2023)への反映が必要と判定した場合、当該テキストデータをマスタデータベース(2023)へ反映して登録する第3のステップ(S800、S801)と、第3のステップ(S800、S801)において反映されたマスタデータベースに基づき、所定のサービスを提示する第4のステップ(S802)とを実行する、方法。
【符号の説明】
【0137】
1 会計システム10 10A、10B 端末装置、20 サーバ、25 メモリ、29 プロセッサ、80 ネットワーク、150 ディスプレイ、170 記憶部、180 制御部、202 記憶部、203 制御部、2021 アプリケーションプログラム、2022 会計基本DB、2023 マスタDB、2024 帳票画像データ、2025 クライアント情報DB、2026 教師データ、2027 学習モデル、2033 帳票画像データ登録モジュール、2034 テキストデータ取得モジュール、2035 マスタDB反映判定モジュール、2036 サービス提示モジュール、2037 提示制御モジュール
【要約】 (修正有)
【課題】会計事務所向けのサービスとして、顧客の各種申請書、決算書をOCRで読み取り、マスタ上に登録して各種サービスに反映させる。
【解決手段】会計システム1において、サーバのメモリ25、26には、帳票をスキャンした帳票画像データが未分類の状態で所定の領域に格納され、過去に帳票画像データをOCR処理により読み取ったテキストデータがマスタデータベースとして登録されており、所定の領域に格納された帳票画像データをOCR処理により読み取り、読み取ったテキストデータに基づき、当該テキストデータがマスタデータベースに登録されているかどうか推測を行い、テキストデータのマスタデータベースへの反映が必要か否かを判定させ、マスタデータベースへの反映が必要と判定した場合、テキストデータをマスタデータベースへ反映して登録させ、テキストデータが反映されたマスタデータベースに基づき、所定のサービスを提示させる。
【選択図】
図1