(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
添付図面を参照して、本発明の好適な実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0011】
<<システム構成>>
図1は、本実施形態に係る自動照合プラットフォームの一例を示す図である。自動照合プラットフォーム1は、企業、監査法人、銀行、公官庁及び格付会社等(以下、「利用者」と言う。)が、共通に利用することを前提とするシステムである。自動照合プラットフォーム1は、照合システム10(会計データ照合装置)と、企業システム20と、監査法人システム30と、銀行システム40と、公官庁システム50と、格付会社システム60とを含む。
【0012】
照合システム10は、1又は複数の情報処理装置から構成されており、自動照合プラットフォーム1に参加する企業の会計データ等(例えば、仕訳データ、明細データ、試算表、財務諸表、計算書類等)を収集して分析や照合を行うシステムである。また、照合システム10は、各利用者が、照合システム10に格納されている各企業の会計データや照合結果データにアクセスする際、各利用者が有する権限の範囲でアクセスを許容する。例えば、監査法人は、その監査法人が監査契約を締結している企業に関する会計データや照合結果データのみにアクセスすることができる。
【0013】
企業システム20は、企業が会計処理を行うために使用するシステムである。企業システム20は、オフライン又はオンラインで、企業システム20が管理している会計データを照合システム10に送信する。
【0014】
監査法人システム30は、企業が行う会計処理を監査する監査法人が使用する情報処理装置である。また、監査法人システム30は、監査法人が監査対象としている企業について、各企業の会計データ及び/又は照合が行われた結果を示すデータを、照合システム10から取得することで監査業務を行う。
【0015】
銀行システム40は、各企業の預金口座を管理するシステムである。銀行システム40は、照合システム10から問い合わせを受けた場合に、各企業の預金口座における入金、出金及び残高に関するデータを照合システム10に送信する。また、照合システム10は、銀行システム40から問い合わせを受けた場合に、各企業の会計データ及び/又は照合が行われた結果を示すデータ(例えば融資判定に必要なデータなど)を銀行システム40に送信する。
【0016】
公官庁システム50は、国税庁及び税務署等を含む、国、都道府県及び市区町村が所有する情報処理装置である。例えば、照合システム10は、各企業の会計データ及び/又は照合が行われた結果を示すデータを、国税庁や税務署等の公官庁システム50に送信する。また、例えば、照合システム10は、税務調査の際など、検察、警察及び金融庁等の公官庁システム50からの要求に応じて、企業の会計データ及び/又は照合が行われた結果を示すデータを公官庁システム50に送信する。
【0017】
格付会社システム60は、信用格付けを行う企業が利用する情報処理装置である。例えば、照合システム10は、格付け対象の企業の会計データ及び/又は照合が行われた結果を示すデータを格付会社システム60に送信する。
【0018】
上述したように、監査手続の一つである証憑突合を行う場合、監査法人は、監査対象である企業の取引先企業から直接証憑書類を入手することが困難である。そのため、監査法人は、監査対象である企業を介して取引先企業の証憑書類を入手したり、確認状を取引先企業に送付して回答を得たりといった作業を行う必要があり、非常に手間がかかっている。一方、本実施形態によれば、照合システム10が各企業から収集した会計データを照合し、照合結果を各企業が監査契約を締結している監査法人の監査法人システム30に送信する。従って、監査法人は、照合結果を参照することで、監査法人が自ら監査対象企業の取引先企業に直接問い合わせ等を行うことなく、監査を容易かつ迅速に行うことが可能になる。
【0019】
また、従来は、監査法人は、銀行口座の残高に関するデジタルデータを銀行システムから直接入手することは困難であった。しかしながら、本実施形態では、照合システム10が、監査法人を介さずに、銀行システム40から自動的に入出金データを取得して会計データとの突合を行うことが可能になる。
【0020】
また、従来は、各企業で管理する会計データのフォーマットは様々であった。そのため、監査の際は、各企業のフォーマットに従ってデータを解釈しなければならず、手間がかかっていた。しかしながら、本実施形態では、照合システム10は、各企業から提供される会計データを全てデジタルデータとして取得して共通フォーマットの会計データに変換することから、利用者は、照合システム10から提供されるデータを、企業ごとのフォーマットを意識することなく迅速に参照することが可能になる。
【0021】
本実施形態では、照合システム10が提供する機能のうち、以下に示す機能を重点的に説明する。
【0022】
1.フォーマット変換機能:各企業システム20から収集した、企業ごとに独自のフォーマットで生成されている会計データを、共通フォーマットの会計データに変換してデータベースに格納する機能。
2.企業間データ照合機能:共通フォーマットに変換された会計データを企業間で突合(照合)することで、会計データの基礎となる取引について企業間で共通の認識を有していることを確認する機能。また、会計データの照合を行った結果を示す照合結果データを生成する機能。
【0023】
図2は、照合システム10が有するフォーマット変換機能及び会計データ照合機能の処理手順の概要を示すフローチャートである。
【0024】
ステップS10で、照合システム10は、各企業の企業システム20から、各企業独自のフォーマットで記述された会計データを取り込む。取り込んだ会計データは、照合システム10が備えるDB(Database)に格納される。
【0025】
ステップS20で、照合システム10は、各企業独自のフォーマットで記述された会計データを、照合システム10が利用する標準フォーマット(共通フォーマットと称してもよい)で記述された会計データに変換する。各企業独自のフォーマットで記述された会計データを、照合システム10が利用する標準フォーマットで記述された会計データに変換することには、後述する、会計データ(特に仕訳データ)の粒度を標準化する(統一化する)処理を行うことも含まれ得る。
【0026】
ステップS30で、照合システム10は、標準フォーマットに変換した会計データの中から照合を行う企業を決定し、当該企業の会計データに記録されている各々の仕訳の内容が、当該取引の取引先企業における会計データ(標準フォーマットに変換された会計データ)にも記録されているか否かを判定することで、会計データの照合を行う。この照合処理を、共通フォーマットに変換された各企業の会計データについて行うことで、各企業から収集した会計データを企業間で照合する。
【0027】
ステップS40で、照合システム10は、会計データを照合した照合結果データを、照合結果データを要求するシステム(例えば監査法人システム30など)に送信する。
【0028】
以下、照合システム10が、会計データのうち特に仕訳データの照合を行う場合を第1実施形態として説明し、会計データのうち特に明細データ又は試算表に含まれる残高データ(残高明細データとも言う)の照合を行う場合を第2実施形態として説明する。なお、照合システム10は、第1実施形態と第2実施形態の両方を実行可能であってもよいし、いずれか一方を実行可能であってもよい。
【0029】
<<第1実施形態>>
以下、第1実施形態の説明では、各企業独自のフォーマットで記述された仕訳データを、「独自仕訳データ」と言い、標準フォーマットで記述された仕訳データを、「標準仕訳データ」と言う。また、以下の説明では、「仕訳データ」とは、便宜上、複数の取引を含むデータ全体を意味し、「仕訳」とは、仕訳データに含まれる1つ1つの取引を意味する。つまり、「仕訳データ」とは、各取引に関する仕訳の集合を意味し、「仕訳」とは、ある1つの取引に関する仕訳を意味するものとして使用する。
【0030】
<ハードウェア構成>
図3は、照合システム10のハードウェア構成例を示す図である。照合システム10は、CPU(Central Processing Unit)11、メモリ、HDD(Hard Disk Drive)及び/又はSSD(Solid State Drive)等の記憶装置12、有線又は無線通信を行う通信IF(Interface)13、入力操作を受け付ける入力デバイス14、及び情報の出力を行う出力デバイス15を有する。入力デバイス14は、例えば、キーボード、タッチパネル、マウス及び/又はマイク等である。出力デバイス15は、例えば、ディスプレイ及び/又はスピーカ等である。
【0031】
<機能ブロック構成>
図4は、照合システム10の機能ブロック構成例を示す図である。照合システム10は、変換データDB100aと、独自仕訳データDB100bと、標準仕訳データDB100cと、照合用データDB100dと、取得部101と、変換部102と、格納部103と、照合部104と、出力部105とを含む。取得部101と、変換部102と、格納部103と、照合部104と、出力部105とは、照合システム10のCPU11が、記憶装置12に記憶されたプログラムを実行することにより実現することができる。また、当該プログラムは、記憶媒体に格納することができる。当該プログラムを格納した記憶媒体は、コンピューター読み取り可能な非一時的な記憶媒体(Non-transitory computer readable medium)であってもよい。非一時的な記憶媒体は特に限定されないが、例えば、USBメモリ又はCD−ROM等の記憶媒体であってもよい。また、変換データDB100a、独自仕訳データDB100b、標準仕訳データDB100c及び照合用データDB100dを、まとめて記憶部100と称してもよい。
【0032】
変換データDB100aは、各企業の独自仕訳データで用いられている各項目のデータを、標準仕訳データで用いられるデータに変換する際に用いる変換データを格納するDBである。変換データDB100aには、例えば、企業名や企業コードなどの企業を特定するための情報を変換する際に用いられる企業情報変換DBや、勘定科目名や勘定科目コードなどの勘定科目を特定するための情報を変換する際に用いられる勘定科目変換DB等が含まれる。
【0033】
図5のAは、企業情報変換DBの一例を示す図である。「企業名(A社)」及び「企業コード(A社)」には、A社の企業システム20で使用されている、取引先の各企業を識別するための企業名及び企業コードが格納される。つまり、「企業名(A社)」及び「企業コード(A社)」には、A社の独自フォーマットで規定された企業名及び企業コードが格納される。同様に、「企業名(B社)」及び「企業コード(B社)」には、B社の独自フォーマットで規定された企業名及び企業コードが格納される。「標準企業名」及び「標準企業コード」には、標準フォーマットで規定される、各企業を識別するための企業名及び企業コードが格納される。
【0034】
図5のAに示す企業情報変換DBは一例であり、C社及びD社など、さらに多くの企業の独自フォーマットで規定された企業名及び企業コードが格納されていてもよい。また、各社ごとに別個のデータベースとして変換データDB100aに格納されていてもよい。
【0035】
図5のBは、勘定科目変換DBの一例を示す図である。「勘定科目名(A社)」及び「勘定科目コード(A社)」には、A社の企業システム20で使用されている、各勘定科目を識別するための勘定科目名及び勘定科目コードが格納される。つまり、「勘定科目名(A社)」及び「勘定科目コード(A社)」には、A社の独自フォーマットで規定された勘定科目名及び勘定科目コードが格納される。同様に、「勘定科目名(B社)」及び「勘定科目コード(B社)」には、B社の独自フォーマットで規定された勘定科目名及び勘定科目コードが格納される。「標準勘定科目名」及び「標準勘定科目コード」には、標準フォーマットで規定される、各勘定科目を識別するための勘定科目名及び勘定科目コードが格納される。
【0036】
図5のBに示す勘定科目変換DBは一例であり、C社及びD社など、さらに多くの企業の独自フォーマットで規定された勘定科目及び勘定科目コードが格納されていてもよい。また、各社ごとに別個のデータベースとして変換データDB100aに格納されていてもよい。
図4に戻り説明を続ける。
【0037】
独自仕訳データDB100bは、企業システム20から取得した、各企業の独自仕訳データを、企業ごとに格納する。
【0038】
標準仕訳データDB100cは、各企業の独自仕訳データに含まれるデータを標準フォーマットで規定されるデータに変換することで生成された標準仕訳データを、企業ごとに格納する。
【0039】
図6に、標準仕訳データに含まれるデータの一例を示す。特に言及しない限り、標準仕訳データの各項目には、標準フォーマットで規定されたデータが格納される。
【0040】
「仕訳データ番号」には、独自仕訳データに含まれる仕訳データ番号が格納される。これにより、標準仕訳データが、どの独自仕訳データに該当するのかを事後的に認識することができる。「ユニークコード」には、標準仕訳データに含まれる個々の仕訳を照合システム10内で一意に識別するために用いる識別子が格納される。ユニークコードはどのような処理手順により生成されてもよいが、通常、独自仕訳データには、個々の仕訳を特定する仕訳IDが含まれていることから、当該仕訳IDを利用してユニークコードを生成するようにしてもよい。例えば、ユニークコードは、「企業コード+会計年度+仕訳ID」で表現するようにしてもよいし、更に、ハッシュ関数に入力することで得られた数をユニークコードとしてもよい。
【0041】
「企業コード」には、企業を一意に識別するためのコードが格納される。企業コードには、例えば、国税庁法人番号を利用することとしてもよい。「企業名」には、企業を一意に識別するためのコードが格納される。「取引日」には、取引が行われた日付が格納される。「勘定科目コード」には、取引の内容に対応する勘定科目の勘定科目コードが格納される。「勘定科目」には、取引の内容に対応する勘定科目の勘定科目名が格納される。
【0042】
「取引先の企業コード」には、各仕訳についての取引先企業の企業コードが格納される。「取引先の企業名」には、各仕訳についての取引先企業の企業名が格納される。「取引通貨」には、取引に用いられた通貨(日本円、ドル、ユーロ等)を示す情報が格納される。「取引金額」には、取引で認識された金額が格納される。なお、各仕訳が借方なのか貸方なのかを識別可能にするため、借方であるレコードの取引金額にはプラスの値が格納され、貸方であるレコードの取引金額にはマイナスの値が格納される。「照合結果フラグ」には、各仕訳で示される取引内容が、取引先企業の標準仕訳データにも記録されていることの確認が取れたのか否かを示すフラグが格納される。「照合先日付」は、取引先企業の標準仕訳データの取引日を変更することで照合に成功した場合に、変更後の取引日を格納するためのデータ項目である。「照合先勘定科目」は、標準仕訳データの照合に成功した場合に、取引相手の勘定科目を格納するためのデータ項目である。「照合先ユニークコード」には、各仕訳で示される取引内容が、取引先企業の仕訳データにも記録されていることの確認が取れた場合に、取引先企業の仕訳データのうち取引内容が記録された仕訳のユニークコードが格納される。
図4に戻り説明を続ける。
【0043】
照合用データDB100dは、2社間で取引が行われる場合に、一方の企業が使用する勘定科目と、もう一方の企業が使用する勘定科目のペアを示す「対応関係データ(勘定科目)」を格納する。例えば、2社間で金銭の貸し借りが行われると、一方の企業の仕訳では貸付金の勘定科目を使用し、もう一方の企業の仕訳では借入金の勘定科目を使用することになるが、この場合の貸付金と借入金は勘定科目のペアに該当する。また、照合用データDB100dは、勘定科目の補正を行う際に用いる「補正データ(勘定科目)」を格納する。
【0044】
図7に、対応関係データ(勘定科目)の一例を示す。左右の「勘定科目/勘定科目コード」には、一方の企業の仕訳に使用される勘定科目及び勘定科目コードと、もう一方の企業の仕訳に使用される勘定科目及び勘定科目コードが格納される。例えば、
図7の例では、例えば、勘定科目が売掛金である仕訳が存在する場合、その仕訳の取引相手の仕訳に設定されるべき勘定科目は買掛金であることを示している。つまり、売掛金の仕訳に対応する取引相手の仕訳は、買掛金の仕訳である。同様に、貸付金の仕訳に対応する取引相手の仕訳は、借入金の仕訳である。
図4に戻り説明を続ける。
【0045】
取得部101は、各企業が使用する企業システム20から出力される独自仕訳データを取得して、独自仕訳データDBに格納する機能を有する。
【0046】
変換部102は、取得部101で取得された独自仕訳データを標準フォーマット(記憶部100に格納する仕訳データ(会計データ)のフォーマット)の仕訳データに変換する機能を有する。
【0047】
格納部103は、標準フォーマットに変換された仕訳データ(標準仕訳データ)を標準仕訳データDBに格納する機能を有する。
【0048】
照合部104は、所定企業の標準仕訳データに含まれる各仕訳に記録された取引内容(例えば、取引先企業、取引日、勘定科目、金額等)が、取引先企業の標準仕訳データに記録されているか否かを判定することで、企業間で標準仕訳データの照合を行う機能を有する。
【0049】
また、照合部104は、所定企業の標準仕訳データから照合を行う仕訳(第1仕訳)を選択し、選択した第1仕訳に記録された取引日と同一の取引日を有し、第1仕訳に記録された勘定科目とペアになる勘定科目を有し、かつ、第1仕訳に記録された金額と同一の金額が設定されている仕訳(第2仕訳)が、取引先企業の仕訳データに存在する場合に、第1仕訳に記録された取引内容が取引先企業の仕訳データに記録されていると判定するようにしてもよい。
【0050】
出力部105は、照合部104により行われた所定企業の標準仕訳データの照合結果を、照合システム10に接続された他のシステム(監査法人システム30、銀行システム40、公官庁システム50及び格付会社システム60)からの要求に応じて送信する機能を有する。例えば、出力部105は、所定企業の標準仕訳データの照合結果を、当該所定企業に関連する監査法人、銀行、公官庁及び格付会社の監査法人システム30、銀行システム40、公官庁システム50及び格付会社システム60のうち少なくともいずれか一つに送信する。
【0051】
なお、仕訳データの照合結果を参照可能な監査法人、銀行、公官庁及び格付け会社と各企業とを対応づけたアクセス許可リストを記憶部100に格納しておき、出力部105は、標準仕訳データの照合結果を参照する旨の要求を受けた場合、アクセス許可リストに基づいて、標準仕訳データの照合結果を送信するか否かを判定するようにしてもよい。
【0052】
<処理手順>
続いて、照合システム10が行う処理手順を説明する。以下、
図2を用いて説明した照合システム10が行う処理手順のうち、独自仕訳データから標準仕訳データに変換する処理(ステップS20)、及び、標準仕訳データを企業間で照合する処理(ステップS30)について、より詳細に説明する。
【0053】
(独自仕訳データから標準仕訳データへの変換処理)
図8は、独自仕訳データから標準仕訳データに変換する際の処理手順の一例を示すフローチャートである。
【0054】
ステップS100で、照合システム10の変換部102は、独自仕訳データが、借方と貸方を1行(1レコード)で表現するデータフォーマットである場合、借方と貸方のそれぞれが1行(1レコード)になるように分解する。
【0055】
ステップS101で、変換部102は、標準仕訳データDBに新たなレコードを生成し、独自仕訳データに含まれる各項目のデータを読み出して新たなレコードの各項目に格納する。これにより、独自仕訳データに含まれる各項目の並び順は、標準フォーマットの規定通りに並び替えられる。
【0056】
ステップS100及びステップS101の処理手順の具体例を、
図9を用いて説明する。
図9のAは、企業Aにおける独自仕訳データの一例を示している。
図9のBは、企業Aにおける標準仕訳データの一例を示している。
図9のAに示す独自仕訳データでは、借方と貸方とが1レコードで表現されている。この場合、変換部102は、
図9のBに示すように、借方を1レコード、貸方を1レコードで表現するように分解する。借方と貸方とをそれぞれ1レコードで表現することで、仕訳データの解析や仕訳データの検索を容易にすることが可能になる。
【0057】
変換部102は、借方であるレコードの取引金額にはプラスの値を格納し、貸方であるレコードの取引金額にはマイナスの値を格納する。
図9のBの例では、借方の取引金額はマイナスの値が格納されている。これにより、監査人等が仕訳データを目視で参照する際に、同一金額である借方と貸方の仕訳のペアが仕訳データ内に存在することを、容易に識別することが可能になる。
図8に戻り説明を続ける。
【0058】
ステップS102で、変換部102は、並び替えられて標準仕訳データに格納されたデータを、変換データDBに従って標準フォーマットで用いられるデータに変換する。なお、変換処理には、文字コードを所定の文字コード(JIS、Shift_JIS、ユニコード、UTF-8など)に統一することや、データ形式(例えば数値型、文字列型など)を揃えることや、元号を西暦に変換すること等が含まれていてもよい。これにより、照合を行うプログラム処理や、当該データをアウトプットした後のデータ分析を容易に行うことが可能になる。
【0059】
ステップS103で、変換部102は、必要に応じて標準仕訳データの粒度を標準化する(統一化する)処理を行う。企業システム20によっては、仕訳を管理する粒度が異なる場合が想定される。例えば、1つの取引ごとで仕訳を計上するのではなく、複数の取引の仕訳をまとめて1つの仕訳として管理しているケースが想定される。
【0060】
照合システム10は、このような仕訳データを企業システム20から取得した場合、取り込んだ仕訳データが、複数の取引を含む仕訳データなのか、1つの取引を表す仕訳データなのかを判断することができず、取引先企業の仕訳データとの照合がうまくいかない可能性がある。
【0061】
そこで、複数の取引の仕訳データをまとめて1つの仕訳として管理している企業システム20から取得した独自仕訳データにより標準仕訳データを生成する場合、照合システム10の取得部101は、企業システム20から、更に、個々の取引についての取引日、勘定科目、取引金額又は取引先企業のうち、独自仕訳データには含まれていないデータを含む取引明細データを取得する。また、格納部103は、取得した取引明細データと独自仕訳データとに基づき、取引ごとの標準仕訳データを新たに生成して標準仕訳データDBに追加する。
【0062】
なお、格納部103は、標準仕訳データDBに標準仕訳データを追加する際、独自仕訳データから生成された標準仕訳データを標準仕訳データDBから消去するのではなく、そのまま残しておく。また、標準仕訳データDBに、独自仕訳データから生成された標準仕訳データに対応するリバース仕訳データを追加する。リバース仕訳データとは、取引額を足すとゼロになるような仕訳データを意味する。
【0063】
ステップS104で、変換部102は、レコードごとにユニークコードを付与する。
【0064】
以上説明した処理手順のうち、ステップS102及びステップS104の処理手順について、
図9を用いて具体例を説明する。変換データDBには、
図5で説明した企業情報変換DBと、勘定科目変換DBとが格納されているものとする。変換部102は、
図9のBに示す標準仕訳データの各項目を、企業情報変換DBと勘定科目変換DBとを参照しながら、標準フォーマットで用いられるデータに変換する。また、レコード毎にユニークコードを付与する。各項目のデータが変換され、ユニークコードが付与されることにより生成された標準仕訳データを
図9のCに示す。照合結果及び取引先フィールドを格納するカラムについては、
図9のCが生成される時点で追加されることとしてもよい。
【0065】
次に、ステップS103の処理手順について具体例を説明する。
図10は、標準仕訳データの粒度を標準化する処理を具体的に説明するための図である。例えば、企業Aの独自仕訳データは、同日に行われた同一の勘定科目の取引については、取引先を区分せずに1つの仕訳で計上する仕様であるとする。また、
図10のAに示すように、標準取引データには、取引先が格納されていない状態であるとする。この場合、照合システム10は、企業システム20から、更に、取引明細データを取得し、取得した取得明細データに基づいて取引ごとの標準仕訳を新たに生成して標準仕訳データDBに追加する。追加された標準仕訳データは、
図10のBにおいてユニークコードがA500−D1〜D4にあるレコードに該当する。なお、追加された標準仕訳データには、取引明細データに基づいて生成された仕訳データであることを示す情報(
図10に示す「売上明細」)を付与するようにしてもよい。また、このとき、照合システム10は、ユニークコードがA500−Rであるリバース仕訳データを標準仕訳データDBに追加するようにしてもよい。リバース仕訳データを追加することで、企業システム20で管理している独自仕訳データと対応する標準仕訳データを消去することなく、取引先の企業の標準仕訳データとの照合が可能な標準仕訳データを管理することが可能になる。
【0066】
(照合処理)
図11は、標準仕訳データの照合処理の一例を示すフローチャートである。
図11を用いて、照合システム10の照合部104が、企業間で標準仕訳データの照合を行う手順を説明する。なお、
図11以降に例示する標準仕訳データは、説明の便宜上、
図6に示す標準仕訳データの項目のうち説明に用いる項目のみを図示するものとする。
【0067】
まず、照合部104は、標準仕訳データDBの中から、照合作業を行う所定企業の標準仕訳データを選択する。所定企業の選択方法はどのような方法でもよい。例えば、照合作業を行っていない企業の標準仕訳データをランダムに選択することとしてもよい。照合作業を行う所定企業の標準仕訳データを選択すると、照合部104は、選択した所定企業の標準仕訳データについて、
図11に示すフローチャートに示す処理手順を1仕訳ずつ(1レコードずつ)順番に繰り返し行うことで照合を行う。なお、以下の説明では、「仕訳データ」とは、標準仕訳データを意味するものとして使用する。
【0068】
ステップS300で、照合部104は、所定企業(以下、照合処理の説明では便宜上「取引元」と言う。)の仕訳データのうち照合を行う仕訳(以下、照合処理の説明では便宜上「取引元の仕訳」と言う。)が、取引先企業を有する仕訳か否かを判定する。取引先企業を有する仕訳か否かは、「勘定科目」に、取引相手が存在する取引に用いられる勘定科目が設定されているか否かで判定する。
【0069】
ここで、取引相手が存在する取引に用いられる勘定科目とは、例えば、売上高と原材料、売掛金と買掛金、貸付金と借入金といったように、取引相手の存在が必要な勘定科目である。
図7に示す勘定科目のペアは、全て、取引相手が存在する取引に用いられる勘定科目に該当する。一方、取引相手が存在しない取引に用いられる勘定科目とは、例えば、資産の評価引き下げを計上する勘定科目や、減価償却費など、取引が自社内で完結するものが挙げられる。取引相手が存在する取引に用いられる勘定科目か否かを示すフラグを、
図5のBに示す勘定科目変換DBに予め設定しておき、照合部104は、当該フラグを参照することで、取引先企業を有する仕訳か否かを判定するようにしてもよい。取引先企業を有する仕訳である場合はステップS301に進む。取引先企業を有する仕訳ではない場合、照合部104は、例えば「照合先ユニークコード」に「取引先無し」を示すフラグを付与して処理を終了する。
【0070】
ステップS301で、照合部104は、仕訳の取引先が企業か個人かを判定する。取引先が企業なのか個人なのかを判定する際、「取引先企業コード」又は「取引先企業名」に取引先企業を示すデータが格納されているか否かで判定を行うようにしてもよい。取引先企業を示すデータが格納されていない場合とは、例えば、「取引先企業コード」又は「取引先企業名」に値や文字列が設定されていない場合や、取引先が個人であることを示す値や文字列が設定されている場合であってもよい。取引先企業を有しない仕訳の場合、照合部104は、例えば「照合先ユニークコード」に「取引先無し」を示すフラグを付与して処理を終了する。取引先企業を有する仕訳の場合、ステップS302に進む。
【0071】
ステップS302で、照合部104は、仕訳の取引先企業が、自動照合プラットフォーム1に参加している企業であるか(つまり、照合システム10に仕訳データを提供している企業であるか)否かを判定する。仕訳の取引先企業が、自動照合プラットフォーム1に参加している企業であるか否かは、「取引先企業コード」又は「取引先企業名」に格納されている企業の仕訳データが、独自仕訳データDB又は標準仕訳データDBに格納されているか否かで判定するようにしてもよい。仕訳の取引先企業が、自動照合プラットフォーム1に参加している企業ではない場合、照合部104は、例えば「照合先ユニークコード」に「参加企業ではないこと」を示すフラグを付与して処理を終了する。自動照合プラットフォーム1に参加している企業である場合、ステップS303に進む。
【0072】
ステップS303で、照合部104は、取引元の仕訳の「取引先企業コード」又は「取引先企業名」から取引先企業を認識し、標準仕訳データDB100cに格納されている当該取引先企業の仕訳データにアクセスする。続いて、照合部104は、当該取引先企業の仕訳データに、取引元の仕訳と照合可能な仕訳が1以上存在するか否かを判定する。取引元の仕訳と“照合可能な仕訳”とは、取引日が一致し、取引元の仕訳の「勘定科目」に対応する「勘定科目」(つまり、対応関係データ(勘定科目)により示される対応関係を満たしている仕訳)を有し、かつ、金額が一致する仕訳を意味する。照合可能な仕訳が存在する場合、照合部104は、ステップS304に進み、存在しない場合、ステップS308に進む。
【0073】
ステップS304で、照合部104は、照合可能な取引先の仕訳が1件であるのか複数件であるのかを判定する。1件の場合はステップS305に進み、複数件の場合はステップS306に進む。
【0074】
ステップS305で、照合部104は、取引元の仕訳の「照合先ユニークコード」に、取引先の仕訳の「ユニークコード」を付与する。また、照合部104は、取引先の仕訳の「照合先ユニークコード」に、取引元の仕訳の「ユニークコード」を付与する。
【0075】
ステップS306で、照合部104は、取引元の仕訳データの中から、取引元の仕訳の「取引日」と「取引先」と「勘定科目」と「金額」とが同一である1以上の他の仕訳を検索し、取引元の仕訳及び当該1以上の他の仕訳の件数と、取引先の複数の仕訳の件数とが一致するか否かを判定する。言い換えると、取引元と取引先とで同日に同種の取引が複数行われている場合、当該複数の取引についてまとめて照合を行う。これは、取引先の仕訳に照合可能な仕訳が複数存在する場合、これらの複数の仕訳の各々と対応する仕訳が、取引元の仕訳データの中にも存在する筈であり、まとめて照合処理を行う方が、仕訳データを1つずつ個別に照合するよりも効率的だからである。
【0076】
照合部104は、合計金額が一致する場合、ステップS307の処理手順に進む。一致しない場合は、照合部104は、取引元の仕訳の「照合結果」と他の仕訳の「照合結果」と照合可能な取引先の複数の仕訳の「照合結果」に、金額合計不一致により照合に失敗したことを示すフラグを付与し、ステップS308の処理手順に進む。
【0077】
ステップS307で、照合部104は、取引元の複数の仕訳の各々の「照合先ユニークコード」に、取引先の複数の仕訳の「ユニークコード」を付与する。また、照合部104は、取引先の複数の仕訳の各々の「照合先ユニークコード」に、取引元の複数の仕訳の「ユニークコード」を付与する。
【0078】
ここで、
図12〜
図14を用いて、
図11のステップS300〜ステップS307までの照合処理の具体例を説明する。なお、
図12以降では、
図6で説明した標準仕訳データに含まれる各データ項目のうち、具体例の説明に必要なデータ項目に絞って記載する。
【0079】
(具体例1)
図12において、
図12のA、C、Eは、取引元企業の仕訳データの一例を示しており、
図12のB、D、Fは、取引先企業の仕訳データの一例を示している。なお、
図12の例は、説明の都合上、同一日の仕訳に絞って図示しているが、実際の仕訳データには、様々な取引日の仕訳が大量に含まれていることが通常である。
【0080】
まず、照合部104は、
図12のAのうちユニークコードA100の仕訳を取引元の仕訳として選択する。その後、照合部104は、ステップS303の処理手順に進んだものとする。
【0081】
ステップS303で、照合部104は、ユニークコードA100の仕訳から、取引先企業は企業Bであることと取引日が5/10であることと、取引金額は100,000円であることを認識する。また、ユニークコードA100の仕訳の勘定科目(売掛金)とペアになる勘定科目を、対応関係データ(勘定科目)から取得する。ここでは、ペアになる勘定科目として、買掛金を取得したとする。
【0082】
続いて、照合部104は、標準仕訳データDB(企業B)に、取引日が5/10であり、勘定科目が買掛金であり、かつ、取引金額が100,000円である仕訳が1以上あるかを検索する。なお、第1実施形態では、前述した通り、貸方の仕訳については取引金額を意図的にマイナスにしていることから、より詳細には、照合部104は、取引金額を比較する際、取引金額の絶対値が一致するか否かを判定する(
図12以外でも同様)。この場合、
図12のBに示すユニークコードB101の仕訳が1件検索されることから、照合部104はステップS304の処理手順に進み、更にステップS305の処理手順に進む。
【0083】
ステップS305で、照合部104は、ユニークコードA100の仕訳の照合先ユニークコードに、ユニークコードB101を設定し、照合結果に照合成功を示すフラグ(1)を設定する(
図12のC)。また、ユニークコードB101の仕訳の照合先ユニークコードに、ユニークコードA100を設定し、照合結果に照合成功を示すフラグ(1)を設定する(
図12のD)。
【0084】
次に、照合部104は、
図12のCのうちユニークコードA101の仕訳を取引元の仕訳として選択する。その後、照合部104は、ステップS303の処理手順に進んだものとする。
【0085】
ステップS303で、照合部104は、ユニークコードA101の仕訳から、取引先企業は企業Bであることと取引日が5/10であることと、取引金額は100,000円であることを認識する。また、ユニークコードA101の仕訳データの勘定科目(売上高)とペアになる勘定科目を、対応関係データ(勘定科目)から取得する。ここでは、ペアになる勘定科目として、原材料を取得したとする。
【0086】
続いて、照合部104は、標準仕訳データ(企業B)から、取引日が5/10であり、勘定科目が原材料であり、かつ、取引金額が100,000円である仕訳が1以上あるかを検索する。なお、第1実施形態では、前述した通り、貸方の仕訳については取引金額を意図的にマイナスにしていることから、より詳細には、照合部104は、取引金額を比較する際、取引金額の絶対値が一致するか否かを判定する。この場合、
図12のBに示すユニークコードB100の仕訳データが1件検索されることから、照合部104はステップS304の処理手順に進み、更にステップS305の処理手順に進む。
【0087】
ステップS305で、照合部104は、ユニークコードA101の仕訳の照合先ユニークコードに、ユニークコードB100を設定し、照合結果に照合成功を示すフラグ(1)を設定する(
図12のE)。また、ユニークコードB100の仕訳の照合先ユニークコードに、ユニークコードA101を設定し、照合結果に照合成功を示すフラグ(1)を設定する(
図12のF)。
【0089】
まず、照合部104は、
図13のAのうちユニークコードA150の仕訳を取引元の仕訳として選択する。その後、照合部104は、ステップS303の処理手順に進んだものとする。
【0090】
ステップS303で、照合部104は、ユニークコードA150の仕訳から取引先企業は企業Bであることと取引日が5/10であることと、取引金額が100,000円であることを認識する。また、ユニークコードA150の仕訳の勘定科目(売掛金)とペアになる勘定科目を、対応関係データ(勘定科目)から取得する。ここでは、ペアになる勘定科目として、買掛金を取得したとする。続いて、照合部104は、標準仕訳データ(企業B)から、取引日が5/10であり、勘定科目が買掛金であり、かつ、取引金額の絶対値が100,000円である仕訳を検索する。の場合、
図13のBに示すユニークコードB151、B153及びB155の3件の仕訳が検索されることから、照合部104はステップS306の処理手順に進む。
【0091】
ステップS306で、照合部104は、ユニークコードA150、A152及びA154の各々の仕訳の「金額」の絶対値の合計値と、ユニークコードB151、B153及びB155の各々の仕訳の「金額」の絶対値の合計値とが一致するか否かを判定する。ここでは、ユニークコードA150、A152及びA154の各々の仕訳の「金額」の絶対値の合計は300,000円であり、ユニークコードB151、B153及びB155の各々の仕訳の「金額」の絶対値の合計値も300,000円であることから、照合部104は、ステップS307に進む。
【0092】
ステップS307で、照合部104は、ユニークコードA150、A152及びA154の仕訳の各々の「照合先ユニークコード」に、ユニークコードB151、B153及びB155を付与し、照合結果に照合成功を示すフラグ(2)を設定する(
図14のA)。また、照合部104は、ユニークコードB151、B153及びB155の仕訳の各々の「照合先ユニークコード」に、ユニークコードA150、A152及びA154を付与し、照合結果に照合成功を示すフラグ(2)を設定する(
図14のB)。
【0093】
次に、照合部104は、
図13のAに示す複数の仕訳のうちユニークコードA151の仕訳を取引元の仕訳として選択する。その後、照合部104は、ステップS303の処理手順に進んだものとする。
【0094】
ステップS303で、照合部104は、ユニークコードA151の仕訳から取引先企業は企業Bであることと取引日が5/10であることと、取引金額が100,000円であることを認識する。また、ユニークコードA150の仕訳の勘定科目(売上高)とペアになる勘定科目を、対応関係データ(勘定科目)から取得する。ここでは、ペアになる勘定科目として、原材料を取得したとする。続いて、照合部104は、取引先企業の標準仕訳データ(企業B)から、取引日が5/10であり、勘定科目が原材料であり、かつ取引金額が100,000円である仕訳を検索する。この場合、
図14のBに示すユニークコードB150、B152及びB154の3件の仕訳が検索されることから、照合部104はステップS306の処理手順に進む。なお、照合部104は、取引先企業の仕訳データから仕訳を検索する際、照合結果に照合成功を示すフラグが付与されているレコード(つまり、既に照合済みである仕訳)については検索対象外とする。
【0095】
ステップS306で、照合部104は、ユニークコードA151、A153及びA155の各々の仕訳の「金額」の絶対値の合計値と、ユニークコードB150、B152及びB154の各々の仕訳の「金額」の絶対値の合計値とが一致するか否かを判定する。ここでは、ユニークコードA151、A153及びA155の各々の仕訳の「金額」の絶対値の合計は300,000円であり、ユニークコードB150、B152及びB154の各々の仕訳の「金額」の絶対値の合計値も300,000円であることから、ステップS307に進む。
【0096】
ステップS307で、照合部104は、ユニークコードA151、A153及びA155の仕訳の各々の「照合先ユニークコード」に、ユニークコードB150、B152及びB154を付与し、照合結果に照合成功を示すフラグ(2)を設定する(
図15のA)。また、照合部104は、ユニークコードB150、B152及びB154の仕訳の各々の「照合先ユニークコード」に、ユニークコードA151、A153及びA155を付与し、照合結果に照合成功を示すフラグ(2)を設定する(
図15のB)。
図11に戻り説明を続ける。
【0097】
ステップS308で、照合部104は、取引先企業の仕訳の「勘定科目」を補正し、再度、ステップS303〜ステップS307と同様の照合処理を行うことで、照合に成功するか否かを判定する。このような処理を実現するために、取引企業間で取引の性質の解釈が相違することにより異なる勘定科目を使用している場合において勘定科目を補正する補正用データであって、補正前の勘定科目と補正後の勘定科目とを対応づけた「補正データ(勘定科目)」を、照合用データDB100dに記憶しておく。
【0098】
照合部104は、取引元の仕訳(第1仕訳)に記録された取引内容が取引先企業の仕訳に記録されていない場合、取引先企業の仕訳のうち照合に成功していない仕訳に記録された勘定科目を、補正用データにより対応づけられる補正後の勘定科目を用いて、再度、ステップS303〜ステップS307と同様の照合処理(取引元の仕訳に記録された取引内容が、該取引内容が示す取引先企業の仕訳に記録されているか否かを判定する処理)を行う。照合に成功した場合、照合部104は、照合に成功した勘定科目を仕訳データに記録して、ステップS309の処理手順に進む。照合に失敗した場合はステップS310の処理手順に進む。
【0099】
つまり、ステップS308の処理手順は、取引企業間で取引の性質の解釈が相違することにより異なる勘定科目を使用している場合であっても、照合を可能とするための仕組みである。
【0100】
ステップS309で、照合部104は、取引元の仕訳の「照合先ユニークコード」に、補正により照合に成功した取引先の仕訳の「ユニークコード」を付与する。また、照合部104は、当該取引先の仕訳の「照合先ユニークコード」に、取引元の仕訳の「ユニークコード」を付与する。また、取引元の仕訳及び取引先の仕訳の「照合結果」に、勘定科目を補正したことにより照合に成功したことを示すフラグを付与する。
【0101】
図16及び
図17を用いて具体例を説明する。
図16は、補正用データの一例を示す図である。
図16の例では、照合に成功していない(照合結果フラグに照合成功が付与されていない)取引先企業の仕訳の勘定科目に「買掛金」が設定されている場合、当該勘定科目を「未払金」に補正することで照合処理を行い、それでも照会に失敗する場合は「未払費用」に補正することで照合処理を行うべきことを示している。なお、対応関係データ(勘定科目)には、
図7に示すデータが格納されているものとする。
【0102】
図17のAは、取引元の仕訳の一例を示し、
図17のBは、取引先の仕訳の一例を示している。まず、照合部104は、
図17のAのうちユニークコードA300の仕訳を取引元の仕訳として選択し、照合処理を行う。
図7によれば、ユニークコードA300の仕訳の勘定科目である売掛金とペアになる勘定科目は買掛金である。そこで、照合部104は、企業Bの仕訳データの中から、取引日が5/10であり、勘定科目が買掛金であり、取引金額が100,000円である仕訳を検索する(
図11のステップS303)。しかし、
図17のBには、取引日が5/10で勘定科目が買掛金であり、取引金額が100,000円である仕訳は存在しないことから、照合部104は、ステップS308の処理手順に進む。
【0103】
続いて、照合部104は、補正データ(勘定科目)に従い、企業Bの仕訳データのうち、ユニークコードがB303である仕訳の勘定科目に設定されている未払金を買掛金に補正し、再度、企業Bの仕訳データの中から、取引日が5/10であり、勘定科目が買掛金であり、取引金額が100,000円である仕訳を検索する(
図11のステップS303)。この場合、ユニークコードB303の仕訳が取引元の仕訳として検索されて照合に成功する。照合部104は、ユニークコードA300の仕訳の「照合先ユニークコード」にB303を設定し、ユニークコードB303の仕訳の「照合先ユニークコード」にA300を設定する(
図11のステップS305)。また、照合部104は、ユニークコードA300の仕訳及びユニークコードB303の仕訳の「照合結果」に、勘定科目を補正したことにより照合に成功したことを示すフラグ(例えば3など)を付与する。
図11に戻り説明を続ける。
【0104】
ステップS310で、照合部104は、取引元の仕訳(第1仕訳)に記録された取引内容が取引先企業の仕訳データに記録されていると判定することができない場合において、取引先企業の仕訳データに、取引元の仕訳に記録された取引日と同一の取引日を有する仕訳(S310の説明では第3仕訳と称する)が複数存在する場合、取引先の仕訳に記録された勘定科目と、第3仕訳の各々に記録された勘定科目が、取引元の仕訳に記録された勘定科目とペアになる勘定科目であり、かつ、取引元の仕訳に記録された金額と、複数の第3仕訳に記録された金額の合計値とが一致するか否かの判定を行う。当該判定の条件を満たす場合、照合に成功した(取引元の仕訳に記録された取引内容に対応する取引が取引先企業の仕訳データに記録されている)と判定し、ステップS311の処理手順に進む。当該判定の条件を満たさない場合、照合に失敗したと判定し、ステップS312の処理手順に進む。
【0105】
ステップS310の処理手順は、仕訳データの粒度を標準化する処理(
図8のS103)を行うことができなかったために、同一取引日における複数件の仕訳がまとめて記録されており照合に失敗する場合や、企業ごとの管理している粒度が異なるために照合に失敗する場合であっても照合を可能とするための仕組みである。
【0106】
ステップS311で、照合部104は、取引元の仕訳の「照合先ユニークコード」に、複数の第3仕訳の各々の「ユニークコード」を付与する。また、照合部104は、当該取引先の仕訳の「照合先ユニークコード」に、取引元の仕訳の「ユニークコード」を付与する。また、取引元の仕訳及び取引先の仕訳の「照合結果」に、取引日単位で金額を合計したことにより照合に成功したことを示すフラグを付与する。
【0107】
図18を用いて具体例を説明する。
図18のAは、取引元の仕訳データの一例を示し、
図18のBは、取引先の仕訳データの一例を示している。対応関係データ(勘定科目)には、
図7に示すデータが格納されているものとする。まず、照合部104は、
図18のAのうちユニークコードA400の仕訳を取引元の仕訳として選択し、照合処理を行う。
図7によれば、ユニークコードA400の仕訳の勘定科目である売掛金とペアになる勘定科目は買掛金である。そこで、照合部104は、企業Bの仕訳データの中から、取引日が5/10であり、勘定科目が買掛金であり、取引金額が100,000円である仕訳を検索する(
図11のステップS303)。しかし、
図18のBには、取引日が5/10で勘定科目が買掛金であり、取引金額が100,000円である仕訳は存在しないことから、照合部104は、ステップS308の処理手順に進む。また、照合部104は、ステップS308の処理手順でも照合に成功しないことから、ステップS309の処理手順に進む。
【0108】
照合部104は、取引先企業の仕訳データに、取引日が5/10である仕訳が複数存在するか否かを判定する。
図18のBの例では、ユニークコードがB401、B403及びB405である3つの仕訳が存在する。続いて、照合部104は、これらの3つの仕訳の勘定科目が、取引元の仕訳の勘定科目である売掛金とペアになる買掛金であり、かつ、これらの3つの仕訳の取引金額の絶対値の合計が取引元の仕訳の取引金額と一致するか否かを確認する。ユニークコードがB401、B403及びB405である3つの仕訳の勘定科目は買掛金であり、取引金額の絶対値の合計は、ユニークコードがA400である仕訳の取引金額と同一である100,000円(30,000円+30,000円+40,000円)であることから、照合部104は、照合に成功したと判定する。続いて、照合部104は、ユニークコードA400の仕訳の「照合先ユニークコード」に、B401、B403及びB405を設定し、ユニークコードB401、B403及びB405の仕訳の「照合先ユニークコード」にA400を設定する(
図11のステップS311)。また、照合部104は、ユニークコードA400の仕訳及びユニークコードB401、B403及びB405の仕訳の「照合結果」に、取引日単位で金額を合計したことにより照合に成功したことを示すフラグ(例えば4など)を付与する。
【0109】
続いて、照合部104は、
図18のAのうちユニークコードA401の仕訳を取引元の仕訳として選択し、照合処理を行う。当該照合処理では、ユニークコードがB400、B402及びB404である3つの仕訳の勘定科目は、ユニークコードA401の仕訳の勘定科目である売上高のペアになる原材料であり、取引金額の絶対値の合計は、ユニークコードがA401である仕訳の取引金額と同一である100,000円(30,000円+30,000円+40,000円)であることから、照合部104は、照合に成功したと判定する。
【0110】
続いて、照合部104は、ユニークコードA401の仕訳の「照合先ユニークコード」に、B400、B402及びB404を設定し、ユニークコードB400、B402及びB404の仕訳の「照合先ユニークコード」にA401を設定する(
図11のステップS311)。また、照合部104は、ユニークコードA401の仕訳及びユニークコードB400、B402及びB404の仕訳の「照合結果」に、取引日単位で金額を合計したことにより照合に成功したことを示すフラグ(例えば4など)を付与する。
図11に戻り説明を続ける。
【0111】
なお、ステップS310の処理手順は、勘定科目に関わらず照合をするようにしてもよい。具体的には、取引元の仕訳(第1仕訳)に記録された取引内容が取引先企業の仕訳データに記録されていると判定することができない場合において、取引先企業の仕訳データに、取引元の仕訳に記録された取引日と同一の取引日を有する仕訳(第3仕訳)が複数存在する場合、第3仕訳の各々に記録された勘定科目のカテゴリ(借方又は貸方のいずれか)が、取引先の仕訳のカテゴリと対になるカテゴリ(借方と対になるカテゴリは貸方であり、貸方と対になるカテゴリは借方)であり、取引元の仕訳に記録された金額と、複数の第3仕訳に記録された金額の合計値とが一致するか否かの判定を行うようにしてもよい。
【0112】
図19を用いて具体例を説明する。
図19のAは、取引元の仕訳データの一例を示し、
図19のBは、取引先の仕訳データの一例を示している。
【0113】
まず、照合部104は、
図19のAのうちユニークコードA400の仕訳を取引元の仕訳として選択し、照合処理を行う。
【0114】
ここで、貸方に対応する勘定科目である仕訳なのか、借方に対応する勘定科目である仕訳なのかについては、取引金額が+なのか−なのかによって判定することができる。取引金額が+である場合は借方であり、取引金額が−である場合は貸方である。ユニークコードA400の仕訳の取引金額は+であることから、勘定科目は借方に対応する。
【0115】
続いて、照合部104は、取引先企業の仕訳データに、取引日が5/10であり、貸方に対応する勘定科目である仕訳が複数存在するか否かを判定する。
図19のBの例では、ユニークコードがB401、B403及びB405である3つの仕訳が存在する。続いて、照合部104は、これらの3つの仕訳の取引金額の絶対値の合計が取引元の仕訳の取引金額と一致するか否かを確認する。ユニークコードがB401、B403及びB405である3つの仕訳の取引金額の絶対値の合計は、ユニークコードがA400である仕訳の取引金額と同一である100,000円(30,000円+30,000円+40,000円)であることから、照合部104は、照合に成功したと判定する。続いて、照合部104は、ユニークコードA400の仕訳の「照合先ユニークコード」に、B401、B403及びB405を設定し、ユニークコードB401、B403及びB405の仕訳の「照合先ユニークコード」にA400を設定する(
図11のステップS311)。また、照合部104は、ユニークコードA400の仕訳及びユニークコードB401、B403及びB405の仕訳の「照合結果」に、取引日単位で金額を合計したことにより照合に成功したことを示すフラグ(例えば5など)を付与する。
【0116】
続いて、照合部104は、
図19のAのうちユニークコードA401の仕訳を取引元の仕訳として選択し、照合処理を行う。ユニークコードA401の仕訳の取引金額は−であることから、勘定科目は貸方に対応する。
【0117】
続いて、照合部104は、取引先企業の仕訳データに、取引日が5/10であり、借方に対応する勘定科目である仕訳が複数存在するか否かを判定する。
図19のBの例では、ユニークコードがB400、B402及びB404である3つの仕訳が存在する。続いて、照合部104は、これらの3つの仕訳の取引金額の絶対値の合計が取引元の仕訳の取引金額と一致するか否かを確認する。ユニークコードがB400、B402及びB404である3つの仕訳の取引金額の絶対値の合計は、ユニークコードがA401である仕訳の取引金額と同一である100,000円(30,000円+30,000円+40,000円)であることから、照合部104は、照合に成功したと判定する。続いて、照合部104は、ユニークコードA401の仕訳の「照合先ユニークコード」に、B400、B402及びB404を設定し、ユニークコードB400、B402及びB404の仕訳の「照合先ユニークコード」にA401を設定する(
図11のステップS311)。また、照合部104は、ユニークコードA401の仕訳及びユニークコードB400、B402及びB404の仕訳の「照合結果」に、取引日単位で金額を合計したことにより照合に成功したことを示すフラグ(例えば5など)を付与する。
【0118】
ステップS312で、照合部104は、取引先企業の仕訳の「取引日」又は取引元の仕訳の「取引日」を所定の日数(例えば、売掛金であれば+5営業日までのいずれかの日数、買掛金であれば−5営業日までのいずれかの日数)補正し、再度、ステップS303〜ステップS311と同様の照合処理を行う(つまり取引元の仕訳データに記録された取引内容が、該取引内容が示す取引先企業の仕訳データに記録されているか否かを判定する処理を行う)ことで、照合に成功するか否かを判定する。照合に成功した場合はステップS313に進み、成功しない場合はステップS314に進む。
【0119】
ステップS313で、照合部104は、取引元の仕訳の「照合先ユニークコード」に、照合に成功した仕訳の各々の「ユニークコード」を付与する。また、照合部104は、当該取引先の仕訳の「照合先ユニークコード」に、照合に成功した取引元の仕訳の「ユニークコード」を付与する。また、取引元の仕訳及び取引先の仕訳の「照合結果」に、取引日単位で金額を合計したことにより照合に成功したことを示すフラグを付与する。
【0120】
すなわち、ステップS312の処理手順は、取引先企業の仕訳又は取引元企業の仕訳において、売上と仕入の計上日が異なって記録されている場合であっても、照合を可能とする仕組みである。
【0121】
図20を用いて具体例を説明する。
図20のAは、取引元の仕訳データの一例を示し、
図20のBは、取引先の仕訳データの一例を示している。対応関係データ(勘定科目)には、
図7に示すデータが格納されているものとする。まず、照合部104は、
図20のAのうちユニークコードA500の仕訳を取引元の仕訳として選択し、照合処理を行う。
図7によれば、ユニークコードA500の仕訳の勘定科目である売掛金とペアになる勘定科目は買掛金である。そこで、照合部104は、企業Bの仕訳データの中から、取引日が5/10であり、勘定科目が買掛金であり、取引金額が50,000円である仕訳を検索する(
図11のステップS303)。しかし、
図20のBには、取引日が5/10で勘定科目が買掛金であり、取引金額が50,000円である仕訳は存在しないことから、照合部104は、ステップS308の処理手順に進む。また、照合部104は、ステップS308及びステップS310の処理手順でも照合に成功しないことから、ステップS312の処理手順に進む。
【0122】
照合部104は、取引元の仕訳の取引日を1日後にした5/11を取引日とする仕訳が取引先企業の仕訳に存在するか否かを判定する。
図20のBの例では、ユニークコードB500及びB501の2つの仕訳が存在する。続いて、照合部104は、これらの2つの仕訳の勘定科目のうち、取引元の仕訳の勘定科目である売掛金とペアになる買掛金であり、かつ、ユニークコードA500の仕訳データの取引金額の絶対値と同一の取引金額を有する仕訳データの有無を検索する。
図20のBによれば、このような条件を満たす仕訳は、ユニークコードがB501の仕訳であることから、照合部104は、照合に成功したと判定する。続いて、照合部104は、ユニークコードA500の仕訳の「照合先ユニークコード」に、B501を設定し、ユニークコードB501の仕訳の「照合先ユニークコード」にA500を設定する(
図11のステップS311)。また、照合部104は、ユニークコードA500の仕訳及びユニークコードB501の仕訳の「照合結果」に、取引日を補正したことにより照合に成功したことを示すフラグ(例えば6など)を付与する。日付をずらして照合した場合には、何日ずらしで照合したのか、その日付も「照合結果」に格納するようにしてもよい。
【0123】
続いて、照合部104は、
図20のAのうちユニークコードA501の仕訳を取引元の仕訳として選択し、照合処理を行う。この場合も、照合部104は、これらの2つの仕訳の勘定科目のうち、取引元の仕訳の勘定科目である売上高とペアになっている原材料であり、かつ、ユニークコードA501の仕訳の取引金額の絶対値と同一の取引金額を有する仕訳の有無を検索する。
図20のBによれば、このような条件を満たす仕訳は、ユニークコードがB500の仕訳であることから、照合部104は、照合に成功したと判定する。続いて、照合部104は、ユニークコードA501の仕訳の「照合先ユニークコード」に、B500を設定し、ユニークコードB500の仕訳の「照合先ユニークコード」にA501を設定する(
図11のステップS311)。また、照合部104は、ユニークコードA501の仕訳及びユニークコードB500の仕訳の「照合結果」に、取引日を補正したことにより照合に成功したことを示すフラグ(例えば6など)を付与する。日付をずらして照合した場合には、何日ずらしで照合したのか、その日付も「照合結果」に格納するようにしてもよい。
図11に戻り説明を続ける。
【0124】
ステップS314で、照合部104は、取引元の仕訳の「照合結果」に、照合に失敗したことを示すフラグを付与し、処理を終了する。
【0125】
<<第2実施形態>>
これまでに説明した第1実施形態では、照合システム10は、各企業から収集した仕訳データを照合することで、各企業において適切に会計処理が行われていることを確かめるようにした。一方、第2実施形態では、照合システム10は、各企業から収集した勘定科目ごとの残高データを照合することで、各企業において適切に会計処理が行われていることを確かめる。なお、残高データとは、各企業の会計処理における仕訳処理に関して、ある時点(例えば月末や期末など)における各勘定科目の借方及び貸方を取引先ごとに合計し、借方の合計から貸方の合計を減算することで算出されるデータである。
【0126】
以下、第2実施形態の説明では、各企業独自のフォーマットで記述された残高データを、「独自残高データ」と言い、標準フォーマットで記述された残高データを、「標準残高データ」と言う。
【0127】
<機能ブロック構成>
第2実施形態の照合システム10は、
図4に示すように、変換データDB100aと、照合用データDB100dと、取得部101と、変換部102と、格納部103と、照合部104と、出力部105とを含む。また、
図4における独自仕訳データDB100bに代えて(又は加えて)、独自残高データDBを含む。同様に、
図4における標準仕訳データDB100cに代えて(又は加えて)、標準残高データDBを含む。
【0128】
独自残高データDBは、企業システム20から取得した、各企業の独自残高データを、企業ごとに格納する。
【0129】
標準残高データDBは、各企業の独自残高データに含まれるデータを標準フォーマットで規定されるデータに変換することで生成された標準残高データ(会計データ)を、企業ごとに格納する。より具体的には、標準残高データDBにおける標準残高データには、勘定科目ごとに、所定企業の企業システム20から独自残高データを取得した残高基準日と、当該所定企業を識別する情報と、当該所定企業の取引先企業を示す情報と、勘定科目の残高とが対応づけられている。
【0130】
図21に、標準残高データに含まれるデータの一例を示す。「残高基準日」は、照合システム10が企業システム20に照会する残高の基準日を示す。「部門コード」は、独自残高データを管理している部門を一意に特定する識別子である。「部門名」は、部門コードで特定される部門の名称を示す。「勘定科目コード」及び「勘定科目」には、標準残高データDBに含まれる各々の残高データに対応する勘定科目の勘定科目コード及び勘定科目名が格納される。「取引先の企業コード」には、各々の残高データについての取引先企業の企業コードが格納される。「取引先の企業名」には、各々の残高データについての取引先企業の企業名が格納される。「残高金額」は、取引先企業向けの取引に関する勘定科目ごとの残高を示す。「ユニークコード」には、標準残高データDBに含まれる各々の残高データを照合システム10内で一意に識別するために用いる識別子が格納される。ユニークコードはどのような処理手順により生成されてもよいが、例えば、1つのレコードに格納されている各カラムのデータをハッシュ関数に入力することで得られた数をユニークコードとしてもよい。
【0131】
「照合結果」には、標準残高データDBに含まれる各々の残高データが、取引先企業の標準残高データDBにも記録されていることの確認が取れたのか否かを示すフラグが格納される。「照合先勘定科目」は、残高データの照合に成功した場合に、取引相手の残高データの勘定科目を格納するためのデータ項目である。「照合先ユニークコード」には、標準残高データDBに含まれる各々の残高データが、取引先企業の標準残高データDBにも記録されていることの確認が取れた場合に、取引先企業の残高データにおけるユニークコードが格納される。
図4に戻り説明を続ける。
【0132】
取得部101は、各企業が使用する企業システム20から出力される独自残高データを取得して、独自残高データDBに格納する機能を有する。
【0133】
変換部102は、取得部101で取得された独自残高データを標準フォーマット(記憶部100に格納する残高データのフォーマット)の残高データに変換する機能を有する。
【0134】
格納部103は、標準フォーマットに変換された残高データ(標準残高データ)を標準残高データDBに格納する機能を有する。
【0135】
照合部104は、所定企業の標準残高データに記録された取引内容(例えば、残高基準日、取引先企業、勘定科目、残高等)が、取引先企業の標準残高データに記録されているか否かを判定することで、企業間で標準残高データの照合を行う機能を有する。
【0136】
また、照合部104は、所定企業の残高データから照合を行う勘定科目を選択し、選択した勘定科目に対応づけられる所定の残高基準日と同一の残高基準日を有し、選択した勘定科目とペアになる勘定科目を有し、かつ、選択した勘定科目に対応づけられる残高と同一の残高である残高データが、取引先企業の残高データに存在する場合に、選択した勘定科目に関する取引内容が取引先企業の残高データに記録されていると判定するようにしてもよい。
【0137】
また、照合部104は、選択した勘定科目に関する取引内容が取引先企業の残高データに記録されていると判定することができない場合、所定企業の残高データのうち所定の残高基準日と同一の残高基準日に対応づけられる1以上の勘定科目の残高の合計値と、取引先企業の残高データのうち所定の残高基準日と同一の残高基準日に対応づけられる1以上の勘定科目の残高の合計値とが一致する場合に、所定企業の残高データに記録された取引内容が取引先企業の残高データに記録されていると判定するようにしてもよい。
【0138】
出力部105は、照合部104により行われた所定企業の標準残高データの照合結果を、照合システム10に接続された他のシステム(監査法人システム30、銀行システム40、公官庁システム50及び格付会社システム60)からの要求に応じて送信する機能を有する。例えば、出力部105は、所定企業の標準残高データの照合結果を、当該所定企業に関連する監査法人、銀行、公官庁及び格付会社の監査法人システム30、銀行システム40、公官庁システム50及び格付会社システム60のうち少なくともいずれか一つに送信する。
【0139】
<処理手順>
続いて、照合システム10が行う処理手順を説明する。以下、
図2を用いて説明した照合システム10が行う処理手順のうち、独自残高データから標準残高データに変換する処理(ステップS20)、及び、標準残高データを企業間で照合する処理(ステップS30)について、より詳細に説明する。
【0140】
(独自残高データから標準残高データへの変換処理)
図8を用いて、独自残高データから標準残高データに変換する処理を説明する。なお、独自残高データは、独自仕訳データとは異なり、借方と貸方とが1レコードで表現されるものではない。また、独自残高データは、各企業から、勘定科目ごとに取引先単位で取得するデータである。これにより、ステップS100及びステップS103の処理手順は、残高データを処理する場合には不要であるため説明を省略する。
【0141】
ステップS101で、変換部102は、標準残高データDBに新たなレコードを生成し、独自残高データに含まれる各項目のデータを読み出して新たなレコードの各項目に格納する。これにより、独自残高データに含まれる各項目の並び順は、標準フォーマットの規定通りに並び替えられる。
【0142】
ステップS102で、変換部102は、並び替えられて標準残高データに格納されたデータを、変換データDBに従って標準フォーマットで用いられるデータに変換する。
【0143】
ステップS104で、変換部102は、レコードごとにユニークコードを付与する。
【0144】
以上説明した処理手順のうち、ステップS102及びステップS104の処理手順について、
図22を用いて具体例を説明する。変換データDBには、
図5で説明した企業情報変換DBと、勘定科目変換DBとが格納されているものとする。変換部102は、
図22のAに示す独自残高データの各項目を、企業情報変換DBと勘定科目変換DBとを参照しながら、標準フォーマットで用いられるデータに変換する。また、レコード毎にユニークコードを付与する。独自残高データの各項目のデータが変換され、データの並び替えが行われ、ユニークコードが付与されることにより生成された標準残高データを
図22のBに示す。
【0145】
(照合処理)
図23は、標準残高データの照合処理の一例を示すフローチャートである。
図23を用いて、照合システム10の照合部104が、企業間で標準残高データの照合を行う手順を説明する。なお、
図23以降に例示する標準残高データでは、説明の便宜上、
図21に示す標準残高データの項目のうち説明に用いる項目のみを図示するものとし、一部の項目(部門名、部門コード、企業コード、勘定科目コード、取引先企業コード)については記載を省略する。
【0146】
まず、照合部104は、標準残高データDBの中から、照合作業を行う所定企業の標準残高データを選択する。所定企業の選択方法はどのような方法でもよい。例えば、照合作業を行っていない企業の標準残高データをランダムに選択することとしてもよい。照合作業を行う所定企業の標準残高データを選択すると、照合部104は、選択した所定企業の標準残高データについて、
図23に示すフローチャートに示す処理手順を1つずつ(標準残高データDBの1レコードずつ)順番に繰り返し行うことで照合を行う。なお、以下の説明では、「残高データ」とは、標準残高データを意味するものとして使用する。
【0147】
ステップS400で、照合部104は、取引元の標準残高データDBのうち照合を行う1つの残高データ(以下、「照合中残高データ」と言う。)が、取引先企業を有する照合中残高データか否かを判定する。取引先企業を有する照合中残高データか否かは、照合中残高データの「勘定科目」に、取引相手が存在する取引に用いられる勘定科目が設定されているか否かで判定する。取引相手が存在する取引に用いられる勘定科目とは、第1実施形態と同一であるため説明は省略する。
【0148】
取引先企業を有する場合はステップS401に進む。取引先企業を有しない場合、照合部104は、例えば「照合先ユニークコード」に「取引先無し」を示すフラグを付与して処理を終了する。
【0149】
ステップS401で、照合部104は、照合中残高データの取引先が企業か個人かを判定する。取引先が企業ではない場合、照合部104は、例えば「照合先ユニークコード」に「個人取引」を示すフラグを付与して処理を終了する。取引先企業を有する場合、ステップS402に進む。
【0150】
ステップS402で、照合部104は、照合中残高データの取引先企業が、自動照合プラットフォーム1に参加している企業であるか(つまり、照合システム10に残高データを提供している企業であるか)否かを判定する。照合中残高データの取引先企業が、自動照合プラットフォーム1に参加している企業ではない場合、照合部104は、例えば「照合先ユニークコード」に「参加企業ではないこと」を示すフラグを付与して処理を終了する。自動照合プラットフォーム1に参加している企業である場合、ステップS403に進む。
【0151】
ステップS403で、照合部104は、照合中残高データの「取引先企業コード」又は「取引先企業名」から取引先企業を認識し、標準残高データDBに格納されている当該取引先企業の残高データにアクセスする。続いて、照合部104は、当該取引先企業の残高データに、照合中残高データと照合可能な残高データが1以上存在するか否かを判定する。照合中残高データと“照合可能な残高データ”とは、残高基準日が一致し、照合中残高データの「勘定科目」に対応する「勘定科目」(つまり、対応関係データ(勘定科目)により示される対応関係を満たしている残高)を有し、かつ、残高の金額が一致する残高データを意味する。照合可能な残高データが存在する場合、照合部104は、ステップS404に進み、存在しない場合、ステップS406に進む。
【0152】
ステップS404で、照合部104は、照合可能な取引先の残高データが1件であるのか複数件であるのかを判定する。1件の場合はステップS405に進み、複数件の場合はステップS406に進む。
【0153】
ステップS405で、照合部104は、照合中残高データの「照合先ユニークコード」に、取引先の残高データの「ユニークコード」を付与する。また、照合部104は、取引先の残高データの「照合先ユニークコード」に、照合中残高データの「ユニークコード」を付与する。
【0154】
ステップS406で、照合部104は、取引元の標準残高データDBの中に含まれる、照合中残高データの残高基準日と同一の残高基準日が設定され、かつ取引先企業が同一である各残高データの残高の合計値(照合中残高データの残高も含む)と、取引先企業の標準残高データDBの中に含まれる、当該残高基準日と同一の残高基準日が設定され、かつ取引先企業が照合中残高データの企業である各残高データの残高の合計値とが一致するか否かを判定する。一致する場合、取引元の残高データに記録された取引内容が取引先企業の残高データに記録されていると判定し、ステップS407に進む。一致しない場合、ステップS408に進む。
【0155】
ステップS407で、照合部104は、取引元の標準残高データDBのうちステップS406で一致するとの判定に用いた残高データの各々の「照合先ユニークコード」に、取引先の標準残高データDBのうちステップS406で一致するとの判定に用いた残高データの各々の「ユニークコード」を付与する。また、照合部104は、取引先の標準残高データDBのうちステップS406で一致するとの判定に用いた残高データの各々の「照合先ユニークコード」に、取引元の標準残高データDBのうちステップS406で一致するとの判定に用いた残高データの各々の「ユニークコード」を付与する。
【0156】
ステップS408で、照合部104は、照合中残高データの「照合結果」に、照合に失敗したことを示すフラグと差異の金額を付与して処理を終了する。
【0157】
ここで、
図24及び
図25を用いて、
図23のステップS403〜ステップS407の照合処理の具体例を説明する。
【0158】
(具体例1)
図24のA、Dは、取引元企業の残高データの一例を示しており、
図24のB、C、E、Fは、取引先企業の残高データの一例を示している。なお、
図24の例は、説明の都合上最小限の残高データに絞って図示しているが、実際の残高データには、多数の残高データが含まれていることが通常である(後述する
図25も同様)。
【0159】
まず、照合部104は、
図24のAのうちユニークコードA100の残高データを取引元の残高データ(照合中残高データ)として選択する。その後、照合部104は、ステップS403の処理手順に進んだものとする。
【0160】
ステップS403で、照合部104は、ユニークコードA100の残高データから、取引先企業は企業Bであることと残高基準日が4/4であることと、勘定科目は貸付金であることと、残高は80,000円であることを認識する。また、ユニークコードA100の残高データの勘定科目(貸付金)とペアになる勘定科目を、対応関係データ(勘定科目)から取得する。ここでは、ペアになる勘定科目として、借入金を取得したとする。
【0161】
続いて、照合部104は、標準残高データDB(企業B)に、残高基準日が4/4であり、勘定科目が借入金であり、かつ、残高が80,000円である残高データが1以上あるかを検索する。なお、第2実施形態では、貸方が多い場合は残高を意図的にマイナスにしていることから、より詳細には、照合部104は、残高金額を比較する際、残高金額の絶対値が一致するか否かを判定する(
図24以外でも同様)。この場合、
図24のBに示すユニークコードB100の残高データが1件検索されることから、照合部104はステップS405の処理手順に進む。
【0162】
ステップS405で、照合部104は、ユニークコードA100の残高データの照合先ユニークコードに、ユニークコードB100を設定し、照合結果に照合成功を示すフラグ(10)を設定する(
図24のD)。また、ユニークコードB100の残高データの照合先ユニークコードに、ユニークコードA100を設定し、照合結果に照合成功を示すフラグ(10)を設定する(
図24のE)。
【0163】
次に、照合部104は、
図24のAのうちユニークコードA101の残高データを取引元の残高データ(照合中残高データ)として選択する。その後、照合部104は、ステップS403の処理手順に進んだものとする。
【0164】
ステップS403で、照合部104は、ユニークコードA101の残高データから、取引先企業は企業Cであることと残高基準日が4/4であることと、勘定科目は貸付金であることと、残高は40,000円であることを認識する。また、ユニークコードA101の残高データの勘定科目(貸付金)とペアになる勘定科目を、対応関係データ(勘定科目)から取得する。ここでは、ペアになる勘定科目として、借入金を取得したとする。
【0165】
続いて、照合部104は、標準残高データDB(企業C)に、残高基準日が4/4であり、勘定科目が借入金であり、かつ、残高が40,000円である残高データが1以上あるかを検索する。この場合、
図24のCに示すユニークコードC100の残高データが1件検索されることから、照合部104はステップS405の処理手順に進む。
【0166】
ステップS405で、照合部104は、ユニークコードA101の残高データの照合先ユニークコードに、ユニークコードC100を設定し、照合結果に照合成功を示すフラグ(10)を設定する(
図24のD)。また、ユニークコードC100の残高データの照合先ユニークコードに、ユニークコードA101を設定し、照合結果に照合成功を示すフラグ(10)を設定する(
図24のF)。
【0167】
(具体例2)
図25のA、Cは、取引元企業の残高データの一例を示しており、
図25のB、Dは、取引先企業の残高データの一例を示している。
【0168】
まず、照合部104は、
図25のAのうちユニークコードA200の残高データを取引元の残高データ(照合中残高データ)として選択する。その後、照合部104は、ステップS403の処理手順に進んだものとする。
【0169】
ステップS403で、照合部104は、ユニークコードA200の残高データから、取引先企業は企業Bであることと残高基準日が4/4であることと、勘定科目は未払費用であることと、残高は50,000円であることを認識する。また、ユニークコードA200の残高データの勘定科目(未払費用)とペアになる勘定科目を、対応関係データ(勘定科目)から取得する。ここでは、ペアになる勘定科目として、未収収益を取得したとする。
【0170】
続いて、照合部104は、標準残高データDB(企業B)に、残高基準日が4/4であり、勘定科目が未収収益であり、かつ、残高が50,000円である残高データが1以上あるかを検索する。この場合、当該残高データは存在しないことから、照合部104はステップS406の処理手順に進む。
【0171】
ステップS406で、照合部104は、企業Aの残高データのうち、残高基準日が4/4であり、かつ取引先企業が企業Bである残高データの残高金額の合計を算出する。
図25のAの例では、ユニークコードがA200である残高データのみであるため、残高金額の合計は50,000円である。同様に、照合部104は、取引先企業である企業Bの残高データのうち、残高基準日が4/4であり、かつ取引先企業が企業Aである残高データの残高金額の合計を算出する。
図25のBの例では、ユニークコードがB200である残高データとB201である残高データの2件が存在し、残高金額の合計は50,000円(絶対値)である。
【0172】
続いて、照合部104は、各々の残高金額の合計値が一致することから、照合に成功したと判定し、ステップS407の処理手順に進む。ステップS407の処理手順で、照合部104は、企業Aの残高データの照合先ユニークコードに、ユニークコードB200及びB201を設定し、照合結果に、残高基準日単位で照合成功したことを示すフラグ(20)を設定する(
図24のC)。また、企業BのユニークコードB200及びB201の残高データの照合先ユニークコードに、ユニークコードA200を設定し、照合結果に照合成功を示すフラグ(20)を設定する(
図24のD)。
【0173】
<<まとめ>>
以上説明した各実施形態によれば、各企業において会計データが適切に計上されていることを容易に照合することが可能な技術を提供することが可能になる。
【0174】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態で説明したフローチャート、シーケンス、実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。