以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
<第1実施形態>
<請求書データの管理業務>
図16は、複数の通信キャリアと複数の企業との契約関係の例を示す図である。図16において、企業A、企業B、企業Cは、それぞれ、複数の拠点を有する。各企業の各拠点は通信キャリアA、通信キャリアB、通信キャリアCの少なくとも1つの通信キャリアと少なくとも1つの回線契約を結んでいる。また、各通信キャリアは、ADSL、FTTH、電話回線、専用回線、ISDN等のさまざまな種別の回線サービスを提供する。
例えば、図16において、企業Aの或る拠点は、通信キャリアAとADSL回線の使用契約を結んでいる。また、企業Aの別の或る拠点は、通信キャリアBとFTTHの回線の使用契約を結んでいる。また、企業Aの別の或る拠点は、通信キャリアCと専用回線の使用契約を結んでいる。また、企業Aの或る拠点は、通信キャリアAと電話回線の使用契約を結び、通信キャリアBとADSL回線の使用契約を結んでいる。
このような企業Aが各拠点の回線の使用契約に対する請求書データを一元管理する場合に、請求書データ検査装置が適用される。
図1は、請求書データ検査装置を適用しうる企業のネットワーク運用管理システムの構成例を示す図である。図1は、例えば、図16における企業Aのネットワーク管理運用システムを示す。
ネットワーク運用管理システムは、Webサーバ100と、業務サーバ200と、データベースサーバ300とを含む。
Webサーバ100は、ネットワーク運用管理システム内のクライアント端末(図1中では「クライアント」と表記)が通信キャリアによって提供される公衆回線を用いてネットワーク運用管理システム外のネットワークに接続する際に、プロキシサーバとして動作する。
業務サーバ200は、企業Aのネットワーク運用管理システムの管理を行うサーバである。業務サーバ200は、企業Aが各拠点の回線の使用契約に対する請求書データを一元管理する場合の請求書データ管理業務に用いられる。業務サーバ200は、請求書データ管理業務の他に、例えば、業務サーバ200は、拠点のネットワーク設計を行う敷設管理処理、ネットワークの障害発生時に障害切り分けを支援する障害管理処理、及びネットワーク保守処理等を行う。
データベースサーバ300(以降、DBサーバ300)は、各店舗や窓口会社等が利用している回線の契約情報,請求書情報,及びネットワーク内の管理に関する情報等を有する。
業務サーバ200を用いて行われる請求書データの管理業務は、(1)請求金額定義情報(マスタ)初期構築業務、(2)回線申し込み業務、(3)回線料金検査業務、(4)請求金額定義情報(マスタ)変更業務の4つである。
(1)請求金額定義情報(マスタ)初期構築業務
企業のネットワークを管理する管理者やオペレータが操作端末の入力画面から、通信キャリアによって提示される約款等の料金体系情報を業務サーバ200に入力する。業務サーバ200は、入力に応じて請求金額定義情報(マスタ)を構築し、DBサーバ300に格納する。請求金額定義情報(マスタ)は、例えば、回線基本料金、大口回線割引情報、機器料金の請求の有無、及び機器料金請求金額等の情報を含む回線の使用契約の請求内容の定義情報である。
(2)回線申し込み業務
通信キャリアへ回線申し込みをする場合には、管理者やオペレータは、通信キャリアへの申し込み情報を作成するとともに、操作端末からDBサーバ300に保持される履歴としての回線申込書情報にデータを登録する。回線申込書情報に登録されるデータは、例えば、回線種別、回線距離、選択キャリア、利用開始日、及び利用終了日等である。
(3)回線料金検査業務
通信キャリアから請求書データを提示されると、管理者やオペレータは請求書データを操作端末から業務サーバ200に入力する。業務サーバ200は、入力された請求書データをDBサーバ300に保持される請求金額定義情報(マスタ)と照合し、請求金額が正しいか否かを検査する。
(4)請求金額定義情報(マスタ)更新業務
通信キャリアで回線料金体系の見直しが行われたときに、通信キャリアから通知された新たな回線料金体系情報に基づいて、管理者やオペレータは操作端末からDBサーバ30
0に保持される請求金額定義情報(マスタ)を更新する。
構築される企業のネットワークの規模が大きくなればなるほど回線の使用契約のパターンが増えるため、(1)請求金額定義情報(マスタ)初期構築業務においては、初期構築の為のデータが増大し、データを入力する管理者又はオペレータの処理も増大する。また、(3)回線料金検査業務においては、業務サーバ200の請求書データと請求金額定義情報(マスタ)との照合処理が増大する。また、(4)請求金額定義情報(マスタ)更新業務においては、回線の使用契約のパターンが増大すると、料金体系の見直しなどによる請求金額定義情報(マスタ)のメンテナンス頻度が増大する。
また、(1)請求金額定義情報(マスタ)の初期構築業務および(4)請求金額定義情報(マスタ)更新業務においてデータ入力は管理者又はオペレータが行うので、請求金額定義情報(マスタ)の定義誤り等も発生する可能性がある。これに伴って、(3)回線料金検査業務において、請求書データのチェック誤りやチェック漏れなどが発生する可能性もある。
したがって、構築される企業のネットワークの規模が大きくなればなるほど、企業側の請求書データの管理業務にかかる運用コストが増大する。
第1実施形態では、図1の業務サーバ200が請求書データ検査装置として機能し、上記(1)請求金額定義情報(マスタ)の初期構築、(3)回線料金検査業務、(4)請求金額定義情報(マスタ)の請求書データの管理業務を行う。
第1実施形態においては、通信キャリア毎に請求書データの様式が異なるものと想定する。様式には、記載項目、該記載項目の記載順、該記載項目の記載形式等が含まれ、これらのうち1つでも異なれば、異なる様式となる。また、様式は、以降、フォーマットとも称される。
請求書データ検査装置は、ネットワーク上の操作端末からの入力から、又は、DBサーバ300から、通信キャリア毎にフォーマットの異なる請求書データを取り込む。請求書データ検査装置は、編集ルールに従って、取り込まれた請求書データから所定の記載項目を抽出し、該記載項目を共通のフォーマットのレコードの対応するフィールドに格納するようにして、請求書データを共通のフォーマットのレコード群に整形する。
また、請求書データ検査装置は、共通のフォーマットのレコード群の内容が完全一致する複数のレコードを1つに集約することによって請求金額定義情報(請求書マスタ)を自動で生成する(上記(1)請求金額定義情報(マスタ)の初期構築業務)。
また、請求書データ検査装置は、月ごと等のまとまった単位で通信キャリアから送られてくる請求書データから共通のフォーマットのレコード群を生成し、各レコードを請求料金定義情報(マスタ)と照合し、自動で請求書データを検査する(上記(3)回線料金検査業務)。
また、請求書データ検査装置は、請求書データを検査する過程で、料金体系に変更があったか否かを判定し、料金体系に変更があると判定された場合には、請求金額定義情報(マスタ)を更新する(上記(4)請求金額定義情報(マスタ)更新業務)。また、請求書データ検査装置は、(3)回線料金検査業務においてエラーの可能性がある請求書データ、及び、(4)請求金額定義情報(マスタ)更新処理においてエラーの可能性のある請求金額定義情報(マスタ)のデータを出力する。
<<請求書データ検査装置の構成例>>
図2は、請求書データ検査装置のハードウェア構成例を示す図である。例えば、図1に示される業務サーバ200として機能するサーバは、請求書データ検査装置として機能する。請求書データ検査装置1は、プロセッサ101,主記憶装置102,入力装置103,出力装置104,補助記憶装置105,及びネットワークインタフェース107を備え、これらがバス109により互いに接続されている情報処理装置である。情報処理装置1は、例えば、サーバマシンなどの専用のコンピュータである。
入力装置103は、例えば、キーボード,マウス等のポインティングデバイス,スキャナ等である。入力装置103から入力されたデータは、プロセッサ101に出力される。
ネットワークインタフェース107は、ネットワークとの情報の入出力を行うインタフェースである。ネットワークインタフェース107は、有線のネットワーク、および、無線のネットワークと接続する。ネットワークインタフェース107は、例えば、NIC(Network Interface Card),無線LAN(Local Area Network)カード等である。ネットワークインタフェース107で受信されたデータ等は、プロセッサ101に出力される。
主記憶装置102は、プロセッサ101に、補助記憶装置105に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする。主記憶装置102は、例えば、RAM(Random Access Memory)のような半導体メモリである。
補助記憶装置105は、様々なプログラムや、各プログラムの実行に際してプロセッサ101が使用するデータを格納する。補助記憶装置105は、例えば、EPROM(Erasable Programmable ROM)、又はハードディスクドライブ(Hard Disc Drive)である。補助記憶装置105は、リムーバルメディア、すなわち可搬記録媒体を含むことができる。リムーバルメディアは、例えば、USB(Universal Serial Bus)フラッシュメモリ,CD(Compact Disc),又はDVDのような記録媒体である。補助記憶装置105は、例えば、オペレーティングシステム(OS),請求書データの検査を行うための請求書データ検査プログラム,その他様々なアプリケーションプログラムを保持する。
プロセッサ101は、例えば、CPU(Central Prosessing Unit)や、DSP(Digital Signal Processor)である。プロセッサ101は、補助記憶装置105に保持された
OSや様々なアプリケーションプログラムを主記憶装置102にロードして実行することによって、様々な処理を実行する。
出力装置104は、プロセッサ101の処理の結果を出力する。出力装置104は、ディスプレイ等を含む。
例えば、請求書データ検査装置1は、プロセッサ101が補助記憶装置105に保持される請求書データ検査支援プログラムを主記憶装置102にロードして実行する。請求書データ検査装置1は、請求書データ検査支援プログラムの実行を通じて、入力装置103またはネットワークインタフェースを介して入力された請求書データから、請求金額定義情報(マスタ)を生成し、このマスタを用いて請求書データの検査を行い、検査結果を出力装置に出力する。
なお、請求書データ検査装置として機能する情報処理装置は、サーバマシンのような専用のコンピュータに限定されず、検査対象となる請求書データの数が数百から数千程度であれば、パーソナルコンピュータのような汎用のコンピュータであってもよい。
図3は、請求書データ検査装置の機能構成例を示す。請求書データ検査装置1は、プロセッサ101が補助記憶装置105に保持される請求書データ検査プログラムを主記憶装置102にロードして実行することによって、請求情報読取部11、請求情報解析部12、履歴読込部13、マスタ生成部14、請求評価部15、評価結果出力部16、請求書フォーマット情報生成部17、及び回線料金請求情報生成部18を含む装置として機能する。また、請求書データ検査装置1は、回線料金請求情報データベース(回線料金請求情報DB)20,回線申込情報データベース(回線申込情報DB)30,請求金額定義情報データベース(請求金額定義情報DB)40から入力を得る。回線料金請求情報DB20,回線申込情報DB30,請求金額定義情報DB40は、例えば、図1に示されるネットワーク運用管理システムにおける、データベースサーバ300に備えられてもよいし、補助記憶装置105上に備えられてもよい。第1実施形態においては、回線料金請求情報DB20,回線申込情報DB30,請求金額定義情報DB40は、データベースサーバ300に備えられるものと想定される。
請求書フォーマット情報生成部17は、通信キャリアごとに異なるフォーマットの請求書データを共通のフォーマットのレコード群に整形するための編集ルールである請求書フォーマット情報を生成する。請求書フォーマット情報は、共通のフォーマットのレコードの各フィールドと各通信キャリアの請求書データの各記載項目の記載位置との対応付けの情報である。請求書フォーマット情報は、例えば、通信キャリア毎に生成される。請求書フォーマット情報生成部17は、請求書フォーマット情報を回線料金請求情報DB20に格納する。以降、請求書データから生成された共通のフォーマットのレコード群は、回線料金請求情報と称される。なお、請求書フォーマット情報は、予め回線料金請求情報DB20に格納されていてもよい。請求書フォーマット情報及び回線料金請求情報の詳細については、後述される。
請求情報読取部11は、回線料金請求情報DB20から各通信キャリアの請求書データと各通信キャリアの請求書フォーマット情報とを読出し、回線料金請求情報生成部18に出力する。
回線料金請求情報生成部18は、各通信キャリアの請求書データと各通信キャリアの請求書フォーマット情報が入力されると、各通信キャリアの請求書フォーマット情報に基づいて、共通のフォーマットのレコード群である回線料金請求情報を生成する。回線料金請求情報生成部18は、生成した回線料金請求情報を回線料金請求情報DB20に格納する。通信キャリアから提示される請求書データから回線料金請求情報が生成される処理については、後述される。
また、請求情報読取部11は、請求金額定義情報(マスタ)の初期構築処理、請求書データ検査処理、及び請求金額定義情報(マスタ)の更新処理において、回線料金請求情報DB20から、回線料金請求情報を読み出して、請求情報解析部12に出力する。
請求情報解析部12は、請求情報読取部11から回線料金請求情報と、履歴読込部13から回線申込の履歴情報である回線申込情報とを取得する。請求情報解析部12は、回線申込情報(履歴)を用いて、回線料金請求情報に含まれる各レコードとテンポラリー情報(以降、tmp情報)に含まれる各レコードとの照合を行う。tmp情報は、請求金額パターンを定義する請求金額定義情報(マスタ)の前身となる情報であって複数のレコード
を含んでいる。
請求情報解析部12は、照合結果に基づき、マスタ生成部14にtmp情報への新規レコードの追加や、レコードの更新を指示する。また、請求情報解析部12は、回線料金請求情報に含まれる全てレコードについてtmp情報に含まれる各レコードとの照合が終了
すると、照合結果を請求評価部15に出力する。tmp情報の詳細、及び、回線料金請求情報とtmp情報との照合処理の詳細については、後述される。
履歴読込部13は、請求情報解析部12からの回線申込情報(履歴)取得要求に応じて、回線申込情報DB30から、回線申込の履歴情報である回線申込情報を読み込む。履歴読込部13は、読み込んだ回線申込情報(履歴)を要求元の請求情報解析部12に出力する。
マスタ生成部14は、請求金額定義情報(マスタ)を生成及び更新する。マスタ生成部14は、請求情報解析部12からのtmp情報への新規レコードの追加や、レコードの更新の指示に応じてtmp情報を生成及び更新する。マスタ生成部14は、tmp情報の生成及び更新に応じて請求金額定義情報(マスタ)を生成及び更新する。マスタ生成部14は、生成及び更新されたtmp情報及び請求金額定義情報(マスタ)を請求金額定義情報DB40に格納する。tmp情報及び請求金額定義情報(マスタ)についての詳細、及びtmp情報及び請求金額定義情報(マスタ)の生成及び更新の詳細は、後述される。
請求評価部15は、請求情報解析部12から、回線料金請求情報に含まれる各レコードとtmp情報に含まれる各レコードとの照合結果を入力として得る。請求評価部15は、照合結果から、エラーの可能性がある回線料金請求情報のレコード又は請求金額定義情報(マスタ)のレコードを含むエラー情報を生成する。請求評価部15は、生成したエラー情報を評価結果出力部16に出力する。エラー情報の詳細については、後述される。
評価結果出力部16は、請求評価部15からエラー情報を入力として得る。評価結果出力部16は、入力されたエラー情報を、例えば、ファイルに出力したり、該ファイルをネットワークを介して接続されるクライアント端末50に送信したり、請求書データ検査装置1に具備されるディスプレイ等に出力したりする。
回線料金請求情報生成部18は、本発明の態様の一つにおける第1の生成部の一例である。マスタ生成部14は本発明の態様の一つにおける第2の生成部の一例である。請求情報解析部12は本発明の態様の一つにおける照合部の一例である。請求評価部15及び評価結果出力部16の組み合わせは本発明の態様の一つにおける出力部の一例である。
(回線料金請求情報)
図4は、回線料金請求情報の例を示す図である。回線料金請求情報は、フォーマットが異なる各通信キャリアの請求書データから生成された共通のフォーマットのレコード群である。回線料金請求情報は、回線料金請求情報DB20に格納される。
通信キャリアから提示される請求書データは、第1実施形態では、企業の各拠点で、1つの通信キャリアにつき1つ発行されるものと想定する。したがって、請求書データには、1つまたは複数の契約回線の請求情報が記載されている。また、1つの契約回線の請求情報には、回線利用料、モデム使用料、屋内配線使用料等の複数の請求項目が含まれる。
回線料金請求情報の1レコードは、第1実施形態では、「識別子」,「通信キャリア」,「回線番号」,「回線種別」,「回線速度」,「請求項目」,「請求金額」のフィールドを含む。
「識別子」フィールドには、回線料金請求情報の各レコードを識別するための識別子が格納される。識別子は、英数字で構成されており、回線料金請求情報生成部18によって重複することなく各レコードに付与される。
「通信キャリア」フィールドには、通信キャリア名、又は、キャリアを識別するための識別番号等の識別情報が格納される。「回線番号」フィールドには、各通信キャリアによって契約回線に付される、回線を識別するための番号が格納される。「回線種別」フィールドには、契約回線の種類が格納される。契約回線の種類は、例えば、ADSL,専用回線,FTTH等である。「回線速度」フィールドには、契約回線の回線速度が格納される。
「請求項目」フィールドには、契約回線に対する請求項目が格納される。請求項目は、例えば、契約回線の回線利用料,モデムなどの機器のレンタル料,大口割引による回線利用料の割引料などである。
「請求金額」フィールドには、各請求項目に対応する請求金額が格納される。請求項目が割引料などの場合には、マイナスで表示される。
回線料金請求情報は、例えば、通信キャリア毎、請求書発行月ごと、等の単位で作成されてもよい。
回線料金請求情報のフィールドは、図4に示されるものに限られず、あらゆる通信キャリアの請求書データにも含まれていると考えられる、請求内容と請求金額とを特定可能な情報を格納するフィールドであればよい。請求内容を特定可能なフィールドは、図4に示される例においては、「識別子」、「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「請求項目」のフィールドが該当する。請求金額を特定可能なフィールドは、図4に示される例においては、「請求金額」フィールドが該当する。
図4に示されるような回線料金請求情報は、本発明の態様の一つにおける共通様式を有するレコード群の一例である。また、回線は、本発明の態様の一つにおける、請求対象の一例である。
(請求書フォーマット情報)
図5は、請求書フォーマット情報の例を示す図である。図5では、通信キャリアAから或る拠点が契約する1つ又は複数の回線に対して、CSV(Comma Separate Values)形
式で請求書データが発行されることを想定する。
請求書データ500は、通信キャリアAによって発行された企業Aの或る拠点の請求書データである。請求書データ500は、企業Aの該拠点が通信キャリアAと契約する回線の情報が含まれる。また、請求書データ500は、CSV形式で記述されており、例えば、電子メールで送信されたり、可搬記録媒体に記録されたりして提示される。可搬記録媒体は、例えば、フロッピー(登録商標)、CD、DVD等である。
CSV形式の請求書データ500には、各請求項目が1レコードを形成する。通信キャリアAから提示されるCSV形式の請求書データ500では、各レコードに含まれるフィールドはカンマで区切られ、各レコードは改行によって区切られる。各レコードのフィールドは、「業者」、「回線番号」、「回線種類」、「請求内訳」、「料金」の順で並んでいる。なお、請求書データ500内の「CRLF」は、改行を示す。
請求書データ500の何れのフィールドが、図4の回線料金請求情報の何れのフィールドに該当するのかが企業ネットワークの管理者によって判定され、操作端末から両者のフィールドの対応がユーザによって入力される。
図5に示される例においては、請求書データ500における「業者」フィールドが図4
における回線料金請求情報の「通信キャリア」フィールドに該当する。請求書データ500における「回線番号」フィールドが、図4における回線料金請求情報の「回線番号」フィールドに該当する。請求書データ500における「回線種類」フィールドが、図4における回線料金請求情報の「回線種別」フィールドに該当する。請求書データ500における「請求内訳」フィールドが、図4における回線料金請求情報の「請求項目」フィールドに該当する。請求書データ500における「料金」フィールドが、図4における回線料金請求情報の「請求金額」フィールドに該当する。
請求書フォーマット情報は、回線料金請求情報のレコードの各フィールドの請求書データにおける読み取り位置を指定する情報である。回線料金請求情報生成部18は、請求書フォーマット情報に指定された請求書データの位置から読み取った値を、請求書フォーマット情報によって指定された回線料金請求情報のレコードのフォーマットに格納する。
図5において、請求書データ500から、通信キャリアAの請求書フォーマット情報510が生成される。請求フォーマット情報510では、回線料金請求情報のフィールド「通信キャリア」と、CSV形式の請求書データ500のレコードにおけるフィールド位置「1」とが対応付けられる。これによって、回線料金請求情報生成部18は、請求書データ500の各レコードの1番目のフィールドの値を読み取り、回線料金請求情報の「通信キャリア」フィールドの値として格納することが可能となる。同様にして、通信キャリアAの請求書フォーマット情報510では、回線料金請求情報の他のフィールドのCSV形式の請求書データ500における読み取りフィールド位置が指定される。
また、請求書データが紙に印刷された形態で提示される場合には、請求書フォーマット情報として、回線料金請求情報の各フィールドの請求書データにおける読み取り位置を請求書データにおける各フィールド名と座標とで指定してもよい。この場合には、まず、企業のネットワーク管理者の操作によって、スキャナ等で請求書が読み込まれ、請求書データとして回線料金請求情報DB20に格納される。回線料金請求情報生成部18は、OCR(Optical Character Recognition:光学式文字認識)等を用いて、請求書フォーマッ
ト情報において指定された請求書データにおけるフィールド名を用いて、請求書データ内の該フィールドを検出する。回線料金請求情報生成部18は、検出された該フィールドの値を、請求書フォーマット情報において指定された座標からOCRを用いて読み取る。回線料金請求情報生成部18は、請求書フォーマット情報において指定された回線料金請求情報のレコードのフィールドに、読み取られた請求書データのフィールドの値を格納する。請求書データが紙媒体で提供される場合には、このようにして、共通のフォーマットのレコード群である回線料金請求情報が生成される。
(回線申込情報)
図6は、回線申込情報(履歴)の例である。回線申込情報(履歴)は、新規に回線の使用契約を申し込んだ際の、約定等に記載されている申込回線に関する情報であり、1つの契約回線につき1つのレコードが生成される。回線申込情報(履歴)は、例えば、回線申込データを作成したクライアント端末によって、回線申込データから申込回線に関する情報が抽出され、回線申込情報DB30に格納されてもよい。又は、回線申込情報(履歴)は、回線申込を行った際に、ユーザによってネットワーク上のクライアント端末から入力されてもよい。回線申込情報(履歴)は、回線申込情報(履歴)DB30に格納される。
回線申込情報の1レコードは、第1実施形態において、「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「種別1」、「種別2」、・・・、「種別n」(nは正の自然数)のフィールドを含む。「通信キャリア」、「回線番号」、「回線種別」、「回線速度」のフィールドについては、回線料金請求情報に含まれるものと同じである。
「種別1」、「種別2」、・・・、「種別n」は、各回線の固有の値であり、回線申し込み時に参照される約定等には含まれているものの、請求書データには含まれないような、契約した回線のサービス詳細を示す情報である。例えば、「種別1」、・・・、「種別2」には、距離レンジ,保守タイプ,サービス契約の有無がある。「種別1」,・・・.「種別n」は、いずれも必須の情報ではなく、一部又は全部が欠けていてもよい。
回線申込情報は、後述のtmp情報および請求金額定義情報(マスタ)を生成する際に、回線料金請求情報では情報が不足する場合に情報を補う役割を果たす。すなわち、回線申込情報は、必要に応じて用いられる。回線申込情報は、本発明の態様の一つにおける、付加情報の一例である。
(tmp情報および請求金額定義情報)
図7は、tmp情報の例を示す図である。tmp情報は、請求金額定義情報(マスタ)を作成および更新するために用いられる。tmp情報は、マスタ生成部14によって、回線料金請求情報及び回線申込情報(履歴)から得られる各フィールドの値が完全一致する複数のレコードを1つに集約して生成される。そのため、tmp情報は、レコード群である。tmp情報は、請求金額定義情報(マスタ)DB40に格納される。
tmp情報の1レコードは、「項目番号」、「詳細項目番号」、「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「請求金額」、「種別1」、・・・、「種別n」、「OKカウンタ、及び「NGカウンタ」のフィールドを含む。「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「請求金額」、「種別1」、・・・、「種別n」のフィールドは、回線料金請求情報及び回線申込情報(履歴)で説明されフィールドと同じである。
「項目番号」および「詳細項目番号」のフィールドは、tmp情報の各レコードを識別するために付与される。例えば、「通信キャリア」、「回線種別」、「回線速度」、「種別1」、・・・、「種別n」のフィールドの値がすべて一致するレコード群には、同じ項目番号が付される。詳細項目番号は、同じ項目番号が付されたレコード間で重複のないように付される。
「OKカウンタ」は、回線料金請求情報とtmp情報との照合の結果、当該tmp情報のレコードに対して、「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「請求金額」、「種別1」から「種別n」のフィールドの値がすべて一致する回線料金請求情報のレコードの数を計数するカウンタである。
「NGカウンタ」は、回線料金請求情報とtmp情報との照合の結果、当該tmp情報のレコードに対して、「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「種別1」、・・・、「種別n」のフィールドの値がすべて一致し、「請求金額」のフィールドの値が異なる回線料金請求情報のレコードの数を計数するカウンタである。
「OKカウンタ」と「NGカウンタ」との数値に基づいて、tmp情報の当該レコードの更新の要否が判定される。回線料金請求情報とtmp情報との照合処理の詳細については、後述される。
tmp情報の「項目番号」及び「詳細項目番号」のフィールドは、tmp情報の各レコードの識別情報を格納するフィールドである。「通信キャリア」及び「回線番号」は、請求書データの請求対象を識別する情報を格納するフィールドである。「回線種別」、「回線速度」、「請求項目」、「種別1」、・・・、「種別n」のフィールドは、請求書データの請求対象である商品又はサービスの請求項目を特定する情報である。tmp情報は図
7に示される例に限られず、各レコードの識別情報、請求書データの請求対象を識別する情報、及び請求書データの請求対象である商品又はサービスの請求項目を特定する情報が含まれていればよい。
なお、tmp情報のデータ構造は、図7に示される例に限られない。tmp情報は、本発明の態様の一つにおける請求書マスタの一例である。
図8は、請求金額定義情報(マスタ)の例を示す図である。請求金額定義情報(マスタ)は、通信キャリアからの請求書データによって請求される、契約回線、請求項目、請求金額等を定義する定義情報を示す。
請求金額定義情報(マスタ)は、マスタ生成部14によって、tmp情報から生成される。例えば、請求金額定義情報(マスタ)は、tmp情報の「項目番号」、「詳細項目番号」、「OKカウンタ」、及び「NGカウンタ」フィールドが取り除かれて作成される。そのため、請求金額定義情報(マスタ)はレコード群であり、1レコードは、「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「請求金額」、「種別1」、・・・、「種別n」のフィールドを含む。なお、請求金額定義情報(マスタ)のデータ構造は、図8に示される例に限られない。請求金額定義情報は、本発明の態様の一つにおける請求書マスタの一例である。
なお、tmp情報及び請求金額定義情報(マスタ)の各レコードの「種別1」から「種別n」のフィールドは、必要に応じて用いればよく、tmp情報及び請求金額定義情報(マスタ)は、回線料金請求情報のみで生成されてもよい。
(エラー情報)
図9A及び図9Bは、エラー情報の例を示す図である。エラー情報は、tmp情報と回線料金請求情報との照合処理において、tmp情報に含まれるレコード及び回線料金請求情報のエラーの可能性があるレコードを有する。
エラー情報は、大きく、請求金額定義情報エラーと回線料金請求情報エラーとに分けられる。図9Aは、請求金額定義情報エラーの例を示す。請求金額定義情報エラーは、tmp情報と回線料金請求情報との照合処理の結果、エラーの可能性がある請求金額定義情報(マスタ)のレコードが含まれる。
図9Bは、回線料金請求情報エラーの例を示す。回線料金請求情報エラーは、tmp情報と回線料金請求情報との照合の結果、エラーの可能性がある回線料金請求情報のレコードが含まれる。なお、エラー情報は図9A及び図9Bに示される例に限られず、エラーの可能性があるレコードが特定できるだけの情報が含まれているのみでもよい。エラーの可能性があるレコードが特定できる情報は、例えば、回線料金請求情報のエラーの可能性があるレコードの「識別子」フィールドの値と、tmp情報のエラーの可能性があるレコードの「項目番号」と「詳細項目番号」とのフィールドの値と、であってもよい。
エラー情報を確認した企業ネットワークの管理者は、エラー情報によって示される回線料金請求情報及びtmp情報のレコードを確認し、間違いがあるか否かを確認することができる。
<<回線料金請求情報の生成>>
図10は、回線料金請求情報の生成処理のフローの例を示す図である。回線料金請求情報は、請求書フォーマット情報生成部17、請求情報読取部11、及び回線料金請求情報生成部18の協働によって行われる。
請求書フォーマット情報生成部17は、例えば、企業ネットワークの管理者による操作端末からの情報の入力に応じて、通信キャリアごとの請求書フォーマット情報を生成する(OP1)。請求書フォーマット情報生成部17は、請求書フォーマットを回線料金請求情報DB20に格納する。
請求情報読取部11は、回線料金請求情報DB20に保持される請求書データを読み込み、回線料金請求情報生成部18に出力する。回線料金請求情報生成部18は、読み込まれた請求書データから回線料金請求情報を生成する(OP2)。例えば、請求書データがCSV形式の電子データであって、回線料金請求情報DB20に格納されている場合には、請求情報読取部11は、回線料金請求情報DB20から請求書データを1ファイルずつ読み込む。例えば、請求書データが紙媒体である場合には、請求情報読取部11は、スキャナ及びOCRを介して請求書データを1枚ずつ読み込む。
回線料金請求情報生成部18は、各通信キャリアの請求書フォーマット情報と読み込まれた請求書データとを照合して、使用する請求書フォーマット情報を決定する。例えば、回線料金請求情報生成部18は、請求書データを、各通信キャリアの請求書フォーマット情報を用いて読み込みを試行することで、請求書データと各通信キャリアの請求書フォーマットを照合する。また、例えば、回線料金請求情報生成部18は、請求書データに含まれる「通信キャリア」の相当するフィールドの値を、まず読み取って通信キャリアを判別し、該当する請求書フォーマットを決定する。
回線料金請求情報生成部18は、決定した請求書フォーマット情報に指定された請求書データの位置から値を抽出し、請求書フォーマット情報に指定された回線料金請求情報のレコードのフィールドに抽出した値を格納して読み込まれた請求書データから情報回線料金請求情報を生成する。なお、使用する請求書フォーマット情報は、ユーザによって指定されてもよい。
読み込みエラーが発生した場合には(OP3:Yes)、回線料金請求情報生成部18は、読み込みエラーが発生した際に使用していた請求書フォーマット情報等の情報を読み取りエラー情報として出力する(OP4)。読み込みエラーは、例えば、操作端末からの情報の入力に基づいて作成された請求書フォーマット情報に間違いがあり、該請求書データに対応すべき請求書フォーマット情報を用いた際にデータ構造が合致せず請求書データを読み込めない場合に発生する。この場合には、読み込まれた請求書データがいずれの請求書フォーマット情報にも合致せず、回線料金請求情報生成部18は、読み取りエラーを検出する。例えば、請求情報読取部11は、企業ネットワークの管理者の操作端末に読み取りエラー情報を送信して該操作端末のディスプレイに表示させてもよいし、ファイルに出力してもよい。管理者は読み取りエラーを確認することによって、請求書フォーマット情報を修正することができる。
読み込みエラーなく請求書データの読み取りが終了した場合(OP3:No)、及び、読み込みエラーの出力が終了した場合には(OP4)、請求情報読取部11は、未処理の請求書データがあるか否かを判定する(OP5)。未処理の請求書データがある場合には(OP5:Yes)、請求情報読取部11は、OP2に戻って、未処理の請求書データがなくなるまで、OP2からOP4の処理が繰り返される。
未処理の請求書データがない場合には(OP5:No)、回線料金請求情報生成部18は、生成された回線料金請求情報を回線料金請求情報DB20に格納する。
なお、図10に示される処理によって生成される回線料金請求情報は、1回の回線料金
請求情報の生成処理で読み込まれる全ての請求書データのレコードを含む。これに限らず、例えば、1つの請求書データ(CSV形式のファイル単位、紙ベース請求書単位等)につき1つの回線料金請求情報が生成されてもよいし、通信キャリア毎に分類された複数の請求書データにつき1つの回線料金請求情報が生成されてもよい。
<<請求金額定義情報(マスタ)の生成>>
(請求金額定義情報(マスタ)の初期構築処理のフロー)
図11は、請求金額定義情報(マスタ)の初期構築処理のフローの例を示す図である。請求金額定義情報(マスタ)の初期構築処理は、請求情報読取部11、請求情報解析部12、履歴読込部13、マスタ生成部14の協働によって行われる。また、図11においては、図4に示される回線料金請求情報と図6に示される回線申込情報(履歴)とから、図7に示されるtmp情報及び図8に示される請求金額定義情報(マスタ)が生成される場合を例として説明される。請求書データ検査装置1は、例えば、ユーザからの指示によって、請求金額定義情報(マスタ)の生成処理を実行する。
請求情報読取部11は、回線料金請求情報に含まれるレコードのうちの1レコードを回線料金請求情報DB20から取り込む(OP11)。例えば、請求情報読取部11は、図4に示される回線料金請求情報の先頭レコードから順に1レコード取り込む。請求情報読取部11は、取り込まれた回線料金請求情報の1レコードを請求情報解析部12に出力する。
請求情報解析部12は、請求情報読取部11から回線料金請求情報の1レコードが入力されると、該レコードの「通信キャリア」と「回線番号」との両方のフィールドの値が一致する回線申込情報(履歴)のレコードから、「種別1」から「種別n」のフィールドの値を取得する(OP12)。請求情報解析部12は、履歴読込部13を通じて、回線申込情報(履歴)DB30から、取り込まれた回線料金請求情報の1レコードに対応する「種別1」から「種別n」のフィールドの値を取得する。以降、取り込まれた回線料金請求情報の1レコードに含まれるフィールドと、取り込まれた回線料金請求情報の1レコードに対応する「種別1」から「種別n」のフィールドとを含むレコードを、判定用レコードと称する。
請求情報解析部12は、tmp情報の登録レコードを読み込む(OP13)。請求情報解析部12は、判定用レコードと、tmp情報の登録レコードとを比較する。請求情報解析部12は、tmp情報の登録レコード群のなかに、判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値がすべて一致するレコードがあるか否かを判定する(OP14)。
tmp情報の登録レコード群の中に、判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値がすべて一致するレコードがない場合には(OP14:No)、判定用レコードが新しいパターンであることが示される。この場合、請求情報解析部12は、判定用レコードをtmp情報に登録することを判定し、判定用レコードをマスタ生成部14に通知する。例えば、初期状態では、tmp情報にはレコードが登録されていないので、判定用レコードと「通信キャリア」の値が一致するtmp情報のレコードは存在せず、判定用レコードはtmp情報に登録される。
通知を受けると、マスタ生成部14は、判定用レコードの請求パターンをtmp情報に登録するために、「項目番号」と「詳細項目番号」とのフィールドの値を取得する(OP15)。判定用レコードと、「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値がすべて一致するtmp情報の登録レコードはないので、取得される「項目番号」の値は、tmp情報に登録されているレコード群の「項目番号」の最大値に
1を加算した新規の値である。また、このとき取得される「詳細項目番号」の値は、1である。
次に、マスタ生成部14は、取得した「項目番号」及び「詳細項目番号」と、判定用レコードの「通信キャリア」、「回線種別」、「回線速度」、「回線項目」、「請求金額」、及び「種別1」〜「種別n」と、回線申込情報(履歴)から得られた「種別1」から「種別n」の値と、をtmp情報に登録する(OP18)。
請求情報読取部11は、判定用レコードに対応する回線料金請求情報の1レコードが、回線料金請求情報の最後のレコードか否かを判定する(OP19)。すなわち、請求情報読取部11は、回線料金請求情報に含まれる全てのレコードについて、処理が終了したか否かを判定する。
判定用レコードに対応する回線料金請求情報の1レコードが、回線料金請求情報に含まれる最後のレコードでない場合には(OP19:No)、処理がOP11に戻り、請求情報読取部11は、回線料金請求情報から次の1レコードを取り込む。
判定用レコードに対応する回線料金請求情報の1レコードが、回線料金請求情報に含まれる最後のレコードである場合には(OP19:Yes)、請求情報読取部11は、回線料金請求情報に含まれる全てのレコードの処理終了をマスタ生成部14に通知する。通知を受けると、マスタ生成部14は、tmp情報を請求金額定義情報(マスタ)に反映させる(OP20)。マスタ生成部14は、生成された請求金額定義情報(マスタ)とtmp情報とを請求金額定義情報DB40に格納する。
OP14において、tmp情報の登録レコード群に、判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値がすべて一致するレコードがある場合には(OP14:Yes)、請求情報解析部12は、加えて「請求項目」と「請求金額」との値も一致するレコードがあるか否かを判定する(OP16)。
判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」に加えて「請求項目」と「請求金額」の値も一致するtmp情報の登録レコードがある場合には(OP16:Yes)、判定用レコードと同じ請求パターンが既にtmp情報に登録されていることが示される。その後、処理がOP19に進む。
判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」はすべて一致するtmp情報の登録レコードはあるものの、「請求項目」と「請求金額」の値までもが一致するtmp情報の登録レコードがない場合には(OP16:No)、判定用レコードは新しい請求パターンであることが示される。この場合、請求情報解析部12は、判定用レコードをtmp情報に登録することを判定し、判定用レコードをマスタ生成部14に通知する。
通知を受けると、マスタ生成部14は、取り込まれた回線料金請求情報の1レコードの請求パターンをtmp情報に登録するために、「項目番号」と「詳細項目番号」との値を取得する(OP17)。OP14において、tmp情報には、「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値全てが一致するレコードが既に登録されていることが示されている。したがって、マスタ生成部14は、「項目番号」の値として、「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値が全て一致するtmp情報の登録レコード群の「項目番号」の値を取得する。また、マスタ生成部14は、「詳細項目番号」の値として、「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値が全て一致するtmp情報の登録レコード群の「詳
細項目番号」の値の最大値に1を加算した値を取得する。
マスタ生成部14は、取得した「項目番号」及び「詳細項目番号」と、判定用レコードの「通信キャリア」、「回線種別」、「回線速度」、「回線項目」、「請求金額」、及び「種別1」〜「種別n」と、回線申込情報(履歴)から得られた「種別1」から「種別n」の値と、をtmp情報に登録する(OP18)。その後処理がOP19に進む。
以上のようにして、回線料金請求情報に含まれる未処理のレコードがなくなるまで、OP11からOP19の処理が繰り返されて、例えば、図7に示されるtmp情報及び図8に示される請求料金定義情報(マスタ)が生成される。
(動作例)
初期状態において、図4に示される回線料金請求情報から図7に示されるtmp情報が生成される場合の処理について説明する。
初期状態において、回線料金請求情報の「識別コード」が「0001」のレコードと、「通信キャリア」、「回線種別」、「回線速度」、「種別1」から「種別n」の値がすべて一致するレコードは、tmp情報には存在しない。したがって、請求情報解析部12は、回線料金請求情報の「識別コード」が「0001」のレコードをtmp情報に追加することを決定する(図11、OP14:No)。この場合、マスタ生成部14は、「項目番号」として「1」、「詳細項目番号」として「1」を取得し(図11、OP15)、tmp情報に登録する(図11、OP18)。
回線料金請求情報の「識別コード」が「0002」のレコードが読み込まれた場合には、該レコードは、tmp情報の「項目番号」の値が「1」、「詳細項目番号」の値が1であるレコードと、「通信キャリア」、「回線種別」、「回線速度」、「種別1」から「種別n」の値が一致し、「請求項目」と「請求金額」との値が異なる(図11、OP14:Yes、OP16:No)。したがって、請求情報解析部12は、回線料金請求情報の「識別コード」が「0002」のレコードをtmp情報に追加することを決定する。この場合、該レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別1」から「種別n」の値が一致するレコードが存在するので、マスタ生成部14は、「項目番号」として「1」を取得する。また、該レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別1」から「種別n」に加えて「請求項目」及び「請求金額」の値が一致するレコードは存在しないので、「詳細項目番号」として「2」を取得する(図11、OP17)。すなわち、回線料金請求情報の「識別コード」が「0002」のレコードは、「項目番号」が「1」、「詳細項目番号」が「2」としてtmp情報に登録される(図11、OP18)。
回線料金請求情報の「識別コード」が「0002」のレコードと同様にして、回線料金請求情報の「識別コード」が「0003」及び「0004」のレコードもtmp情報に追加される。
回線料金請求情報の「識別コード」が「0005」のレコードが読み込まれた場合には、該レコードと、「通信キャリア」、「回線種別」、「回線速度」、「種別1」から「種別n」の値が一致するtmp情報のレコードは存在しない(図11、OP14:No)。したがって、請求情報解析部12は、回線料金請求情報の「識別コード」が「0005」のレコードをtmp情報に追加することを決定する(図11、OP14:No)。この場合、「項目番号」1は使用されているので、マスタ生成部14は、「項目番号」として「2」、「詳細項目番号」として「1」を取得し(図11、OP15)、tmp情報に登録する(図11、OP18)。
回線料金請求情報の「識別コード」が「0006」のレコードが読み込まれた場合には、該レコードは、tmp情報の「項目番号」の値が「2」、「詳細項目番号」の値が「1」であるレコードと、「通信キャリア」、「回線種別」、「回線速度」、「種別1」から「種別n」の値が一致し、「請求項目」と「請求金額」との値が異なる(図11、OP14:Yes、OP16:No)。したがって、請求情報解析部12は、回線料金請求情報の「識別コード」が「0006」のレコードをtmp情報に追加することを決定する。この場合、回線料金請求情報の「識別コード」が「0006」のレコードは、tmp情報の「項目番号」が「2」、詳細項目番号」が「1」のレコードと「通信キャリア」、「回線種別」、「回線速度」、「種別1」から「種別n」の値が一致するので、マスタ生成部14は、「項目番号」として「2」、「詳細項目番号」として「2」を取得し(図11、OP17)、tmp情報に登録する(図11、OP18)。
回線料金請求情報の「識別コード」が「0006」のレコードと同様にして、回線料金請求情報の「識別コード」が「0007」及び「0008」のレコードもtmp情報に追加される。
回線料金請求情報の「識別コード」が「0009」のレコードは、回線料金請求情報の「識別コード」が「0005」のレコードと同様にして、tmp情報に登録される。また、回線料金請求情報の「識別コード」が「0010」から「0012」のレコードは、回線料金請求情報の「識別コード」が「0006」から「0008」のレコードと同様にして、tmp情報に登録される。
回線料金請求情報の「識別コード」が「0013」のレコードが読み込まれた場合には、該レコードは、tmp情報の「項目番号」が「1」、「詳細項目番号」が「1」のレコードと、「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「請求料金」、「種別1」から「種別n」の値が一致する(図11、OP14:Yes、OP16:Yes)。したがって、請求情報解析部12は、回線料金請求情報の「識別コード」が「0013」のレコードはtmp情報に追加しない。
回線料金請求情報の「識別コード」が「0014」から「0016」のレコードは、それぞれ、「通信キャリア」、「回線種別」、「回線速度」、「種別1」から「種別n」の値が一致するレコードがtmp情報に存在する(図11、OP14:Yes、OP16:Yes)。したがって、請求情報解析部12は、回線料金請求情報の「識別コード」が「0014」から「0016」のレコードはtmp情報に追加しない。
以上のようにして、図4に示される回線料金請求情報のレコードすべてについて処理が行われ、図7に示されるtmp情報が生成される。
<<請求書データ検査処理及び請求金額定義情報(マスタ)の更新処理>>
図12A及び図12Bは、請求書データ検査処理及び請求金額定義情報(マスタ)の更新処理のフローの例を示す図である。請求書データ検査処理及び請求金額定義情報(マスタ)の更新処理は、請求情報読取部11、請求情報解析部12、履歴読込部13、マスタ生成部14、請求評価部15、及び評価結果出力部16の協働によって行われる。また、図12A及び図12Bにおいては、図4に示される回線料金請求情報の請求書データ検査処理と、図7に示されるtmp情報及び図8に示される請求金額定義情報(マスタ)の更新処理とを例として説明される。
請求情報読取部11は、回線料金請求情報に含まれるレコードのうちの1レコードを回線料金請求情報DB20から取り込む(OP31)。例えば、請求情報読取部11は、図
4に示される回線料金請求情報の先頭レコードから順に1レコード取り込む。請求情報読取部11は、取り込まれた回線料金請求情報の1レコードを請求情報解析部12に出力する。
請求情報解析部12は、請求情報読取部11から回線料金請求情報の1レコードが入力されると、該レコードと「通信キャリア」と「回線番号」とが一致する回線申込情報(履歴)のレコードから「種別1」から「種別n」のフィールドの値を取得する(OP32)。請求情報解析部12は、履歴読込部13を通じて、回線申込情報(履歴)DB30から、取り込まれた回線料金請求情報の1レコードに対応する「種別1」から「種別n」のフィールドの値を取得する。以降、取り込まれた回線料金請求情報の1レコードに含まれる各フィールドと、回線申込情報(履歴)のレコードから「種別1」から「種別n」のフィールドとを含むレコードを、検査用レコードと称する。
請求情報解析部12は、tmp情報の登録レコードを読み込む(OP33)。請求情報解析部12は、検査用レコードと、tmp情報の登録レコードとを比較する。請求情報解析部12は、tmp情報の登録レコード群のなかに、検査用レコードと「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「種別1」〜「種別n」の値がすべて一致するレコードがあるか否かを判定する(OP34)。
tmp情報の登録レコード群の中に、検査用レコードと「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「種別1」〜「種別n」の値がすべて一致するレコードがない場合には(OP34:No)、検査用レコードが新しいパターンであることが示される。この場合、請求情報解析部12は、検査用レコードをtmp情報に登録することを判定し、検査用レコードをマスタ生成部14に通知する。
通知を受けると、マスタ生成部14は、検査用レコードの請求パターンをtmp情報に登録するために、「項目番号」と「詳細項目番号」との値を取得する(OP36)。検査用レコードと、「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値がすべて一致するtmp情報の登録レコードがない場合には、取得される「項目番号」の値は、tmp情報に登録されているレコード群の「項目番号」の最大値に1を加算した新規の値である。また、このとき取得される「詳細項目番号」の値は、1である。「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値が全て一致するレコードが既にtmp情報に登録されている場合には、取得される「項目番号」の値は、「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値が全て一致するtmp情報の登録レコード群の「項目番号」の値である。また、取得される「詳細項目番号」の値は、「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値が全て一致するtmp情報の登録レコード群の「詳細項目番号」の値の最大値に1を加算した値である。
次に、マスタ生成部14は、取得した「項目番号」及び「詳細項目番号」と、検査用レコードの「通信キャリア」、「回線種別」、「回線速度」、「回線項目」、「請求金額」、及び「種別1」〜「種別n」と、回線申込情報(履歴)から得られた「種別1」から「種別n」の値と、をtmp情報に登録する(OP37)。その後処理がOP42に進む。
OP34において、tmp情報の登録レコード群に、検査用レコードと「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「種別1」〜「種別n」の値がすべて一致するレコードがある場合には(OP34:Yes)、請求情報解析部12は、加えて「請求金額」の値も一致するレコードがあるか否かを判定する(OP38)。
検査用レコードと「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「
種別1」〜「種別n」に加えて「請求金額」の値も一致するtmp情報の登録レコードがある場合には(OP38:Yes)、請求情報解析部12は、tmp情報の該当レコードの「OKカウンタ」に1を加算する(OP41)。この場合には、検査用レコードに対応する回線料金請求情報のレコード及び該当のtmp情報の登録レコードにエラーがないことが示される。その後、処理がOP42に進む。
検査用レコードと「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「種別1」〜「種別n」の値が全て一致するものの、「請求金額」の値は一致しないtmp情報の登録レコードがある場合には(OP38:No)、請求情報解析部12は、tmp情報の該当レコードの「NGカウンタ」に1を加算する(OP39)。この場合には、検査用レコードに対応する回線料金請求情報のレコードの「請求金額」の値又は該当のtmp情報の登録レコードの「請求金額」の値の何れかにエラーの可能性があることが示される。請求情報解析部12は、検査用レコードに対応する回線料金請求情報の1レコードをエラー情報に登録する(OP40)。その後処理がOP42に進む。
請求情報読取部11は、検査用レコードに対応する回線料金請求情報のレコードが、回線料金請求情報の最後のレコードか否かを判定する(OP42)。すなわち、請求情報読取部11は、回線料金請求情報に含まれる全てのレコードについて、処理が終了したか否かを判定する。
検査用レコードに対応する回線料金請求情報のレコードが、回線料金請求情報に含まれる最後のレコードでない場合には(OP42:No)、処理がOP31に戻り、請求情報読取部11は、回線料金請求情報から次の1レコードを取り込む。その後、回線料金請求情報に含まれる全てのレコードの処理が終了するまで、OP31からOP42の処理が繰り返される。
検査用レコードに対応する回線料金請求情報のレコードが、回線料金請求情報に含まれる最後のレコードである場合には(OP42:Yes)、請求情報読取部11は、回線料金請求情報に含まれる全てのレコードの処理終了を請求評価部15に通知する。
通知を受けると、請求評価部15は、tmp情報から1レコード読み込む(OP43)。例えば、請求評価部15は、tmp情報の先頭から順に1レコード読み込む。
請求評価部15は、読み込んだtmp情報のレコードの「NGカウンタ」の値が0であるか否かを判定する(OP44)。
読み込んだtmp情報のレコードの「NGカウンタ」の値が0である場合には(OP44:Yes)、請求評価部15は、当該tmp情報のレコードにエラーがないことを判定
する。請求評価部15は、tmp情報の次のレコードを読み込む(OP43)。
読み込んだtmp情報のレコードの「NGカウンタ」の値が0でない場合には(OP44:No)、請求評価部15は、読み込んだtmp情報のレコードの「OKカウンタ」の値が0であるか否かを判定する(OP45)。
読み込んだtmp情報のレコードの「NGカウンタ」の値が0ではなく、且つ、「OKカウンタ」の値が0である場合には(OP45:Yes)、読み込んだtmp情報のレコ
ードと、「通信キャリア」,「回線種別」,「回線速度」,「請求項目」,及び「種別1」から「種別n」の値がすべて一致する回線料金請求情報のレコードはあるものの、「請求金額」の値が一致する回線料金請求情報のレコードがなかったことが示される。この場合、読み込んだtmp情報のレコードの「請求金額」の値がエラーである可能性が高いこ
とが示され、請求評価部15は、tmp情報の当該レコードの「請求情報」の値を更新する(OP46)。例えば、請求評価部15は、読み込んだtmp情報と「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「請求項目」、「種別1」から「種別n」の値がすべて一致する回線料金請求情報のレコードの「請求金額」の値で、読み込んだtmp情報のレコードの「請求金額」の値を上書きして、tmp情報の当該レコードを更新する。また、請求評価部15は、エラー情報内の当該tmp情報のレコードをエラー情報に登録する(OP47)。その後、処理がOP48に進む。
読み込んだtmp情報のレコードの「NGカウンタ」の値が0ではなく、且つ、「OKカウンタ」の値も0でない場合には(OP45:No)、請求評価部15は、tmp情報
の当該レコードをエラー情報に追加する(OP47)。この場合、読み込んだtmp情報のレコードと、回線料金請求情報のレコードとのいずれにもエラーの可能性があることが示される。なお、このとき、エラー情報には、tmp情報の当該レコードと、「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「請求項目」、「種別1」から「種別n」の値が全て一致し、「請求金額」の値が一致しない回線料金請求情報のレコードも登録されている。
OP47の処理が終了すると、請求評価部15は、読み込んだtmp情報のレコードが最後のレコードであるか否かを判定する(OP48)。すなわち、請求評価部15は、tmp情報の全てのレコードについて、OP43からOP47の処理が行われたか否かを判定する。
読み込んだtmp情報のレコードが最後のレコードでない場合には(OP48:No)
、請求評価部15は、次のtmp情報のレコードを読み込む(OP43)。tmp情報に含まれる全てのレコードについて処理が終わるまで、OP43からOP47の処理が繰り返される。
読み込んだtmp情報のレコードが最後のレコードである場合には(OP48:Yes)、マスタ生成部14は、tmp情報を回線料金定義情報(マスタ)に反映させる(OP49)。評価結果出力部16は、エラー情報を出力する(OP50)。例えば、評価結果出力部16は、ユーザが使用するクライアント端末にエラー情報を送信し、ディスプレイに表示させてもよいし、エラー情報をファイルに出力してもよい。
エラー情報には、エラーの可能性のあるtmp情報のレコード、及びエラーの可能性のある回線料金請求情報のレコードが含まれるので、ユーザは、エラー情報を参照することにより、エラーの可能性のあるレコードを特定し、確認又は修正することができる。例えば、ユーザが請求料金定義情報(マスタ)のエラーを修正する場合には、エラー情報に示された項目番号と詳細項目番号が指定されると、請求書データ検査装置1は、対応する請求料金定義情報(マスタ)のレコードを出力する。該レコードが修正されると、請求書データ検査装置1は、請求料金定義情報(マスタ)の該当レコードに対応するtmp情報のレコードに修正内容を反映させて、請求金額料金定義情報(マスタ)とtmp情報との整合性を保つ。
<<第1実施形態の作用効果>>
第1実施形態の請求書データ検査装置は、通信キャリアから送られる回線の使用契約に対する請求書データから請求金額定義情報(マスタ)(tmp情報)を生成する。これによって、企業ネットワークの管理者やオペレータは請求書フォーマット情報と請求書データを請求書データ検査装置に入力すれば、請求金額定義情報(マスタ)が生成されるので、請求書データの管理業務の(1)請求金額定義情報(マスタ)初期構築業務を自動化することができる。また、(1)請求金額定義情報(マスタ)初期構築業務における、請求
書データを入力する等の企業ネットワークの管理者やオペレータの処理負荷を軽減することができる。また、ユーザによる請求書データの入力ミスを防ぐことができる。
また、第1実施形態の請求書データ検査装置は、請求金額定義情報(マスタ)(又はtmp情報)を用いて通信キャリアから提示される請求書データ検査を行う。この際、企業ネットワークの管理者やオペレータは、通信キャリアから提示される請求書データを請求書データ検査装置に入力する操作を行うだけでよく、請求書データの管理業務の(3)回線料金検査業務を自動化することができ、請求書チェックの利便性が図られ、請求書データのチェック誤りやチェック漏れ等を低減することができる。
また、第1実施形態の請求書データ検査装置は、請求書データの検査が終わると、tmp情報の各レコードの「OKカウンタ」と「NGカウンタ」との値をチェックする。「OKカウンタ」の値が0で、「NGカウンタ」の値が1以上である場合には、請求書データ検査装置は、該当するtmp情報レコードを更新し、これによって、請求金額定義情報(マスタ)も更新される。これによって、請求書データの管理業務の(4)請求金額定義情報(マスタ)更新業務の一部を自動化することができ、ユーザによる請求金額定義情報(マスタ)のメンテナンス頻度を低減することができる。
また、第1実施形態の請求書データ検査装置は、「OKカウンタ」及び「NGカウンタ」のいずれの値も1以上である場合には、エラー情報として、エラーの可能性があるtmp情報のレコード及び回線料金請求情報のレコードを出力する。これによって、エラー情報を確認したユーザに、エラーの可能性があるtmp情報のレコード及び回線料金請求情報のレコードの確認を促すことができ、エラーの検出が容易になる
以上のように、第1実施形態の請求書データ検査装置によれば、請求書データの管理業
務の一部を自動化することができ、人為ミスを低減することができる。また、請求データの管理業務の運用コストを軽減することができる。
<変形例>
第1実施形態では、tmp情報と回線料金請求情報とで、「請求金額」以外のフィールドの値が一致し、「請求金額」のフィールドの値のみが一致しないレコードがエラーの可能性のあるレコードとしてエラー情報に含まれて出力された。これによって、第1実施形態において説明された請求書データ検査処理によれば、請求書データに含まれる請求金額の記載間違いなどのエラーは検出可能である。
変形例では、tmp情報に「回線番号」の値を追加することで、請求書データ検査装置は、請求書データ検査処理において、回線料金請求情報のレコードの「回線番号」の値がtmp情報のレコードと一致するか否かも判定する。通常、通信キャリアと回線番号とが回線料金請求情報のレコードとtmp情報のレコードと一致していながら他のフィールドの値が一致しないことはあまり考えられない。変形例では、例えば、請求書データに記載されている回線番号に対応する請求内容が、実際の契約の請求内容と異なるような、通信キャリアの請求書データにおける請求金額以外の記載間違いを検出する。
図13は、変形例におけるtmp情報の例を示す。変形例では、第1実施形態とは異なり、tmp情報に「回線番号」フィールドを有する。
図14は、変形例における、請求金額定義情報(マスタ)の初期構築処理のフローの例を示す図である。
OP61からOP63までの処理は、第1実施形態の請求金額定義情報(マスタ)の初期構築処理における図11のOP11からOP13までの処理と同様であるので、説明を
省略する。
請求情報解析部12は、OP61において判定用レコードと、tmp情報の登録レコードとを比較する。請求情報解析部12は、tmp情報に、判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」に加えて「回線番号」の値がすべて一致するレコードがあるか否かを判定する(OP64)。
tmp情報の登録レコード群の中に、判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」に加えて「回線番号」の値がすべて一致するレコードがない場合には(OP64:No)、判定用レコードが新しいパターンであることが示される。この場合、請求情報解析部12は、判定用レコードをtmp情報に登録することを判定し、判定用レコードをマスタ生成部14に通知する。
通知を受けると、マスタ生成部14は、判定用レコードの請求パターンをtmp情報に登録するために、「項目番号」と「詳細項目番号」との値を取得する(OP65)。判定用レコードと、「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値がすべて一致するtmp情報の登録レコードはないので、取得される「項目番号」の値は、tmp情報に登録されているレコード群の「項目番号」の最大値に1を加算した新規の値である。また、このとき取得される「詳細項目番号」の値は、1である。
次に、マスタ生成部14は、取得した「項目番号」及び「詳細項目番号」と、判定用レコードの「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「回線項目」、「請求金額」、及び「種別1」〜「種別n」と、回線申込情報(履歴)から得られた「種別1」から「種別n」の値と、をtmp情報に登録する(OP68)。
tmp情報に、判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別1」〜「種別n」に加えて「回線番号」の値がすべて一致するレコードがある場合には(OP64:Yes)、請求情報解析部12は、加えて「請求項目」と「請求金額」の値も一致するレコードがあるか否かを判定する(OP66)。
判定用レコードと「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「種別1」〜「種別n」に加えて「請求項目」と「請求金額」の値も一致するtmp情報の登録レコードがある場合には(OP66:Yes)、判定用レコードと同じ請求パターンが既にtmp情報に登録されていることが示される。その後、処理がOP69に進む。
判定用レコードと「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「種別1」〜「種別n」は一致するtmp情報の登録レコードはあるものの、「請求項目」と「請求金額」の値までもが一致するtmp情報の登録レコードがない場合には(OP66:No)、判定用レコードは新しい請求パターンであることが示される。この場合、請求情報解析部12は、判定用レコードをtmp情報に登録することを判定し、判定用レコードをマスタ生成部14に通知する。
通知を受けると、マスタ生成部14は、判定用レコードの請求パターンをtmp情報に登録するために、「項目番号」と「詳細項目番号」との値を取得する(OP67)。OP64において、tmp情報には、「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値がすべて一致するレコードが既に登録されていることが示されている。したがって、マスタ生成部14は、「項目番号」の値として、「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値が全て一致するtmp情報の登録レコード群の「項目番号」の値を取得する。また、マ
スタ生成部14は、「詳細項目番号」の値として、判定用レコードと「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「種別1」〜「種別n」の値が全て一致するtmp情報の登録レコード群の「詳細項目番号」の値の最大値に1を加算した値を取得する。
マスタ生成部14は、取得した「項目番号」及び「詳細項目番号」と、判定用レコードの「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「回線項目」、「請求金額」、及び「種別1」〜「種別n」と、回線申込情報(履歴)から得られた「種別1」から「種別n」の値と、をtmp情報に登録する(OP68)。その後処理がOP69に進む。
OP69では、図11のOP19の処理と同様にして、請求情報読取部11は、判定用レコードに対応する回線料金請求情報の1レコードが、回線料金請求情報の最後のレコードか否かを判定する(OP69)。
判定用レコードに対応する回線料金請求情報の1レコードが、回線料金請求情報に含まれる最後のレコードでない場合には(OP69:No)、処理がOP61に戻り、請求情報読取部11は、回線料金請求情報から次の1レコードを取り込む。
判定用レコードに対応する回線料金請求情報の1レコードが、回線料金請求情報に含まれる最後のレコードである場合には(OP69:Yes)、請求情報読取部11は、回線料金請求情報に含まれる全てのレコードの処理終了をマスタ生成部14に通知する。通知を受けると、マスタ生成部14は、tmp情報を請求金額定義情報(マスタ)に反映させる(OP70)。マスタ生成部14は、例えば、tmp情報の「項目番号」、「詳細項目番号」、「回線番号」を削除し、「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「種別1」〜「種別n」の値がすべて同じである複数のレコード1つに集約して、tmp情報を請求金額定義情報(マスタ)に反映させる。このようにして生成された請求料金定義情報(マスタ)は、第1実施形態において説明された請求料金定義情報(マスタ)(図8)と同様になる。マスタ生成部14は、生成された請求金額定義情報(マスタ)とtmp情報とを請求金額定義情報DB40に格納する。
図15は、変形例における請求書データ検査処理及び請求金額定義情報(マスタ)の更新処理のフローの例を示す図である。
OP81からOP83までの処理は、第1実施形態の請求書データ検査処理及び請求金額定義情報(マスタ)の更新処理における図12AのOP31からOP33までの処理と同様であるので、説明を省略する。
請求情報解析部12は、tmp情報の登録レコード群のなかに、検査用レコード(OP82)と、「通信キャリア」及び「回線番号」の両方の値が一致するレコードがあるか否かを判定する(OP84)。
tmp情報の登録レコード群のなかに、検査用レコードと、「通信キャリア」及び「回線番号」の両方の値が一致するレコードがない場合には(OP84:No)、検査用レコードが新しいパターンであることが示される。この場合、請求情報解析部12は、検査用レコードをtmp情報に登録することを判定し、検査用レコードをマスタ生成部14に通知する。
通知を受けると、マスタ生成部14は、検査用レコードの請求パターンをtmp情報に登録するために、「項目番号」と「詳細項目番号」との値を取得する(OP85)。検査
用レコードと、「通信キャリア」及び「回線番号」の両方の値が一致するtmp情報の登録レコードがない場合には、取得される「項目番号」の値は、tmp情報に登録されているレコード群の「項目番号」の最大値に1を加算した新規の値である。また、このとき取得される「詳細項目番号」の値は、1である。
次に、マスタ生成部14は、取得した「項目番号」及び「詳細項目番号」と、検査用レコードの「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「回線項目」、「請求金額」、及び「種別1」〜「種別n」と、回線申込情報(履歴)から得られた「種別1」から「種別n」の値と、をtmp情報に登録する(OP86)。
tmp情報の登録レコード群のなかに、検査用レコードと、「通信キャリア」及び「回線番号」の両方の値が一致するレコードがある場合には(OP84:Yes)、請求情報解析部12は、「通信キャリア」、「回線番号」に加えて、「回線種別」、「回線速度」、「回線項目」及び「種別1」〜「種別n」の値がすべて一致するレコードが存在するか否かを判定する(OP87)。
tmp情報の登録レコード群のなかに、検査用レコードと、「通信キャリア」及び「回線番号」に加えて、「回線種別」、「回線速度」、「回線項目」及び「種別1」〜「種別n」の値がすべて一致するレコードが存在しない場合には(OP87:No)、請求情報解析部12は、検査用レコードに対応する回線料金請求情報のレコードをエラー情報に登録する(OP90)。検査用レコードが、tmp情報のレコードと「通信キャリア」と「回線番号」とが一致するにもかかわらず、「回線種別」、「回線速度」、「回線項目」及び「種別1」〜「種別n」の一部または全部の値が一致しない場合には、検査用レコードに対応する回線料金請求情報のレコードにエラーがあることが示される。「回線種別」、「回線速度」、「回線項目」及び「種別1」〜「種別n」の値が通信キャリア側で変更される場合には、サービス自体が変更になるため、通常は、通信キャリアと新たに契約することになる。その場合、「回線番号」も新しくなるため、検査用レコードとtmp情報とが「通信キャリア」と「回線番号」とが一致するにもかかわらず、「回線種別」、「回線速度」、「回線項目」及び「種別1」〜「種別n」の一部または全部の値が一致しない場合には、請求書データにエラーがあったことが示される。
tmp情報の登録レコード群のなかに、検査用レコードと、「通信キャリア」及び「回線番号」に加えて、「回線種別」、「回線速度」、「回線項目」及び「種別1」〜「種別n」の値がすべて一致するレコードが存在する場合には(OP87:Yes)、請求情報解析部12は、さらに「請求金額」も一致するレコードが存在するか否かを判定する(OP88)。
検査用レコードと「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「請求項目」、「種別1」〜「種別n」に加えて「請求金額」の値も一致するtmp情報の登録レコードがある場合には(OP88:Yes)、請求情報解析部12は、tmp情報の該当レコードの「OKカウンタ」に1を加算する(OP91)。この場合には、検査用レコードに対応する回線料金請求情報の1レコード及び該当のtmp情報の登録レコードにエラーがないことが示される。
検査用レコードと「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「請求項目」、「種別1」〜「種別n」の値が全て一致するものの、「請求金額」の値は一致しないtmp情報の登録レコードがある場合には(OP88:No)、請求情報解析部12は、tmp情報の該当レコードの「NGカウンタ」に1を加算する(OP89)。この場合には、検査用レコードに対応する回線料金請求情報の1レコードの「請求金額」の値又は該当のtmp情報の登録レコードの「請求金額」の値の何れかにエラーの可能性が
あることが示される。請求情報解析部12は、検査用レコードに対応する回線料金請求情報の1レコードをエラー情報に登録する(OP90)。
OP86、OP90、OP91以降、図12Bに示されるOP42からOP50の処理が行われる。
以上のようにして、tmp情報に「回線番号」フィールドを追加することによって、請求書データに、「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「請求項目」、「種別1」〜「種別n」、「請求金額」の値の一部または全部にエラーがある場合には、対応する回線料金請求情報のレコードがエラー情報に登録される。したがって、請求金額以外の記載間違いなどのエラーが請求書データに含まれる場合にも、該エラーを検出することが可能になり、請求書データ検査処理の精度が向上する。
<その他>
第1実施形態においては、複数の通信キャリアと複数の回線の使用契約を結ぶ企業が、回線の使用契約に対する請求書データを管理する例について説明された。これに限定されることなく、第1実施形態の請求書データ検査装置は、例えば、不動産の賃貸契約、雑誌等の定期購読の契約、又は継続的に行われる家事代行サービス等の契約等の定期的に請求書が発行されるような契約の請求書データの検査に対しても適用可能である。
請求書データ検査装置は、本発明の態様の一つにおける請求書データ検査支援装置の一例である。また、第1実施形態の請求料金定義情報(マスタ)の初期構築処理と、請求書データ検査処理及び請求金額定義情報(マスタ)の更新処理とは、別々の装置で実行されてもよい。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
複数の請求書データから所定のフィールド群を含む共通様式を有するレコード群を編集ルールに従って生成する第1の生成部と、
前記レコード群中の内容が完全一致する複数のレコードを一つに集約することによって、前記共通様式を有する検査用レコードと照合される1以上のレコードを含む請求書マスタを生成する第2の生成部と、
を含む請求書データ検査支援装置。
(付記2)
前記検査用レコードと前記請求書マスタの1以上のレコードとを照合する照合部と、
前記照合部による照合の結果、前記検査用レコードの内容が前記請求書マスタの1以上のレコードのいずれの内容とも完全一致しない場合には、前記検査用レコードを出力する出力部と
をさらに備える付記1に記載の請求書データ検査支援装置。
(付記3)
前記出力部は、前記照合部による照合の結果、前記検査用レコードの内容が前記請求書マスタの1以上のレコードのいずれの内容とも完全一致しない場合には、前記検査用レコードと前記所定のフィールド群の所定の1つのフィールドが一致せず、前記所定の1つのフィールド以外のフィールドが一致する前記請求書マスタのレコードを出力する
付記1又は2に記載の請求書データ検査支援装置。
(付記4)
前記レコード群は、少なくとも、請求書データの請求対象固有の識別子が格納される識別子フィールドと前記所定の1つのフィールドを含み、
前記出力部は、前記照合部による照合の結果、前記検査用レコードと、前記識別子フィ
ールドの値が一致し、且つ、前記識別子フィールド及び前記所定の1つのフィールド以外のフィールドのうち少なくとも1つのフィールドの値が異なる前記請求書マスタのレコードが存在する場合には、前記検査用レコードを出力する
付記3に記載の請求書データ検査支援装置。
(付記5)
前記第2の生成部は、前記照合部による照合の結果、前記検査用レコードの内容が前記請求書マスタの1以上のレコードのいずれの内容とも完全一致しない場合には、前記検査用レコードを前記請求書マスタに追加する
付記1から4のいずれか1項に記載の請求書データ検査支援装置。
(付記6)
前記照合部は、前記検査用レコードが1以上存在する場合に、前記請求書マスタの1以上のレコードそれぞれについて、内容が完全一致する第1の前記検査用レコードの有無、及び、前記所定のフィールド群の所定の1つのフィールドが一致せず、前記所定の1つのフィールド以外のフィールドが一致する第2の検査用レコードの有無を記録する
付記1から5に記載の請求書データ検査支援装置。
(付記7)
前記第2の生成部は、前記照合部による照合の結果、前記第1の検査用レコードが存在せず、且つ、前記第2の検査用レコードが存在する前記請求書マスタのレコードを前記所定の1つのフィールドを、前記第2の検査用レコードの前記所定の1つのフィールドの値で更新する
付記6に記載の請求書データ検査支援装置。
(付記8)
前記出力部は、前記出力部による照合の結果、前記第1の検査用レコード及び前記第2の検査用レコードが存在する前記請求書マスタのレコードを出力する
付記6又は7に記載の請求書データ検査支援装置。
(付記9)
前記第2の生成部は、前記レコード群の各レコードの少なくとも1つのフィールドを含む付加情報を取得し、前記レコード群中の内容と前記付加情報とが完全に一致する複数のレコードを集約することによって、前記請求書マスタを生成する
請求項1から8の何れか1項に記載の請求書データ検査支援装置。
(付記10)
コンピュータが、
複数の請求書データから所定のフィールド群を含む共通様式を有するレコード群を編集ルールに従って生成し、
前記レコード群中の内容が完全一致する複数のレコードを一つに集約して前記共通様式を有する検査用レコードと照合される1以上のレコードを含む請求書マスタを生成する、請求書データ検査支援方法。
(付記11)
請求書データを検査するためのプログラムであって、該プログラムを実行することによってコンピュータが、
複数の請求書データから所定のフィールド群を含む共通様式を有するレコード群を編集ルールに従って生成し、
前記レコード群中の内容が完全一致する複数のレコードを一つに集約して前記共通様式を有する検査用レコードと照合される1以上のレコードを含む請求書マスタを生成する、請求書データ検査支援プログラム。