(57)【特許請求の範囲】
【請求項１】
複数の請求書データから所定のフィールド群を含む共通様式を有するレコード群を編集ルールに従って生成する第１の生成部と、
前記レコード群中の内容が完全一致する複数のレコードを一つに集約することによって、前記共通様式を有する検査用レコードと照合される１以上のレコードを含む請求書マスタを生成する第２の生成部と、
を含む請求書データ検査支援装置。
【請求項２】
前記検査用レコードと前記請求書マスタの１以上のレコードとを照合する照合部と、
前記照合部による照合の結果、前記検査用レコードの内容が前記請求書マスタの１以上のレコードのいずれの内容とも完全一致しない場合には、前記検査用レコードを出力する出力部と
をさらに備える請求項１に記載の請求書データ検査支援装置。
【請求項３】
前記出力部は、前記照合部による照合の結果、前記検査用レコードの内容が前記請求書マスタの１以上のレコードのいずれの内容とも完全一致しない場合には、前記検査用レコードと前記所定のフィールド群の所定の１つのフィールドが一致せず、前記所定の１つのフィールド以外のフィールドが一致する前記請求書マスタのレコードを出力する
請求項１又は２に記載の請求書データ検査支援装置。
【請求項４】
前記レコード群は、少なくとも、請求書データの請求対象固有の識別子が格納される識別子フィールドと前記所定の１つのフィールドを含み、
前記出力部は、前記照合部による照合の結果、前記検査用レコードと、前記識別子フィールドの値が一致し、且つ、前記識別子フィールド及び前記所定の１つのフィールド以外のフィールドのうち少なくとも１つのフィールドの値が異なる前記請求書マスタのレコードが存在する場合には、前記検査用レコードを出力する
請求項３に記載の請求書データ検査支援装置。
【請求項５】
前記第２の生成部は、前記照合部による照合の結果、前記検査用レコードの内容が前記請求書マスタの１以上のレコードのいずれの内容とも完全一致しない場合には、前記検査用レコードを前記請求書マスタに追加する
請求項１から４のいずれか１項に記載の請求書データ検査支援装置。
【請求項６】
前記照合部は、前記検査用レコードが１以上存在する場合に、前記請求書マスタの１以上のレコードそれぞれについて、内容が完全一致する第１の前記検査用レコードの有無、及び、前記所定のフィールド群の所定の１つのフィールドが一致せず、前記所定の１つのフィールド以外のフィールドが一致する第２の検査用レコードの有無を記録する
請求項１から５に記載の請求書データ検査支援装置。
【請求項７】
前記第２の生成部は、前記照合部による照合の結果、前記第１の検査用レコードが存在せず、且つ、前記第２の検査用レコードが存在する前記請求書マスタのレコードを前記所定の１つのフィールドを、前記第２の検査用レコードの前記所定の１つのフィールドの値で更新する
請求項６に記載の請求書データ検査支援装置。
【請求項８】
前記出力部は、前記出力部による照合の結果、前記第１の検査用レコード及び前記第２の検査用レコードが存在する前記請求書マスタのレコードを出力する
請求項６又は７に記載の請求書データ検査支援装置。
【請求項９】
コンピュータが、
複数の請求書データから所定のフィールド群を含む共通様式を有するレコード群を編集ルールに従って生成し、
前記レコード群中の内容が完全一致する複数のレコードを一つに集約して前記共通様式を有する検査用レコードと照合される１以上のレコードを含む請求書マスタを生成する、請求書データ検査支援方法。
【請求項１０】
請求書データを検査するためのプログラムであって、該プログラムを実行することによってコンピュータが、
複数の請求書データから所定のフィールド群を含む共通様式を有するレコード群を編集ルールに従って生成し、
前記レコード群中の内容が完全一致する複数のレコードを一つに集約して前記共通様式を有する検査用レコードと照合される１以上のレコードを含む請求書マスタを生成する、請求書データ検査支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、商品又はサービスの提供者から提示される請求書データを検査する技術に関する。
【背景技術】
【０００２】
店舗や窓口会社等の拠点を各地に有する企業では、各拠点の地域の回線敷設状況や各拠点の規模及び重要度等の要望の違いにより、各拠点で契約する通信キャリア、回線種別、等が異なる場合がある。回線種別には、例えば、電話回線，専用回線，ＩＳＤＮ（Integrated Services Digital Network），ＡＤＳＬ（Asymmetric Digital Subscriber Line）
，ＦＴＴＨ（Fiber To The Home）がある。さらに、障害対策の為に、１つの拠点で複数
の通信キャリアと回線契約を結ぶ場合もある。拠点の数が多くなったり、各拠点で契約される回線の数が多くなったりすると、発行される請求書データの数も多くなる。また、通信キャリアに応じて請求書データの様式が異なる場合もある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１１７９６号公報
【特許文献２】特開２００４−１１２２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
企業によっては、各通信キャリアから各拠点の回線契約に対して発行された請求書データを、企業の本社や担当部署等に集約して一元管理する場合がある。この場合には、請求書データの数が膨大であったり、様式が様々であったりするため、請求書データの記載間違いの検査や、料金体系の見直しの有無のチェック等の請求書データの管理業務に手間や時間がかかり、運用コストがかかる。また、請求書データの入力時における入力ミス等の人為的ミスの発生によって、請求書データの管理業務の効率が低下するおそれがある。
【０００５】
本発明の一態様は、請求書データの管理業務の運用コストを軽減する請求書データ検査支援装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の態様の一つは、請求書データ検査支援装置である。この請求書データ検査支援装置は、
複数の請求書データから所定のフィールド群を含む共通様式を有するレコード群を編集ルールに従って生成する第１の生成部と、
前記レコード群中の内容が完全一致する複数のレコードを一つに集約することによって、前記共通様式を有する検査用レコードと照合される１以上のレコードを含む請求書マスタを生成する第２の生成部と、
を含む。
【０００７】
本発明の他の態様の一つは、上述した請求書データ検査支援方法である。また、本発明の他の態様は、コンピュータを情報処理装置として機能させる請求書データ検査支援プログラム、及び当該請求書データ検査支援プログラムを記録したコンピュータ読み取り可能な記録媒体を含むことができる。
【発明の効果】
【０００８】
開示の請求書データ検査支援装置によれば、請求書データの管理業務の運用コストを軽減することができる。
【図面の簡単な説明】
【０００９】
【図１】企業のネットワーク運用管理システムの構成例を示す図である。
【図２】請求書データ検査装置のハードウェア構成例を示す図である。
【図３】請求書データ検査装置の機能構成例を示す。
【図４】回線料金請求情報の例を示す図である。
【図５】請求書フォーマット情報の例を示す図である。
【図６】回線申込情報（履歴）の例である。
【図７】ｔｍｐ情報の例を示す図である。
【図８】請求金額定義情報（マスタ）の例を示す図である。
【図９Ａ】エラー情報の例を示す図である。
【図９Ｂ】エラー情報の例を示す図である。
【図１０】回線料金請求情報の生成処理のフローの例を示す図である。
【図１１】請求金額定義情報（マスタ）の初期構築処理のフローの例を示す図である。
【図１２Ａ】請求書データ検査処理及び請求金額定義情報（マスタ）の更新処理のフローの例を示す図である。
【図１２Ｂ】請求書データ検査処理及び請求金額定義情報（マスタ）の更新処理のフローの例を示す図である。
【図１３】変形例におけるｔｍｐ情報の例を示す。
【図１４】変形例における、請求金額定義情報（マスタ）の初期構築処理のフローの例を示す図である。
【図１５】変形例における請求書データ検査処理及び請求金額定義情報（マスタ）の更新処理のフローの例を示す図である。
【図１６】複数の通信キャリアと複数の企業との契約関係の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１１】
＜第１実施形態＞
＜請求書データの管理業務＞
図１６は、複数の通信キャリアと複数の企業との契約関係の例を示す図である。図１６において、企業Ａ、企業Ｂ、企業Ｃは、それぞれ、複数の拠点を有する。各企業の各拠点は通信キャリアＡ、通信キャリアＢ、通信キャリアＣの少なくとも１つの通信キャリアと少なくとも１つの回線契約を結んでいる。また、各通信キャリアは、ＡＤＳＬ、ＦＴＴＨ、電話回線、専用回線、ＩＳＤＮ等のさまざまな種別の回線サービスを提供する。
【００１２】
例えば、図１６において、企業Ａの或る拠点は、通信キャリアＡとＡＤＳＬ回線の使用契約を結んでいる。また、企業Ａの別の或る拠点は、通信キャリアＢとＦＴＴＨの回線の使用契約を結んでいる。また、企業Ａの別の或る拠点は、通信キャリアＣと専用回線の使用契約を結んでいる。また、企業Ａの或る拠点は、通信キャリアＡと電話回線の使用契約を結び、通信キャリアＢとＡＤＳＬ回線の使用契約を結んでいる。
【００１３】
このような企業Ａが各拠点の回線の使用契約に対する請求書データを一元管理する場合に、請求書データ検査装置が適用される。
【００１４】
図１は、請求書データ検査装置を適用しうる企業のネットワーク運用管理システムの構成例を示す図である。図１は、例えば、図１６における企業Ａのネットワーク管理運用システムを示す。
【００１５】
ネットワーク運用管理システムは、Ｗｅｂサーバ１００と、業務サーバ２００と、データベースサーバ３００とを含む。
【００１６】
Ｗｅｂサーバ１００は、ネットワーク運用管理システム内のクライアント端末（図１中では「クライアント」と表記）が通信キャリアによって提供される公衆回線を用いてネットワーク運用管理システム外のネットワークに接続する際に、プロキシサーバとして動作する。
【００１７】
業務サーバ２００は、企業Ａのネットワーク運用管理システムの管理を行うサーバである。業務サーバ２００は、企業Ａが各拠点の回線の使用契約に対する請求書データを一元管理する場合の請求書データ管理業務に用いられる。業務サーバ２００は、請求書データ管理業務の他に、例えば、業務サーバ２００は、拠点のネットワーク設計を行う敷設管理処理、ネットワークの障害発生時に障害切り分けを支援する障害管理処理、及びネットワーク保守処理等を行う。
【００１８】
データベースサーバ３００（以降、ＤＢサーバ３００）は、各店舗や窓口会社等が利用している回線の契約情報，請求書情報，及びネットワーク内の管理に関する情報等を有する。
【００１９】
業務サーバ２００を用いて行われる請求書データの管理業務は、（１）請求金額定義情報（マスタ）初期構築業務、（２）回線申し込み業務、（３）回線料金検査業務、（４）請求金額定義情報（マスタ）変更業務の４つである。
【００２０】
（１）請求金額定義情報（マスタ）初期構築業務
企業のネットワークを管理する管理者やオペレータが操作端末の入力画面から、通信キャリアによって提示される約款等の料金体系情報を業務サーバ２００に入力する。業務サーバ２００は、入力に応じて請求金額定義情報（マスタ）を構築し、ＤＢサーバ３００に格納する。請求金額定義情報（マスタ）は、例えば、回線基本料金、大口回線割引情報、機器料金の請求の有無、及び機器料金請求金額等の情報を含む回線の使用契約の請求内容の定義情報である。
【００２１】
（２）回線申し込み業務
通信キャリアへ回線申し込みをする場合には、管理者やオペレータは、通信キャリアへの申し込み情報を作成するとともに、操作端末からＤＢサーバ３００に保持される履歴としての回線申込書情報にデータを登録する。回線申込書情報に登録されるデータは、例えば、回線種別、回線距離、選択キャリア、利用開始日、及び利用終了日等である。
【００２２】
（３）回線料金検査業務
通信キャリアから請求書データを提示されると、管理者やオペレータは請求書データを操作端末から業務サーバ２００に入力する。業務サーバ２００は、入力された請求書データをＤＢサーバ３００に保持される請求金額定義情報（マスタ）と照合し、請求金額が正しいか否かを検査する。
【００２３】
（４）請求金額定義情報（マスタ）更新業務
通信キャリアで回線料金体系の見直しが行われたときに、通信キャリアから通知された新たな回線料金体系情報に基づいて、管理者やオペレータは操作端末からＤＢサーバ３０
０に保持される請求金額定義情報（マスタ）を更新する。
【００２４】
構築される企業のネットワークの規模が大きくなればなるほど回線の使用契約のパターンが増えるため、（１）請求金額定義情報（マスタ）初期構築業務においては、初期構築の為のデータが増大し、データを入力する管理者又はオペレータの処理も増大する。また、（３）回線料金検査業務においては、業務サーバ２００の請求書データと請求金額定義情報（マスタ）との照合処理が増大する。また、（４）請求金額定義情報（マスタ）更新業務においては、回線の使用契約のパターンが増大すると、料金体系の見直しなどによる請求金額定義情報（マスタ）のメンテナンス頻度が増大する。
【００２５】
また、（１）請求金額定義情報（マスタ）の初期構築業務および（４）請求金額定義情報（マスタ）更新業務においてデータ入力は管理者又はオペレータが行うので、請求金額定義情報（マスタ）の定義誤り等も発生する可能性がある。これに伴って、（３）回線料金検査業務において、請求書データのチェック誤りやチェック漏れなどが発生する可能性もある。
【００２６】
したがって、構築される企業のネットワークの規模が大きくなればなるほど、企業側の請求書データの管理業務にかかる運用コストが増大する。
【００２７】
第１実施形態では、図１の業務サーバ２００が請求書データ検査装置として機能し、上記（１）請求金額定義情報（マスタ）の初期構築、（３）回線料金検査業務、（４）請求金額定義情報（マスタ）の請求書データの管理業務を行う。
【００２８】
第１実施形態においては、通信キャリア毎に請求書データの様式が異なるものと想定する。様式には、記載項目、該記載項目の記載順、該記載項目の記載形式等が含まれ、これらのうち１つでも異なれば、異なる様式となる。また、様式は、以降、フォーマットとも称される。
【００２９】
請求書データ検査装置は、ネットワーク上の操作端末からの入力から、又は、ＤＢサーバ３００から、通信キャリア毎にフォーマットの異なる請求書データを取り込む。請求書データ検査装置は、編集ルールに従って、取り込まれた請求書データから所定の記載項目を抽出し、該記載項目を共通のフォーマットのレコードの対応するフィールドに格納するようにして、請求書データを共通のフォーマットのレコード群に整形する。
【００３０】
また、請求書データ検査装置は、共通のフォーマットのレコード群の内容が完全一致する複数のレコードを１つに集約することによって請求金額定義情報（請求書マスタ）を自動で生成する（上記（１）請求金額定義情報（マスタ）の初期構築業務）。
【００３１】
また、請求書データ検査装置は、月ごと等のまとまった単位で通信キャリアから送られてくる請求書データから共通のフォーマットのレコード群を生成し、各レコードを請求料金定義情報（マスタ）と照合し、自動で請求書データを検査する（上記（３）回線料金検査業務）。
【００３２】
また、請求書データ検査装置は、請求書データを検査する過程で、料金体系に変更があったか否かを判定し、料金体系に変更があると判定された場合には、請求金額定義情報（マスタ）を更新する（上記（４）請求金額定義情報（マスタ）更新業務）。また、請求書データ検査装置は、（３）回線料金検査業務においてエラーの可能性がある請求書データ、及び、（４）請求金額定義情報(マスタ)更新処理においてエラーの可能性のある請求金額定義情報(マスタ)のデータを出力する。
【００３３】
＜＜請求書データ検査装置の構成例＞＞
図２は、請求書データ検査装置のハードウェア構成例を示す図である。例えば、図１に示される業務サーバ２００として機能するサーバは、請求書データ検査装置として機能する。請求書データ検査装置１は、プロセッサ１０１，主記憶装置１０２，入力装置１０３，出力装置１０４，補助記憶装置１０５，及びネットワークインタフェース１０７を備え、これらがバス１０９により互いに接続されている情報処理装置である。情報処理装置１は、例えば、サーバマシンなどの専用のコンピュータである。
【００３４】
入力装置１０３は、例えば、キーボード，マウス等のポインティングデバイス，スキャナ等である。入力装置１０３から入力されたデータは、プロセッサ１０１に出力される。
【００３５】
ネットワークインタフェース１０７は、ネットワークとの情報の入出力を行うインタフェースである。ネットワークインタフェース１０７は、有線のネットワーク、および、無線のネットワークと接続する。ネットワークインタフェース１０７は、例えば、ＮＩＣ（Network Interface Card），無線ＬＡＮ（Local Area Network）カード等である。ネットワークインタフェース１０７で受信されたデータ等は、プロセッサ１０１に出力される。
【００３６】
主記憶装置１０２は、プロセッサ１０１に、補助記憶装置１０５に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする。主記憶装置１０２は、例えば、ＲＡＭ（Random Access Memory）のような半導体メモリである。
【００３７】
補助記憶装置１０５は、様々なプログラムや、各プログラムの実行に際してプロセッサ１０１が使用するデータを格納する。補助記憶装置１０５は、例えば、ＥＰＲＯＭ（Erasable Programmable ROM）、又はハードディスクドライブ（Hard Disc Drive）である。補助記憶装置１０５は、リムーバルメディア、すなわち可搬記録媒体を含むことができる。リムーバルメディアは、例えば、ＵＳＢ（Universal Serial Bus）フラッシュメモリ，ＣＤ（Compact Disc），又はＤＶＤのような記録媒体である。補助記憶装置１０５は、例えば、オペレーティングシステム（ＯＳ），請求書データの検査を行うための請求書データ検査プログラム，その他様々なアプリケーションプログラムを保持する。
【００３８】
プロセッサ１０１は、例えば、ＣＰＵ（Central Prosessing Unit）や、ＤＳＰ（Digital Signal Processor）である。プロセッサ１０１は、補助記憶装置１０５に保持された
ＯＳや様々なアプリケーションプログラムを主記憶装置１０２にロードして実行することによって、様々な処理を実行する。
【００３９】
出力装置１０４は、プロセッサ１０１の処理の結果を出力する。出力装置１０４は、ディスプレイ等を含む。
【００４０】
例えば、請求書データ検査装置１は、プロセッサ１０１が補助記憶装置１０５に保持される請求書データ検査支援プログラムを主記憶装置１０２にロードして実行する。請求書データ検査装置１は、請求書データ検査支援プログラムの実行を通じて、入力装置１０３またはネットワークインタフェースを介して入力された請求書データから、請求金額定義情報（マスタ）を生成し、このマスタを用いて請求書データの検査を行い、検査結果を出力装置に出力する。
【００４１】
なお、請求書データ検査装置として機能する情報処理装置は、サーバマシンのような専用のコンピュータに限定されず、検査対象となる請求書データの数が数百から数千程度であれば、パーソナルコンピュータのような汎用のコンピュータであってもよい。
【００４２】
図３は、請求書データ検査装置の機能構成例を示す。請求書データ検査装置１は、プロセッサ１０１が補助記憶装置１０５に保持される請求書データ検査プログラムを主記憶装置１０２にロードして実行することによって、請求情報読取部１１、請求情報解析部１２、履歴読込部１３、マスタ生成部１４、請求評価部１５、評価結果出力部１６、請求書フォーマット情報生成部１７、及び回線料金請求情報生成部１８を含む装置として機能する。また、請求書データ検査装置１は、回線料金請求情報データベース（回線料金請求情報ＤＢ）２０，回線申込情報データベース（回線申込情報ＤＢ）３０，請求金額定義情報データベース（請求金額定義情報ＤＢ）４０から入力を得る。回線料金請求情報ＤＢ２０，回線申込情報ＤＢ３０，請求金額定義情報ＤＢ４０は、例えば、図１に示されるネットワーク運用管理システムにおける、データベースサーバ３００に備えられてもよいし、補助記憶装置１０５上に備えられてもよい。第１実施形態においては、回線料金請求情報ＤＢ２０，回線申込情報ＤＢ３０，請求金額定義情報ＤＢ４０は、データベースサーバ３００に備えられるものと想定される。
【００４３】
請求書フォーマット情報生成部１７は、通信キャリアごとに異なるフォーマットの請求書データを共通のフォーマットのレコード群に整形するための編集ルールである請求書フォーマット情報を生成する。請求書フォーマット情報は、共通のフォーマットのレコードの各フィールドと各通信キャリアの請求書データの各記載項目の記載位置との対応付けの情報である。請求書フォーマット情報は、例えば、通信キャリア毎に生成される。請求書フォーマット情報生成部１７は、請求書フォーマット情報を回線料金請求情報ＤＢ２０に格納する。以降、請求書データから生成された共通のフォーマットのレコード群は、回線料金請求情報と称される。なお、請求書フォーマット情報は、予め回線料金請求情報ＤＢ２０に格納されていてもよい。請求書フォーマット情報及び回線料金請求情報の詳細については、後述される。
【００４４】
請求情報読取部１１は、回線料金請求情報ＤＢ２０から各通信キャリアの請求書データと各通信キャリアの請求書フォーマット情報とを読出し、回線料金請求情報生成部１８に出力する。
【００４５】
回線料金請求情報生成部１８は、各通信キャリアの請求書データと各通信キャリアの請求書フォーマット情報が入力されると、各通信キャリアの請求書フォーマット情報に基づいて、共通のフォーマットのレコード群である回線料金請求情報を生成する。回線料金請求情報生成部１８は、生成した回線料金請求情報を回線料金請求情報ＤＢ２０に格納する。通信キャリアから提示される請求書データから回線料金請求情報が生成される処理については、後述される。
【００４６】
また、請求情報読取部１１は、請求金額定義情報（マスタ）の初期構築処理、請求書データ検査処理、及び請求金額定義情報（マスタ）の更新処理において、回線料金請求情報ＤＢ２０から、回線料金請求情報を読み出して、請求情報解析部１２に出力する。
【００４７】
請求情報解析部１２は、請求情報読取部１１から回線料金請求情報と、履歴読込部１３から回線申込の履歴情報である回線申込情報とを取得する。請求情報解析部１２は、回線申込情報（履歴）を用いて、回線料金請求情報に含まれる各レコードとテンポラリー情報（以降、ｔｍｐ情報）に含まれる各レコードとの照合を行う。ｔｍｐ情報は、請求金額パターンを定義する請求金額定義情報(マスタ）の前身となる情報であって複数のレコード
を含んでいる。
【００４８】
請求情報解析部１２は、照合結果に基づき、マスタ生成部１４にｔｍｐ情報への新規レコードの追加や、レコードの更新を指示する。また、請求情報解析部１２は、回線料金請求情報に含まれる全てレコードについてｔｍｐ情報に含まれる各レコードとの照合が終了
すると、照合結果を請求評価部１５に出力する。ｔｍｐ情報の詳細、及び、回線料金請求情報とｔｍｐ情報との照合処理の詳細については、後述される。
【００４９】
履歴読込部１３は、請求情報解析部１２からの回線申込情報（履歴）取得要求に応じて、回線申込情報ＤＢ３０から、回線申込の履歴情報である回線申込情報を読み込む。履歴読込部１３は、読み込んだ回線申込情報（履歴）を要求元の請求情報解析部１２に出力する。
【００５０】
マスタ生成部１４は、請求金額定義情報（マスタ）を生成及び更新する。マスタ生成部１４は、請求情報解析部１２からのｔｍｐ情報への新規レコードの追加や、レコードの更新の指示に応じてｔｍｐ情報を生成及び更新する。マスタ生成部１４は、ｔｍｐ情報の生成及び更新に応じて請求金額定義情報（マスタ）を生成及び更新する。マスタ生成部１４は、生成及び更新されたｔｍｐ情報及び請求金額定義情報（マスタ）を請求金額定義情報ＤＢ４０に格納する。ｔｍｐ情報及び請求金額定義情報（マスタ）についての詳細、及びｔｍｐ情報及び請求金額定義情報（マスタ）の生成及び更新の詳細は、後述される。
【００５１】
請求評価部１５は、請求情報解析部１２から、回線料金請求情報に含まれる各レコードとｔｍｐ情報に含まれる各レコードとの照合結果を入力として得る。請求評価部１５は、照合結果から、エラーの可能性がある回線料金請求情報のレコード又は請求金額定義情報（マスタ）のレコードを含むエラー情報を生成する。請求評価部１５は、生成したエラー情報を評価結果出力部１６に出力する。エラー情報の詳細については、後述される。
【００５２】
評価結果出力部１６は、請求評価部１５からエラー情報を入力として得る。評価結果出力部１６は、入力されたエラー情報を、例えば、ファイルに出力したり、該ファイルをネットワークを介して接続されるクライアント端末５０に送信したり、請求書データ検査装置１に具備されるディスプレイ等に出力したりする。
【００５３】
回線料金請求情報生成部１８は、本発明の態様の一つにおける第１の生成部の一例である。マスタ生成部１４は本発明の態様の一つにおける第２の生成部の一例である。請求情報解析部１２は本発明の態様の一つにおける照合部の一例である。請求評価部１５及び評価結果出力部１６の組み合わせは本発明の態様の一つにおける出力部の一例である。
【００５４】
（回線料金請求情報）
図４は、回線料金請求情報の例を示す図である。回線料金請求情報は、フォーマットが異なる各通信キャリアの請求書データから生成された共通のフォーマットのレコード群である。回線料金請求情報は、回線料金請求情報ＤＢ２０に格納される。
【００５５】
通信キャリアから提示される請求書データは、第１実施形態では、企業の各拠点で、１つの通信キャリアにつき１つ発行されるものと想定する。したがって、請求書データには、１つまたは複数の契約回線の請求情報が記載されている。また、１つの契約回線の請求情報には、回線利用料、モデム使用料、屋内配線使用料等の複数の請求項目が含まれる。
【００５６】
回線料金請求情報の１レコードは、第１実施形態では、「識別子」，「通信キャリア」，「回線番号」，「回線種別」，「回線速度」，「請求項目」，「請求金額」のフィールドを含む。
【００５７】
「識別子」フィールドには、回線料金請求情報の各レコードを識別するための識別子が格納される。識別子は、英数字で構成されており、回線料金請求情報生成部１８によって重複することなく各レコードに付与される。
【００５８】
「通信キャリア」フィールドには、通信キャリア名、又は、キャリアを識別するための識別番号等の識別情報が格納される。「回線番号」フィールドには、各通信キャリアによって契約回線に付される、回線を識別するための番号が格納される。「回線種別」フィールドには、契約回線の種類が格納される。契約回線の種類は、例えば、ＡＤＳＬ，専用回線，ＦＴＴＨ等である。「回線速度」フィールドには、契約回線の回線速度が格納される。
【００５９】
「請求項目」フィールドには、契約回線に対する請求項目が格納される。請求項目は、例えば、契約回線の回線利用料，モデムなどの機器のレンタル料，大口割引による回線利用料の割引料などである。
【００６０】
「請求金額」フィールドには、各請求項目に対応する請求金額が格納される。請求項目が割引料などの場合には、マイナスで表示される。
【００６１】
回線料金請求情報は、例えば、通信キャリア毎、請求書発行月ごと、等の単位で作成されてもよい。
【００６２】
回線料金請求情報のフィールドは、図４に示されるものに限られず、あらゆる通信キャリアの請求書データにも含まれていると考えられる、請求内容と請求金額とを特定可能な情報を格納するフィールドであればよい。請求内容を特定可能なフィールドは、図４に示される例においては、「識別子」、「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「請求項目」のフィールドが該当する。請求金額を特定可能なフィールドは、図４に示される例においては、「請求金額」フィールドが該当する。
【００６３】
図４に示されるような回線料金請求情報は、本発明の態様の一つにおける共通様式を有するレコード群の一例である。また、回線は、本発明の態様の一つにおける、請求対象の一例である。
【００６４】
（請求書フォーマット情報）
図５は、請求書フォーマット情報の例を示す図である。図５では、通信キャリアＡから或る拠点が契約する１つ又は複数の回線に対して、ＣＳＶ（Comma Separate Values）形
式で請求書データが発行されることを想定する。
【００６５】
請求書データ５００は、通信キャリアＡによって発行された企業Ａの或る拠点の請求書データである。請求書データ５００は、企業Ａの該拠点が通信キャリアＡと契約する回線の情報が含まれる。また、請求書データ５００は、ＣＳＶ形式で記述されており、例えば、電子メールで送信されたり、可搬記録媒体に記録されたりして提示される。可搬記録媒体は、例えば、フロッピー（登録商標）、ＣＤ、ＤＶＤ等である。
【００６６】
ＣＳＶ形式の請求書データ５００には、各請求項目が１レコードを形成する。通信キャリアＡから提示されるＣＳＶ形式の請求書データ５００では、各レコードに含まれるフィールドはカンマで区切られ、各レコードは改行によって区切られる。各レコードのフィールドは、「業者」、「回線番号」、「回線種類」、「請求内訳」、「料金」の順で並んでいる。なお、請求書データ５００内の「ＣＲＬＦ」は、改行を示す。
【００６７】
請求書データ５００の何れのフィールドが、図４の回線料金請求情報の何れのフィールドに該当するのかが企業ネットワークの管理者によって判定され、操作端末から両者のフィールドの対応がユーザによって入力される。
【００６８】
図５に示される例においては、請求書データ５００における「業者」フィールドが図４
における回線料金請求情報の「通信キャリア」フィールドに該当する。請求書データ５００における「回線番号」フィールドが、図４における回線料金請求情報の「回線番号」フィールドに該当する。請求書データ５００における「回線種類」フィールドが、図４における回線料金請求情報の「回線種別」フィールドに該当する。請求書データ５００における「請求内訳」フィールドが、図４における回線料金請求情報の「請求項目」フィールドに該当する。請求書データ５００における「料金」フィールドが、図４における回線料金請求情報の「請求金額」フィールドに該当する。
【００６９】
請求書フォーマット情報は、回線料金請求情報のレコードの各フィールドの請求書データにおける読み取り位置を指定する情報である。回線料金請求情報生成部１８は、請求書フォーマット情報に指定された請求書データの位置から読み取った値を、請求書フォーマット情報によって指定された回線料金請求情報のレコードのフォーマットに格納する。
【００７０】
図５において、請求書データ５００から、通信キャリアＡの請求書フォーマット情報５１０が生成される。請求フォーマット情報５１０では、回線料金請求情報のフィールド「通信キャリア」と、ＣＳＶ形式の請求書データ５００のレコードにおけるフィールド位置「１」とが対応付けられる。これによって、回線料金請求情報生成部１８は、請求書データ５００の各レコードの１番目のフィールドの値を読み取り、回線料金請求情報の「通信キャリア」フィールドの値として格納することが可能となる。同様にして、通信キャリアＡの請求書フォーマット情報５１０では、回線料金請求情報の他のフィールドのＣＳＶ形式の請求書データ５００における読み取りフィールド位置が指定される。
【００７１】
また、請求書データが紙に印刷された形態で提示される場合には、請求書フォーマット情報として、回線料金請求情報の各フィールドの請求書データにおける読み取り位置を請求書データにおける各フィールド名と座標とで指定してもよい。この場合には、まず、企業のネットワーク管理者の操作によって、スキャナ等で請求書が読み込まれ、請求書データとして回線料金請求情報ＤＢ２０に格納される。回線料金請求情報生成部１８は、ＯＣＲ（Optical Character Recognition：光学式文字認識）等を用いて、請求書フォーマッ
ト情報において指定された請求書データにおけるフィールド名を用いて、請求書データ内の該フィールドを検出する。回線料金請求情報生成部１８は、検出された該フィールドの値を、請求書フォーマット情報において指定された座標からＯＣＲを用いて読み取る。回線料金請求情報生成部１８は、請求書フォーマット情報において指定された回線料金請求情報のレコードのフィールドに、読み取られた請求書データのフィールドの値を格納する。請求書データが紙媒体で提供される場合には、このようにして、共通のフォーマットのレコード群である回線料金請求情報が生成される。
【００７２】
（回線申込情報）
図６は、回線申込情報（履歴）の例である。回線申込情報（履歴）は、新規に回線の使用契約を申し込んだ際の、約定等に記載されている申込回線に関する情報であり、１つの契約回線につき１つのレコードが生成される。回線申込情報（履歴）は、例えば、回線申込データを作成したクライアント端末によって、回線申込データから申込回線に関する情報が抽出され、回線申込情報ＤＢ３０に格納されてもよい。又は、回線申込情報（履歴）は、回線申込を行った際に、ユーザによってネットワーク上のクライアント端末から入力されてもよい。回線申込情報（履歴）は、回線申込情報（履歴）ＤＢ３０に格納される。
【００７３】
回線申込情報の１レコードは、第１実施形態において、「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「種別１」、「種別２」、・・・、「種別ｎ」（ｎは正の自然数）のフィールドを含む。「通信キャリア」、「回線番号」、「回線種別」、「回線速度」のフィールドについては、回線料金請求情報に含まれるものと同じである。
【００７４】
「種別１」、「種別２」、・・・、「種別ｎ」は、各回線の固有の値であり、回線申し込み時に参照される約定等には含まれているものの、請求書データには含まれないような、契約した回線のサービス詳細を示す情報である。例えば、「種別１」、・・・、「種別２」には、距離レンジ，保守タイプ，サービス契約の有無がある。「種別１」，・・・．「種別ｎ」は、いずれも必須の情報ではなく、一部又は全部が欠けていてもよい。
【００７５】
回線申込情報は、後述のｔｍｐ情報および請求金額定義情報（マスタ）を生成する際に、回線料金請求情報では情報が不足する場合に情報を補う役割を果たす。すなわち、回線申込情報は、必要に応じて用いられる。回線申込情報は、本発明の態様の一つにおける、付加情報の一例である。
【００７６】
（ｔｍｐ情報および請求金額定義情報）
図７は、ｔｍｐ情報の例を示す図である。ｔｍｐ情報は、請求金額定義情報（マスタ）を作成および更新するために用いられる。ｔｍｐ情報は、マスタ生成部１４によって、回線料金請求情報及び回線申込情報（履歴）から得られる各フィールドの値が完全一致する複数のレコードを１つに集約して生成される。そのため、ｔｍｐ情報は、レコード群である。ｔｍｐ情報は、請求金額定義情報（マスタ）ＤＢ４０に格納される。
【００７７】
ｔｍｐ情報の１レコードは、「項目番号」、「詳細項目番号」、「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「請求金額」、「種別１」、・・・、「種別ｎ」、「ＯＫカウンタ、及び「ＮＧカウンタ」のフィールドを含む。「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「請求金額」、「種別１」、・・・、「種別ｎ」のフィールドは、回線料金請求情報及び回線申込情報（履歴）で説明されフィールドと同じである。
【００７８】
「項目番号」および「詳細項目番号」のフィールドは、ｔｍｐ情報の各レコードを識別するために付与される。例えば、「通信キャリア」、「回線種別」、「回線速度」、「種別１」、・・・、「種別ｎ」のフィールドの値がすべて一致するレコード群には、同じ項目番号が付される。詳細項目番号は、同じ項目番号が付されたレコード間で重複のないように付される。
【００７９】
「ＯＫカウンタ」は、回線料金請求情報とｔｍｐ情報との照合の結果、当該ｔｍｐ情報のレコードに対して、「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「請求金額」、「種別１」から「種別ｎ」のフィールドの値がすべて一致する回線料金請求情報のレコードの数を計数するカウンタである。
【００８０】
「ＮＧカウンタ」は、回線料金請求情報とｔｍｐ情報との照合の結果、当該ｔｍｐ情報のレコードに対して、「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「種別１」、・・・、「種別ｎ」のフィールドの値がすべて一致し、「請求金額」のフィールドの値が異なる回線料金請求情報のレコードの数を計数するカウンタである。
【００８１】
「ＯＫカウンタ」と「ＮＧカウンタ」との数値に基づいて、ｔｍｐ情報の当該レコードの更新の要否が判定される。回線料金請求情報とｔｍｐ情報との照合処理の詳細については、後述される。
【００８２】
ｔｍｐ情報の「項目番号」及び「詳細項目番号」のフィールドは、ｔｍｐ情報の各レコードの識別情報を格納するフィールドである。「通信キャリア」及び「回線番号」は、請求書データの請求対象を識別する情報を格納するフィールドである。「回線種別」、「回線速度」、「請求項目」、「種別１」、・・・、「種別ｎ」のフィールドは、請求書データの請求対象である商品又はサービスの請求項目を特定する情報である。ｔｍｐ情報は図
７に示される例に限られず、各レコードの識別情報、請求書データの請求対象を識別する情報、及び請求書データの請求対象である商品又はサービスの請求項目を特定する情報が含まれていればよい。
【００８３】
なお、ｔｍｐ情報のデータ構造は、図７に示される例に限られない。ｔｍｐ情報は、本発明の態様の一つにおける請求書マスタの一例である。
【００８４】
図８は、請求金額定義情報（マスタ）の例を示す図である。請求金額定義情報（マスタ）は、通信キャリアからの請求書データによって請求される、契約回線、請求項目、請求金額等を定義する定義情報を示す。
【００８５】
請求金額定義情報（マスタ）は、マスタ生成部１４によって、ｔｍｐ情報から生成される。例えば、請求金額定義情報（マスタ）は、ｔｍｐ情報の「項目番号」、「詳細項目番号」、「ＯＫカウンタ」、及び「ＮＧカウンタ」フィールドが取り除かれて作成される。そのため、請求金額定義情報（マスタ）はレコード群であり、１レコードは、「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「請求金額」、「種別１」、・・・、「種別ｎ」のフィールドを含む。なお、請求金額定義情報（マスタ）のデータ構造は、図８に示される例に限られない。請求金額定義情報は、本発明の態様の一つにおける請求書マスタの一例である。
【００８６】
なお、ｔｍｐ情報及び請求金額定義情報（マスタ）の各レコードの「種別１」から「種別ｎ」のフィールドは、必要に応じて用いればよく、ｔｍｐ情報及び請求金額定義情報（マスタ）は、回線料金請求情報のみで生成されてもよい。
【００８７】
（エラー情報）
図９Ａ及び図９Ｂは、エラー情報の例を示す図である。エラー情報は、ｔｍｐ情報と回線料金請求情報との照合処理において、ｔｍｐ情報に含まれるレコード及び回線料金請求情報のエラーの可能性があるレコードを有する。
【００８８】
エラー情報は、大きく、請求金額定義情報エラーと回線料金請求情報エラーとに分けられる。図９Ａは、請求金額定義情報エラーの例を示す。請求金額定義情報エラーは、ｔｍｐ情報と回線料金請求情報との照合処理の結果、エラーの可能性がある請求金額定義情報（マスタ）のレコードが含まれる。
【００８９】
図９Ｂは、回線料金請求情報エラーの例を示す。回線料金請求情報エラーは、ｔｍｐ情報と回線料金請求情報との照合の結果、エラーの可能性がある回線料金請求情報のレコードが含まれる。なお、エラー情報は図９Ａ及び図９Ｂに示される例に限られず、エラーの可能性があるレコードが特定できるだけの情報が含まれているのみでもよい。エラーの可能性があるレコードが特定できる情報は、例えば、回線料金請求情報のエラーの可能性があるレコードの「識別子」フィールドの値と、ｔｍｐ情報のエラーの可能性があるレコードの「項目番号」と「詳細項目番号」とのフィールドの値と、であってもよい。
【００９０】
エラー情報を確認した企業ネットワークの管理者は、エラー情報によって示される回線料金請求情報及びｔｍｐ情報のレコードを確認し、間違いがあるか否かを確認することができる。
【００９１】
＜＜回線料金請求情報の生成＞＞
図１０は、回線料金請求情報の生成処理のフローの例を示す図である。回線料金請求情報は、請求書フォーマット情報生成部１７、請求情報読取部１１、及び回線料金請求情報生成部１８の協働によって行われる。
【００９２】
請求書フォーマット情報生成部１７は、例えば、企業ネットワークの管理者による操作端末からの情報の入力に応じて、通信キャリアごとの請求書フォーマット情報を生成する（ＯＰ１）。請求書フォーマット情報生成部１７は、請求書フォーマットを回線料金請求情報ＤＢ２０に格納する。
【００９３】
請求情報読取部１１は、回線料金請求情報ＤＢ２０に保持される請求書データを読み込み、回線料金請求情報生成部１８に出力する。回線料金請求情報生成部１８は、読み込まれた請求書データから回線料金請求情報を生成する（ＯＰ２）。例えば、請求書データがＣＳＶ形式の電子データであって、回線料金請求情報ＤＢ２０に格納されている場合には、請求情報読取部１１は、回線料金請求情報ＤＢ２０から請求書データを１ファイルずつ読み込む。例えば、請求書データが紙媒体である場合には、請求情報読取部１１は、スキャナ及びＯＣＲを介して請求書データを１枚ずつ読み込む。
【００９４】
回線料金請求情報生成部１８は、各通信キャリアの請求書フォーマット情報と読み込まれた請求書データとを照合して、使用する請求書フォーマット情報を決定する。例えば、回線料金請求情報生成部１８は、請求書データを、各通信キャリアの請求書フォーマット情報を用いて読み込みを試行することで、請求書データと各通信キャリアの請求書フォーマットを照合する。また、例えば、回線料金請求情報生成部１８は、請求書データに含まれる「通信キャリア」の相当するフィールドの値を、まず読み取って通信キャリアを判別し、該当する請求書フォーマットを決定する。
【００９５】
回線料金請求情報生成部１８は、決定した請求書フォーマット情報に指定された請求書データの位置から値を抽出し、請求書フォーマット情報に指定された回線料金請求情報のレコードのフィールドに抽出した値を格納して読み込まれた請求書データから情報回線料金請求情報を生成する。なお、使用する請求書フォーマット情報は、ユーザによって指定されてもよい。
【００９６】
読み込みエラーが発生した場合には（ＯＰ３：Ｙｅｓ）、回線料金請求情報生成部１８は、読み込みエラーが発生した際に使用していた請求書フォーマット情報等の情報を読み取りエラー情報として出力する（ＯＰ４）。読み込みエラーは、例えば、操作端末からの情報の入力に基づいて作成された請求書フォーマット情報に間違いがあり、該請求書データに対応すべき請求書フォーマット情報を用いた際にデータ構造が合致せず請求書データを読み込めない場合に発生する。この場合には、読み込まれた請求書データがいずれの請求書フォーマット情報にも合致せず、回線料金請求情報生成部１８は、読み取りエラーを検出する。例えば、請求情報読取部１１は、企業ネットワークの管理者の操作端末に読み取りエラー情報を送信して該操作端末のディスプレイに表示させてもよいし、ファイルに出力してもよい。管理者は読み取りエラーを確認することによって、請求書フォーマット情報を修正することができる。
【００９７】
読み込みエラーなく請求書データの読み取りが終了した場合（ＯＰ３：Ｎｏ）、及び、読み込みエラーの出力が終了した場合には（ＯＰ４）、請求情報読取部１１は、未処理の請求書データがあるか否かを判定する（ＯＰ５）。未処理の請求書データがある場合には（ＯＰ５：Ｙｅｓ）、請求情報読取部１１は、ＯＰ２に戻って、未処理の請求書データがなくなるまで、ＯＰ２からＯＰ４の処理が繰り返される。
【００９８】
未処理の請求書データがない場合には（ＯＰ５：Ｎｏ）、回線料金請求情報生成部１８は、生成された回線料金請求情報を回線料金請求情報ＤＢ２０に格納する。
【００９９】
なお、図１０に示される処理によって生成される回線料金請求情報は、１回の回線料金
請求情報の生成処理で読み込まれる全ての請求書データのレコードを含む。これに限らず、例えば、１つの請求書データ（ＣＳＶ形式のファイル単位、紙ベース請求書単位等）につき１つの回線料金請求情報が生成されてもよいし、通信キャリア毎に分類された複数の請求書データにつき１つの回線料金請求情報が生成されてもよい。
【０１００】
＜＜請求金額定義情報（マスタ）の生成＞＞
（請求金額定義情報（マスタ）の初期構築処理のフロー）
図１１は、請求金額定義情報（マスタ）の初期構築処理のフローの例を示す図である。請求金額定義情報（マスタ）の初期構築処理は、請求情報読取部１１、請求情報解析部１２、履歴読込部１３、マスタ生成部１４の協働によって行われる。また、図１１においては、図４に示される回線料金請求情報と図６に示される回線申込情報（履歴）とから、図７に示されるｔｍｐ情報及び図８に示される請求金額定義情報（マスタ）が生成される場合を例として説明される。請求書データ検査装置１は、例えば、ユーザからの指示によって、請求金額定義情報（マスタ）の生成処理を実行する。
【０１０１】
請求情報読取部１１は、回線料金請求情報に含まれるレコードのうちの１レコードを回線料金請求情報ＤＢ２０から取り込む（ＯＰ１１）。例えば、請求情報読取部１１は、図４に示される回線料金請求情報の先頭レコードから順に１レコード取り込む。請求情報読取部１１は、取り込まれた回線料金請求情報の１レコードを請求情報解析部１２に出力する。
【０１０２】
請求情報解析部１２は、請求情報読取部１１から回線料金請求情報の１レコードが入力されると、該レコードの「通信キャリア」と「回線番号」との両方のフィールドの値が一致する回線申込情報（履歴）のレコードから、「種別１」から「種別ｎ」のフィールドの値を取得する（ＯＰ１２）。請求情報解析部１２は、履歴読込部１３を通じて、回線申込情報（履歴）ＤＢ３０から、取り込まれた回線料金請求情報の１レコードに対応する「種別１」から「種別ｎ」のフィールドの値を取得する。以降、取り込まれた回線料金請求情報の１レコードに含まれるフィールドと、取り込まれた回線料金請求情報の１レコードに対応する「種別１」から「種別ｎ」のフィールドとを含むレコードを、判定用レコードと称する。
【０１０３】
請求情報解析部１２は、ｔｍｐ情報の登録レコードを読み込む（ＯＰ１３）。請求情報解析部１２は、判定用レコードと、ｔｍｐ情報の登録レコードとを比較する。請求情報解析部１２は、ｔｍｐ情報の登録レコード群のなかに、判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値がすべて一致するレコードがあるか否かを判定する（ＯＰ１４）。
【０１０４】
ｔｍｐ情報の登録レコード群の中に、判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値がすべて一致するレコードがない場合には（ＯＰ１４：Ｎｏ）、判定用レコードが新しいパターンであることが示される。この場合、請求情報解析部１２は、判定用レコードをｔｍｐ情報に登録することを判定し、判定用レコードをマスタ生成部１４に通知する。例えば、初期状態では、ｔｍｐ情報にはレコードが登録されていないので、判定用レコードと「通信キャリア」の値が一致するｔｍｐ情報のレコードは存在せず、判定用レコードはｔｍｐ情報に登録される。
【０１０５】
通知を受けると、マスタ生成部１４は、判定用レコードの請求パターンをｔｍｐ情報に登録するために、「項目番号」と「詳細項目番号」とのフィールドの値を取得する（ＯＰ１５）。判定用レコードと、「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値がすべて一致するｔｍｐ情報の登録レコードはないので、取得される「項目番号」の値は、ｔｍｐ情報に登録されているレコード群の「項目番号」の最大値に
１を加算した新規の値である。また、このとき取得される「詳細項目番号」の値は、１である。
【０１０６】
次に、マスタ生成部１４は、取得した「項目番号」及び「詳細項目番号」と、判定用レコードの「通信キャリア」、「回線種別」、「回線速度」、「回線項目」、「請求金額」、及び「種別１」〜「種別ｎ」と、回線申込情報（履歴）から得られた「種別１」から「種別ｎ」の値と、をｔｍｐ情報に登録する（ＯＰ１８）。
【０１０７】
請求情報読取部１１は、判定用レコードに対応する回線料金請求情報の１レコードが、回線料金請求情報の最後のレコードか否かを判定する（ＯＰ１９）。すなわち、請求情報読取部１１は、回線料金請求情報に含まれる全てのレコードについて、処理が終了したか否かを判定する。
【０１０８】
判定用レコードに対応する回線料金請求情報の１レコードが、回線料金請求情報に含まれる最後のレコードでない場合には（ＯＰ１９：Ｎｏ）、処理がＯＰ１１に戻り、請求情報読取部１１は、回線料金請求情報から次の１レコードを取り込む。
【０１０９】
判定用レコードに対応する回線料金請求情報の１レコードが、回線料金請求情報に含まれる最後のレコードである場合には（ＯＰ１９：Ｙｅｓ）、請求情報読取部１１は、回線料金請求情報に含まれる全てのレコードの処理終了をマスタ生成部１４に通知する。通知を受けると、マスタ生成部１４は、ｔｍｐ情報を請求金額定義情報（マスタ）に反映させる（ＯＰ２０）。マスタ生成部１４は、生成された請求金額定義情報（マスタ）とｔｍｐ情報とを請求金額定義情報ＤＢ４０に格納する。
【０１１０】
ＯＰ１４において、ｔｍｐ情報の登録レコード群に、判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値がすべて一致するレコードがある場合には（ＯＰ１４：Ｙｅｓ）、請求情報解析部１２は、加えて「請求項目」と「請求金額」との値も一致するレコードがあるか否かを判定する（ＯＰ１６）。
【０１１１】
判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」に加えて「請求項目」と「請求金額」の値も一致するｔｍｐ情報の登録レコードがある場合には（ＯＰ１６：Ｙｅｓ）、判定用レコードと同じ請求パターンが既にｔｍｐ情報に登録されていることが示される。その後、処理がＯＰ１９に進む。
【０１１２】
判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」はすべて一致するｔｍｐ情報の登録レコードはあるものの、「請求項目」と「請求金額」の値までもが一致するｔｍｐ情報の登録レコードがない場合には（ＯＰ１６：Ｎｏ）、判定用レコードは新しい請求パターンであることが示される。この場合、請求情報解析部１２は、判定用レコードをｔｍｐ情報に登録することを判定し、判定用レコードをマスタ生成部１４に通知する。
【０１１３】
通知を受けると、マスタ生成部１４は、取り込まれた回線料金請求情報の１レコードの請求パターンをｔｍｐ情報に登録するために、「項目番号」と「詳細項目番号」との値を取得する（ＯＰ１７）。ＯＰ１４において、ｔｍｐ情報には、「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値全てが一致するレコードが既に登録されていることが示されている。したがって、マスタ生成部１４は、「項目番号」の値として、「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値が全て一致するｔｍｐ情報の登録レコード群の「項目番号」の値を取得する。また、マスタ生成部１４は、「詳細項目番号」の値として、「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値が全て一致するｔｍｐ情報の登録レコード群の「詳
細項目番号」の値の最大値に１を加算した値を取得する。
【０１１４】
マスタ生成部１４は、取得した「項目番号」及び「詳細項目番号」と、判定用レコードの「通信キャリア」、「回線種別」、「回線速度」、「回線項目」、「請求金額」、及び「種別１」〜「種別ｎ」と、回線申込情報（履歴）から得られた「種別１」から「種別ｎ」の値と、をｔｍｐ情報に登録する（ＯＰ１８）。その後処理がＯＰ１９に進む。
【０１１５】
以上のようにして、回線料金請求情報に含まれる未処理のレコードがなくなるまで、ＯＰ１１からＯＰ１９の処理が繰り返されて、例えば、図７に示されるｔｍｐ情報及び図８に示される請求料金定義情報（マスタ）が生成される。
【０１１６】
（動作例）
初期状態において、図４に示される回線料金請求情報から図７に示されるｔｍｐ情報が生成される場合の処理について説明する。
【０１１７】
初期状態において、回線料金請求情報の「識別コード」が「０００１」のレコードと、「通信キャリア」、「回線種別」、「回線速度」、「種別１」から「種別ｎ」の値がすべて一致するレコードは、ｔｍｐ情報には存在しない。したがって、請求情報解析部１２は、回線料金請求情報の「識別コード」が「０００１」のレコードをｔｍｐ情報に追加することを決定する（図１１、ＯＰ１４：Ｎｏ）。この場合、マスタ生成部１４は、「項目番号」として「１」、「詳細項目番号」として「１」を取得し（図１１、ＯＰ１５）、ｔｍｐ情報に登録する（図１１、ＯＰ１８）。
【０１１８】
回線料金請求情報の「識別コード」が「０００２」のレコードが読み込まれた場合には、該レコードは、ｔｍｐ情報の「項目番号」の値が「１」、「詳細項目番号」の値が１であるレコードと、「通信キャリア」、「回線種別」、「回線速度」、「種別１」から「種別ｎ」の値が一致し、「請求項目」と「請求金額」との値が異なる（図１１、ＯＰ１４：Ｙｅｓ、ＯＰ１６：Ｎｏ）。したがって、請求情報解析部１２は、回線料金請求情報の「識別コード」が「０００２」のレコードをｔｍｐ情報に追加することを決定する。この場合、該レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別１」から「種別ｎ」の値が一致するレコードが存在するので、マスタ生成部１４は、「項目番号」として「１」を取得する。また、該レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別１」から「種別ｎ」に加えて「請求項目」及び「請求金額」の値が一致するレコードは存在しないので、「詳細項目番号」として「２」を取得する（図１１、ＯＰ１７）。すなわち、回線料金請求情報の「識別コード」が「０００２」のレコードは、「項目番号」が「１」、「詳細項目番号」が「２」としてｔｍｐ情報に登録される（図１１、ＯＰ１８）。
【０１１９】
回線料金請求情報の「識別コード」が「０００２」のレコードと同様にして、回線料金請求情報の「識別コード」が「０００３」及び「０００４」のレコードもｔｍｐ情報に追加される。
【０１２０】
回線料金請求情報の「識別コード」が「０００５」のレコードが読み込まれた場合には、該レコードと、「通信キャリア」、「回線種別」、「回線速度」、「種別１」から「種別ｎ」の値が一致するｔｍｐ情報のレコードは存在しない（図１１、ＯＰ１４：Ｎｏ）。したがって、請求情報解析部１２は、回線料金請求情報の「識別コード」が「０００５」のレコードをｔｍｐ情報に追加することを決定する（図１１、ＯＰ１４：Ｎｏ）。この場合、「項目番号」１は使用されているので、マスタ生成部１４は、「項目番号」として「２」、「詳細項目番号」として「１」を取得し（図１１、ＯＰ１５）、ｔｍｐ情報に登録する（図１１、ＯＰ１８）。
【０１２１】
回線料金請求情報の「識別コード」が「０００６」のレコードが読み込まれた場合には、該レコードは、ｔｍｐ情報の「項目番号」の値が「２」、「詳細項目番号」の値が「１」であるレコードと、「通信キャリア」、「回線種別」、「回線速度」、「種別１」から「種別ｎ」の値が一致し、「請求項目」と「請求金額」との値が異なる（図１１、ＯＰ１４：Ｙｅｓ、ＯＰ１６：Ｎｏ）。したがって、請求情報解析部１２は、回線料金請求情報の「識別コード」が「０００６」のレコードをｔｍｐ情報に追加することを決定する。この場合、回線料金請求情報の「識別コード」が「０００６」のレコードは、ｔｍｐ情報の「項目番号」が「２」、詳細項目番号」が「１」のレコードと「通信キャリア」、「回線種別」、「回線速度」、「種別１」から「種別ｎ」の値が一致するので、マスタ生成部１４は、「項目番号」として「２」、「詳細項目番号」として「２」を取得し（図１１、ＯＰ１７）、ｔｍｐ情報に登録する（図１１、ＯＰ１８）。
【０１２２】
回線料金請求情報の「識別コード」が「０００６」のレコードと同様にして、回線料金請求情報の「識別コード」が「０００７」及び「０００８」のレコードもｔｍｐ情報に追加される。
【０１２３】
回線料金請求情報の「識別コード」が「０００９」のレコードは、回線料金請求情報の「識別コード」が「０００５」のレコードと同様にして、ｔｍｐ情報に登録される。また、回線料金請求情報の「識別コード」が「００１０」から「００１２」のレコードは、回線料金請求情報の「識別コード」が「０００６」から「０００８」のレコードと同様にして、ｔｍｐ情報に登録される。
【０１２４】
回線料金請求情報の「識別コード」が「００１３」のレコードが読み込まれた場合には、該レコードは、ｔｍｐ情報の「項目番号」が「１」、「詳細項目番号」が「１」のレコードと、「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「請求料金」、「種別１」から「種別ｎ」の値が一致する（図１１、ＯＰ１４：Ｙｅｓ、ＯＰ１６：Ｙｅｓ）。したがって、請求情報解析部１２は、回線料金請求情報の「識別コード」が「００１３」のレコードはｔｍｐ情報に追加しない。
【０１２５】
回線料金請求情報の「識別コード」が「００１４」から「００１６」のレコードは、それぞれ、「通信キャリア」、「回線種別」、「回線速度」、「種別１」から「種別ｎ」の値が一致するレコードがｔｍｐ情報に存在する（図１１、ＯＰ１４：Ｙｅｓ、ＯＰ１６：Ｙｅｓ）。したがって、請求情報解析部１２は、回線料金請求情報の「識別コード」が「００１４」から「００１６」のレコードはｔｍｐ情報に追加しない。
【０１２６】
以上のようにして、図４に示される回線料金請求情報のレコードすべてについて処理が行われ、図７に示されるｔｍｐ情報が生成される。
【０１２７】
＜＜請求書データ検査処理及び請求金額定義情報（マスタ）の更新処理＞＞
図１２Ａ及び図１２Ｂは、請求書データ検査処理及び請求金額定義情報（マスタ）の更新処理のフローの例を示す図である。請求書データ検査処理及び請求金額定義情報（マスタ）の更新処理は、請求情報読取部１１、請求情報解析部１２、履歴読込部１３、マスタ生成部１４、請求評価部１５、及び評価結果出力部１６の協働によって行われる。また、図１２Ａ及び図１２Ｂにおいては、図４に示される回線料金請求情報の請求書データ検査処理と、図７に示されるｔｍｐ情報及び図８に示される請求金額定義情報（マスタ）の更新処理とを例として説明される。
【０１２８】
請求情報読取部１１は、回線料金請求情報に含まれるレコードのうちの１レコードを回線料金請求情報ＤＢ２０から取り込む（ＯＰ３１）。例えば、請求情報読取部１１は、図
４に示される回線料金請求情報の先頭レコードから順に１レコード取り込む。請求情報読取部１１は、取り込まれた回線料金請求情報の１レコードを請求情報解析部１２に出力する。
【０１２９】
請求情報解析部１２は、請求情報読取部１１から回線料金請求情報の１レコードが入力されると、該レコードと「通信キャリア」と「回線番号」とが一致する回線申込情報（履歴）のレコードから「種別１」から「種別ｎ」のフィールドの値を取得する（ＯＰ３２）。請求情報解析部１２は、履歴読込部１３を通じて、回線申込情報（履歴）ＤＢ３０から、取り込まれた回線料金請求情報の１レコードに対応する「種別１」から「種別ｎ」のフィールドの値を取得する。以降、取り込まれた回線料金請求情報の１レコードに含まれる各フィールドと、回線申込情報（履歴）のレコードから「種別１」から「種別ｎ」のフィールドとを含むレコードを、検査用レコードと称する。
【０１３０】
請求情報解析部１２は、ｔｍｐ情報の登録レコードを読み込む（ＯＰ３３）。請求情報解析部１２は、検査用レコードと、ｔｍｐ情報の登録レコードとを比較する。請求情報解析部１２は、ｔｍｐ情報の登録レコード群のなかに、検査用レコードと「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「種別１」〜「種別ｎ」の値がすべて一致するレコードがあるか否かを判定する（ＯＰ３４）。
【０１３１】
ｔｍｐ情報の登録レコード群の中に、検査用レコードと「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「種別１」〜「種別ｎ」の値がすべて一致するレコードがない場合には（ＯＰ３４：Ｎｏ）、検査用レコードが新しいパターンであることが示される。この場合、請求情報解析部１２は、検査用レコードをｔｍｐ情報に登録することを判定し、検査用レコードをマスタ生成部１４に通知する。
【０１３２】
通知を受けると、マスタ生成部１４は、検査用レコードの請求パターンをｔｍｐ情報に登録するために、「項目番号」と「詳細項目番号」との値を取得する（ＯＰ３６）。検査用レコードと、「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値がすべて一致するｔｍｐ情報の登録レコードがない場合には、取得される「項目番号」の値は、ｔｍｐ情報に登録されているレコード群の「項目番号」の最大値に１を加算した新規の値である。また、このとき取得される「詳細項目番号」の値は、１である。「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値が全て一致するレコードが既にｔｍｐ情報に登録されている場合には、取得される「項目番号」の値は、「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値が全て一致するｔｍｐ情報の登録レコード群の「項目番号」の値である。また、取得される「詳細項目番号」の値は、「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値が全て一致するｔｍｐ情報の登録レコード群の「詳細項目番号」の値の最大値に１を加算した値である。
【０１３３】
次に、マスタ生成部１４は、取得した「項目番号」及び「詳細項目番号」と、検査用レコードの「通信キャリア」、「回線種別」、「回線速度」、「回線項目」、「請求金額」、及び「種別１」〜「種別ｎ」と、回線申込情報（履歴）から得られた「種別１」から「種別ｎ」の値と、をｔｍｐ情報に登録する（ＯＰ３７）。その後処理がＯＰ４２に進む。
【０１３４】
ＯＰ３４において、ｔｍｐ情報の登録レコード群に、検査用レコードと「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「種別１」〜「種別ｎ」の値がすべて一致するレコードがある場合には（ＯＰ３４：Ｙｅｓ）、請求情報解析部１２は、加えて「請求金額」の値も一致するレコードがあるか否かを判定する（ＯＰ３８）。
【０１３５】
検査用レコードと「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「
種別１」〜「種別ｎ」に加えて「請求金額」の値も一致するｔｍｐ情報の登録レコードがある場合には（ＯＰ３８：Ｙｅｓ）、請求情報解析部１２は、ｔｍｐ情報の該当レコードの「ＯＫカウンタ」に１を加算する（ＯＰ４１）。この場合には、検査用レコードに対応する回線料金請求情報のレコード及び該当のｔｍｐ情報の登録レコードにエラーがないことが示される。その後、処理がＯＰ４２に進む。
【０１３６】
検査用レコードと「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「種別１」〜「種別ｎ」の値が全て一致するものの、「請求金額」の値は一致しないｔｍｐ情報の登録レコードがある場合には（ＯＰ３８：Ｎｏ）、請求情報解析部１２は、ｔｍｐ情報の該当レコードの「ＮＧカウンタ」に１を加算する（ＯＰ３９）。この場合には、検査用レコードに対応する回線料金請求情報のレコードの「請求金額」の値又は該当のｔｍｐ情報の登録レコードの「請求金額」の値の何れかにエラーの可能性があることが示される。請求情報解析部１２は、検査用レコードに対応する回線料金請求情報の１レコードをエラー情報に登録する（ＯＰ４０）。その後処理がＯＰ４２に進む。
【０１３７】
請求情報読取部１１は、検査用レコードに対応する回線料金請求情報のレコードが、回線料金請求情報の最後のレコードか否かを判定する（ＯＰ４２）。すなわち、請求情報読取部１１は、回線料金請求情報に含まれる全てのレコードについて、処理が終了したか否かを判定する。
【０１３８】
検査用レコードに対応する回線料金請求情報のレコードが、回線料金請求情報に含まれる最後のレコードでない場合には（ＯＰ４２：Ｎｏ）、処理がＯＰ３１に戻り、請求情報読取部１１は、回線料金請求情報から次の１レコードを取り込む。その後、回線料金請求情報に含まれる全てのレコードの処理が終了するまで、ＯＰ３１からＯＰ４２の処理が繰り返される。
【０１３９】
検査用レコードに対応する回線料金請求情報のレコードが、回線料金請求情報に含まれる最後のレコードである場合には（ＯＰ４２：Ｙｅｓ）、請求情報読取部１１は、回線料金請求情報に含まれる全てのレコードの処理終了を請求評価部１５に通知する。
【０１４０】
通知を受けると、請求評価部１５は、ｔｍｐ情報から１レコード読み込む（ＯＰ４３）。例えば、請求評価部１５は、ｔｍｐ情報の先頭から順に１レコード読み込む。
【０１４１】
請求評価部１５は、読み込んだｔｍｐ情報のレコードの「ＮＧカウンタ」の値が０であるか否かを判定する（ＯＰ４４）。
【０１４２】
読み込んだｔｍｐ情報のレコードの「ＮＧカウンタ」の値が０である場合には（ＯＰ４４：Ｙｅｓ)、請求評価部１５は、当該ｔｍｐ情報のレコードにエラーがないことを判定
する。請求評価部１５は、ｔｍｐ情報の次のレコードを読み込む（ＯＰ４３）。
【０１４３】
読み込んだｔｍｐ情報のレコードの「ＮＧカウンタ」の値が０でない場合には（ＯＰ４４：Ｎｏ）、請求評価部１５は、読み込んだｔｍｐ情報のレコードの「ＯＫカウンタ」の値が０であるか否かを判定する（ＯＰ４５）。
【０１４４】
読み込んだｔｍｐ情報のレコードの「ＮＧカウンタ」の値が０ではなく、且つ、「ＯＫカウンタ」の値が０である場合には（ＯＰ４５：Ｙｅｓ)、読み込んだｔｍｐ情報のレコ
ードと、「通信キャリア」，「回線種別」，「回線速度」，「請求項目」，及び「種別１」から「種別ｎ」の値がすべて一致する回線料金請求情報のレコードはあるものの、「請求金額」の値が一致する回線料金請求情報のレコードがなかったことが示される。この場合、読み込んだｔｍｐ情報のレコードの「請求金額」の値がエラーである可能性が高いこ
とが示され、請求評価部１５は、ｔｍｐ情報の当該レコードの「請求情報」の値を更新する（ＯＰ４６）。例えば、請求評価部１５は、読み込んだｔｍｐ情報と「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「請求項目」、「種別１」から「種別ｎ」の値がすべて一致する回線料金請求情報のレコードの「請求金額」の値で、読み込んだｔｍｐ情報のレコードの「請求金額」の値を上書きして、ｔｍｐ情報の当該レコードを更新する。また、請求評価部１５は、エラー情報内の当該ｔｍｐ情報のレコードをエラー情報に登録する（ＯＰ４７）。その後、処理がＯＰ４８に進む。
【０１４５】
読み込んだｔｍｐ情報のレコードの「ＮＧカウンタ」の値が０ではなく、且つ、「ＯＫカウンタ」の値も０でない場合には（ＯＰ４５：Ｎｏ)、請求評価部１５は、ｔｍｐ情報
の当該レコードをエラー情報に追加する（ＯＰ４７）。この場合、読み込んだｔｍｐ情報のレコードと、回線料金請求情報のレコードとのいずれにもエラーの可能性があることが示される。なお、このとき、エラー情報には、ｔｍｐ情報の当該レコードと、「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「請求項目」、「種別１」から「種別ｎ」の値が全て一致し、「請求金額」の値が一致しない回線料金請求情報のレコードも登録されている。
【０１４６】
ＯＰ４７の処理が終了すると、請求評価部１５は、読み込んだｔｍｐ情報のレコードが最後のレコードであるか否かを判定する（ＯＰ４８）。すなわち、請求評価部１５は、ｔｍｐ情報の全てのレコードについて、ＯＰ４３からＯＰ４７の処理が行われたか否かを判定する。
【０１４７】
読み込んだｔｍｐ情報のレコードが最後のレコードでない場合には（ＯＰ４８：Ｎｏ)
、請求評価部１５は、次のｔｍｐ情報のレコードを読み込む（ＯＰ４３）。ｔｍｐ情報に含まれる全てのレコードについて処理が終わるまで、ＯＰ４３からＯＰ４７の処理が繰り返される。
【０１４８】
読み込んだｔｍｐ情報のレコードが最後のレコードである場合には（ＯＰ４８：Ｙｅｓ）、マスタ生成部１４は、ｔｍｐ情報を回線料金定義情報（マスタ）に反映させる（ＯＰ４９）。評価結果出力部１６は、エラー情報を出力する（ＯＰ５０）。例えば、評価結果出力部１６は、ユーザが使用するクライアント端末にエラー情報を送信し、ディスプレイに表示させてもよいし、エラー情報をファイルに出力してもよい。
【０１４９】
エラー情報には、エラーの可能性のあるｔｍｐ情報のレコード、及びエラーの可能性のある回線料金請求情報のレコードが含まれるので、ユーザは、エラー情報を参照することにより、エラーの可能性のあるレコードを特定し、確認又は修正することができる。例えば、ユーザが請求料金定義情報（マスタ）のエラーを修正する場合には、エラー情報に示された項目番号と詳細項目番号が指定されると、請求書データ検査装置１は、対応する請求料金定義情報（マスタ）のレコードを出力する。該レコードが修正されると、請求書データ検査装置１は、請求料金定義情報（マスタ）の該当レコードに対応するｔｍｐ情報のレコードに修正内容を反映させて、請求金額料金定義情報（マスタ）とｔｍｐ情報との整合性を保つ。
【０１５０】
＜＜第１実施形態の作用効果＞＞
第１実施形態の請求書データ検査装置は、通信キャリアから送られる回線の使用契約に対する請求書データから請求金額定義情報（マスタ）（ｔｍｐ情報）を生成する。これによって、企業ネットワークの管理者やオペレータは請求書フォーマット情報と請求書データを請求書データ検査装置に入力すれば、請求金額定義情報（マスタ）が生成されるので、請求書データの管理業務の（１）請求金額定義情報（マスタ）初期構築業務を自動化することができる。また、（１）請求金額定義情報（マスタ）初期構築業務における、請求
書データを入力する等の企業ネットワークの管理者やオペレータの処理負荷を軽減することができる。また、ユーザによる請求書データの入力ミスを防ぐことができる。
【０１５１】
また、第１実施形態の請求書データ検査装置は、請求金額定義情報（マスタ）（又はｔｍｐ情報）を用いて通信キャリアから提示される請求書データ検査を行う。この際、企業ネットワークの管理者やオペレータは、通信キャリアから提示される請求書データを請求書データ検査装置に入力する操作を行うだけでよく、請求書データの管理業務の（３）回線料金検査業務を自動化することができ、請求書チェックの利便性が図られ、請求書データのチェック誤りやチェック漏れ等を低減することができる。
【０１５２】
また、第１実施形態の請求書データ検査装置は、請求書データの検査が終わると、ｔｍｐ情報の各レコードの「ＯＫカウンタ」と「ＮＧカウンタ」との値をチェックする。「ＯＫカウンタ」の値が０で、「ＮＧカウンタ」の値が１以上である場合には、請求書データ検査装置は、該当するｔｍｐ情報レコードを更新し、これによって、請求金額定義情報（マスタ）も更新される。これによって、請求書データの管理業務の（４）請求金額定義情報（マスタ）更新業務の一部を自動化することができ、ユーザによる請求金額定義情報（マスタ）のメンテナンス頻度を低減することができる。
【０１５３】
また、第１実施形態の請求書データ検査装置は、「ＯＫカウンタ」及び「ＮＧカウンタ」のいずれの値も１以上である場合には、エラー情報として、エラーの可能性があるｔｍｐ情報のレコード及び回線料金請求情報のレコードを出力する。これによって、エラー情報を確認したユーザに、エラーの可能性があるｔｍｐ情報のレコード及び回線料金請求情報のレコードの確認を促すことができ、エラーの検出が容易になる
以上のように、第1実施形態の請求書データ検査装置によれば、請求書データの管理業
務の一部を自動化することができ、人為ミスを低減することができる。また、請求データの管理業務の運用コストを軽減することができる。
【０１５４】
＜変形例＞
第１実施形態では、ｔｍｐ情報と回線料金請求情報とで、「請求金額」以外のフィールドの値が一致し、「請求金額」のフィールドの値のみが一致しないレコードがエラーの可能性のあるレコードとしてエラー情報に含まれて出力された。これによって、第１実施形態において説明された請求書データ検査処理によれば、請求書データに含まれる請求金額の記載間違いなどのエラーは検出可能である。
【０１５５】
変形例では、ｔｍｐ情報に「回線番号」の値を追加することで、請求書データ検査装置は、請求書データ検査処理において、回線料金請求情報のレコードの「回線番号」の値がｔｍｐ情報のレコードと一致するか否かも判定する。通常、通信キャリアと回線番号とが回線料金請求情報のレコードとｔｍｐ情報のレコードと一致していながら他のフィールドの値が一致しないことはあまり考えられない。変形例では、例えば、請求書データに記載されている回線番号に対応する請求内容が、実際の契約の請求内容と異なるような、通信キャリアの請求書データにおける請求金額以外の記載間違いを検出する。
【０１５６】
図１３は、変形例におけるｔｍｐ情報の例を示す。変形例では、第１実施形態とは異なり、ｔｍｐ情報に「回線番号」フィールドを有する。
【０１５７】
図１４は、変形例における、請求金額定義情報（マスタ）の初期構築処理のフローの例を示す図である。
【０１５８】
ＯＰ６１からＯＰ６３までの処理は、第１実施形態の請求金額定義情報（マスタ）の初期構築処理における図１１のＯＰ１１からＯＰ１３までの処理と同様であるので、説明を
省略する。
【０１５９】
請求情報解析部１２は、ＯＰ６１において判定用レコードと、ｔｍｐ情報の登録レコードとを比較する。請求情報解析部１２は、ｔｍｐ情報に、判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」に加えて「回線番号」の値がすべて一致するレコードがあるか否かを判定する（ＯＰ６４）。
【０１６０】
ｔｍｐ情報の登録レコード群の中に、判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」に加えて「回線番号」の値がすべて一致するレコードがない場合には（ＯＰ６４：Ｎｏ）、判定用レコードが新しいパターンであることが示される。この場合、請求情報解析部１２は、判定用レコードをｔｍｐ情報に登録することを判定し、判定用レコードをマスタ生成部１４に通知する。
【０１６１】
通知を受けると、マスタ生成部１４は、判定用レコードの請求パターンをｔｍｐ情報に登録するために、「項目番号」と「詳細項目番号」との値を取得する（ＯＰ６５）。判定用レコードと、「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値がすべて一致するｔｍｐ情報の登録レコードはないので、取得される「項目番号」の値は、ｔｍｐ情報に登録されているレコード群の「項目番号」の最大値に１を加算した新規の値である。また、このとき取得される「詳細項目番号」の値は、１である。
【０１６２】
次に、マスタ生成部１４は、取得した「項目番号」及び「詳細項目番号」と、判定用レコードの「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「回線項目」、「請求金額」、及び「種別１」〜「種別ｎ」と、回線申込情報（履歴）から得られた「種別１」から「種別ｎ」の値と、をｔｍｐ情報に登録する（ＯＰ６８）。
【０１６３】
ｔｍｐ情報に、判定用レコードと「通信キャリア」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」に加えて「回線番号」の値がすべて一致するレコードがある場合には（ＯＰ６４：Ｙｅｓ）、請求情報解析部１２は、加えて「請求項目」と「請求金額」の値も一致するレコードがあるか否かを判定する（ＯＰ６６）。
【０１６４】
判定用レコードと「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」に加えて「請求項目」と「請求金額」の値も一致するｔｍｐ情報の登録レコードがある場合には（ＯＰ６６：Ｙｅｓ）、判定用レコードと同じ請求パターンが既にｔｍｐ情報に登録されていることが示される。その後、処理がＯＰ６９に進む。
【０１６５】
判定用レコードと「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」は一致するｔｍｐ情報の登録レコードはあるものの、「請求項目」と「請求金額」の値までもが一致するｔｍｐ情報の登録レコードがない場合には（ＯＰ６６：Ｎｏ）、判定用レコードは新しい請求パターンであることが示される。この場合、請求情報解析部１２は、判定用レコードをｔｍｐ情報に登録することを判定し、判定用レコードをマスタ生成部１４に通知する。
【０１６６】
通知を受けると、マスタ生成部１４は、判定用レコードの請求パターンをｔｍｐ情報に登録するために、「項目番号」と「詳細項目番号」との値を取得する（ＯＰ６７）。ＯＰ６４において、ｔｍｐ情報には、「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値がすべて一致するレコードが既に登録されていることが示されている。したがって、マスタ生成部１４は、「項目番号」の値として、「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値が全て一致するｔｍｐ情報の登録レコード群の「項目番号」の値を取得する。また、マ
スタ生成部１４は、「詳細項目番号」の値として、判定用レコードと「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「種別１」〜「種別ｎ」の値が全て一致するｔｍｐ情報の登録レコード群の「詳細項目番号」の値の最大値に１を加算した値を取得する。
【０１６７】
マスタ生成部１４は、取得した「項目番号」及び「詳細項目番号」と、判定用レコードの「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「回線項目」、「請求金額」、及び「種別１」〜「種別ｎ」と、回線申込情報（履歴）から得られた「種別１」から「種別ｎ」の値と、をｔｍｐ情報に登録する（ＯＰ６８）。その後処理がＯＰ６９に進む。
【０１６８】
ＯＰ６９では、図１１のＯＰ１９の処理と同様にして、請求情報読取部１１は、判定用レコードに対応する回線料金請求情報の１レコードが、回線料金請求情報の最後のレコードか否かを判定する（ＯＰ６９）。
【０１６９】
判定用レコードに対応する回線料金請求情報の１レコードが、回線料金請求情報に含まれる最後のレコードでない場合には（ＯＰ６９：Ｎｏ）、処理がＯＰ６１に戻り、請求情報読取部１１は、回線料金請求情報から次の１レコードを取り込む。
【０１７０】
判定用レコードに対応する回線料金請求情報の１レコードが、回線料金請求情報に含まれる最後のレコードである場合には（ＯＰ６９：Ｙｅｓ）、請求情報読取部１１は、回線料金請求情報に含まれる全てのレコードの処理終了をマスタ生成部１４に通知する。通知を受けると、マスタ生成部１４は、ｔｍｐ情報を請求金額定義情報（マスタ）に反映させる（ＯＰ７０）。マスタ生成部１４は、例えば、ｔｍｐ情報の「項目番号」、「詳細項目番号」、「回線番号」を削除し、「通信キャリア」、「回線種別」、「回線速度」、「請求項目」、「種別１」〜「種別ｎ」の値がすべて同じである複数のレコード１つに集約して、ｔｍｐ情報を請求金額定義情報（マスタ）に反映させる。このようにして生成された請求料金定義情報（マスタ）は、第１実施形態において説明された請求料金定義情報（マスタ）（図８）と同様になる。マスタ生成部１４は、生成された請求金額定義情報（マスタ）とｔｍｐ情報とを請求金額定義情報ＤＢ４０に格納する。
【０１７１】
図１５は、変形例における請求書データ検査処理及び請求金額定義情報（マスタ）の更新処理のフローの例を示す図である。
【０１７２】
ＯＰ８１からＯＰ８３までの処理は、第１実施形態の請求書データ検査処理及び請求金額定義情報（マスタ）の更新処理における図１２ＡのＯＰ３１からＯＰ３３までの処理と同様であるので、説明を省略する。
【０１７３】
請求情報解析部１２は、ｔｍｐ情報の登録レコード群のなかに、検査用レコード（ＯＰ８２）と、「通信キャリア」及び「回線番号」の両方の値が一致するレコードがあるか否かを判定する（ＯＰ８４）。
【０１７４】
ｔｍｐ情報の登録レコード群のなかに、検査用レコードと、「通信キャリア」及び「回線番号」の両方の値が一致するレコードがない場合には（ＯＰ８４：Ｎｏ）、検査用レコードが新しいパターンであることが示される。この場合、請求情報解析部１２は、検査用レコードをｔｍｐ情報に登録することを判定し、検査用レコードをマスタ生成部１４に通知する。
【０１７５】
通知を受けると、マスタ生成部１４は、検査用レコードの請求パターンをｔｍｐ情報に登録するために、「項目番号」と「詳細項目番号」との値を取得する（ＯＰ８５）。検査
用レコードと、「通信キャリア」及び「回線番号」の両方の値が一致するｔｍｐ情報の登録レコードがない場合には、取得される「項目番号」の値は、ｔｍｐ情報に登録されているレコード群の「項目番号」の最大値に１を加算した新規の値である。また、このとき取得される「詳細項目番号」の値は、１である。
【０１７６】
次に、マスタ生成部１４は、取得した「項目番号」及び「詳細項目番号」と、検査用レコードの「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「回線項目」、「請求金額」、及び「種別１」〜「種別ｎ」と、回線申込情報（履歴）から得られた「種別１」から「種別ｎ」の値と、をｔｍｐ情報に登録する（ＯＰ８６）。
【０１７７】
ｔｍｐ情報の登録レコード群のなかに、検査用レコードと、「通信キャリア」及び「回線番号」の両方の値が一致するレコードがある場合には（ＯＰ８４：Ｙｅｓ）、請求情報解析部１２は、「通信キャリア」、「回線番号」に加えて、「回線種別」、「回線速度」、「回線項目」及び「種別１」〜「種別ｎ」の値がすべて一致するレコードが存在するか否かを判定する（ＯＰ８７）。
【０１７８】
ｔｍｐ情報の登録レコード群のなかに、検査用レコードと、「通信キャリア」及び「回線番号」に加えて、「回線種別」、「回線速度」、「回線項目」及び「種別１」〜「種別ｎ」の値がすべて一致するレコードが存在しない場合には（ＯＰ８７：Ｎｏ）、請求情報解析部１２は、検査用レコードに対応する回線料金請求情報のレコードをエラー情報に登録する（ＯＰ９０）。検査用レコードが、ｔｍｐ情報のレコードと「通信キャリア」と「回線番号」とが一致するにもかかわらず、「回線種別」、「回線速度」、「回線項目」及び「種別１」〜「種別ｎ」の一部または全部の値が一致しない場合には、検査用レコードに対応する回線料金請求情報のレコードにエラーがあることが示される。「回線種別」、「回線速度」、「回線項目」及び「種別１」〜「種別ｎ」の値が通信キャリア側で変更される場合には、サービス自体が変更になるため、通常は、通信キャリアと新たに契約することになる。その場合、「回線番号」も新しくなるため、検査用レコードとｔｍｐ情報とが「通信キャリア」と「回線番号」とが一致するにもかかわらず、「回線種別」、「回線速度」、「回線項目」及び「種別１」〜「種別ｎ」の一部または全部の値が一致しない場合には、請求書データにエラーがあったことが示される。
【０１７９】
ｔｍｐ情報の登録レコード群のなかに、検査用レコードと、「通信キャリア」及び「回線番号」に加えて、「回線種別」、「回線速度」、「回線項目」及び「種別１」〜「種別ｎ」の値がすべて一致するレコードが存在する場合には（ＯＰ８７：Ｙｅｓ）、請求情報解析部１２は、さらに「請求金額」も一致するレコードが存在するか否かを判定する（ＯＰ８８）。
【０１８０】
検査用レコードと「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「請求項目」、「種別１」〜「種別ｎ」に加えて「請求金額」の値も一致するｔｍｐ情報の登録レコードがある場合には（ＯＰ８８：Ｙｅｓ）、請求情報解析部１２は、ｔｍｐ情報の該当レコードの「ＯＫカウンタ」に１を加算する（ＯＰ９１）。この場合には、検査用レコードに対応する回線料金請求情報の１レコード及び該当のｔｍｐ情報の登録レコードにエラーがないことが示される。
【０１８１】
検査用レコードと「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「請求項目」、「種別１」〜「種別ｎ」の値が全て一致するものの、「請求金額」の値は一致しないｔｍｐ情報の登録レコードがある場合には（ＯＰ８８：Ｎｏ）、請求情報解析部１２は、ｔｍｐ情報の該当レコードの「ＮＧカウンタ」に１を加算する（ＯＰ８９）。この場合には、検査用レコードに対応する回線料金請求情報の１レコードの「請求金額」の値又は該当のｔｍｐ情報の登録レコードの「請求金額」の値の何れかにエラーの可能性が
あることが示される。請求情報解析部１２は、検査用レコードに対応する回線料金請求情報の１レコードをエラー情報に登録する（ＯＰ９０）。
【０１８２】
ＯＰ８６、ＯＰ９０、ＯＰ９１以降、図１２Ｂに示されるＯＰ４２からＯＰ５０の処理が行われる。
【０１８３】
以上のようにして、ｔｍｐ情報に「回線番号」フィールドを追加することによって、請求書データに、「通信キャリア」、「回線番号」、「回線種別」、「回線速度」、「請求項目」、「種別１」〜「種別ｎ」、「請求金額」の値の一部または全部にエラーがある場合には、対応する回線料金請求情報のレコードがエラー情報に登録される。したがって、請求金額以外の記載間違いなどのエラーが請求書データに含まれる場合にも、該エラーを検出することが可能になり、請求書データ検査処理の精度が向上する。
【０１８４】
＜その他＞
第１実施形態においては、複数の通信キャリアと複数の回線の使用契約を結ぶ企業が、回線の使用契約に対する請求書データを管理する例について説明された。これに限定されることなく、第１実施形態の請求書データ検査装置は、例えば、不動産の賃貸契約、雑誌等の定期購読の契約、又は継続的に行われる家事代行サービス等の契約等の定期的に請求書が発行されるような契約の請求書データの検査に対しても適用可能である。
【０１８５】
請求書データ検査装置は、本発明の態様の一つにおける請求書データ検査支援装置の一例である。また、第１実施形態の請求料金定義情報（マスタ）の初期構築処理と、請求書データ検査処理及び請求金額定義情報（マスタ）の更新処理とは、別々の装置で実行されてもよい。
【０１８６】
以上の実施形態に関し、更に以下の付記を開示する。
【０１８７】
（付記１）
複数の請求書データから所定のフィールド群を含む共通様式を有するレコード群を編集ルールに従って生成する第１の生成部と、
前記レコード群中の内容が完全一致する複数のレコードを一つに集約することによって、前記共通様式を有する検査用レコードと照合される１以上のレコードを含む請求書マスタを生成する第２の生成部と、
を含む請求書データ検査支援装置。
（付記２）
前記検査用レコードと前記請求書マスタの１以上のレコードとを照合する照合部と、
前記照合部による照合の結果、前記検査用レコードの内容が前記請求書マスタの１以上のレコードのいずれの内容とも完全一致しない場合には、前記検査用レコードを出力する出力部と
をさらに備える付記１に記載の請求書データ検査支援装置。
（付記３）
前記出力部は、前記照合部による照合の結果、前記検査用レコードの内容が前記請求書マスタの１以上のレコードのいずれの内容とも完全一致しない場合には、前記検査用レコードと前記所定のフィールド群の所定の１つのフィールドが一致せず、前記所定の１つのフィールド以外のフィールドが一致する前記請求書マスタのレコードを出力する
付記１又は２に記載の請求書データ検査支援装置。
（付記４）
前記レコード群は、少なくとも、請求書データの請求対象固有の識別子が格納される識別子フィールドと前記所定の１つのフィールドを含み、
前記出力部は、前記照合部による照合の結果、前記検査用レコードと、前記識別子フィ
ールドの値が一致し、且つ、前記識別子フィールド及び前記所定の１つのフィールド以外のフィールドのうち少なくとも１つのフィールドの値が異なる前記請求書マスタのレコードが存在する場合には、前記検査用レコードを出力する
付記３に記載の請求書データ検査支援装置。
（付記５）
前記第２の生成部は、前記照合部による照合の結果、前記検査用レコードの内容が前記請求書マスタの１以上のレコードのいずれの内容とも完全一致しない場合には、前記検査用レコードを前記請求書マスタに追加する
付記１から４のいずれか１項に記載の請求書データ検査支援装置。
（付記６）
前記照合部は、前記検査用レコードが１以上存在する場合に、前記請求書マスタの１以上のレコードそれぞれについて、内容が完全一致する第１の前記検査用レコードの有無、及び、前記所定のフィールド群の所定の１つのフィールドが一致せず、前記所定の１つのフィールド以外のフィールドが一致する第２の検査用レコードの有無を記録する
付記１から５に記載の請求書データ検査支援装置。
（付記７）
前記第２の生成部は、前記照合部による照合の結果、前記第１の検査用レコードが存在せず、且つ、前記第２の検査用レコードが存在する前記請求書マスタのレコードを前記所定の１つのフィールドを、前記第２の検査用レコードの前記所定の１つのフィールドの値で更新する
付記６に記載の請求書データ検査支援装置。
（付記８）
前記出力部は、前記出力部による照合の結果、前記第１の検査用レコード及び前記第２の検査用レコードが存在する前記請求書マスタのレコードを出力する
付記６又は７に記載の請求書データ検査支援装置。
（付記９）
前記第２の生成部は、前記レコード群の各レコードの少なくとも１つのフィールドを含む付加情報を取得し、前記レコード群中の内容と前記付加情報とが完全に一致する複数のレコードを集約することによって、前記請求書マスタを生成する
請求項１から８の何れか１項に記載の請求書データ検査支援装置。
（付記１０）
コンピュータが、
複数の請求書データから所定のフィールド群を含む共通様式を有するレコード群を編集ルールに従って生成し、
前記レコード群中の内容が完全一致する複数のレコードを一つに集約して前記共通様式を有する検査用レコードと照合される１以上のレコードを含む請求書マスタを生成する、請求書データ検査支援方法。
（付記１１）
請求書データを検査するためのプログラムであって、該プログラムを実行することによってコンピュータが、
複数の請求書データから所定のフィールド群を含む共通様式を有するレコード群を編集ルールに従って生成し、
前記レコード群中の内容が完全一致する複数のレコードを一つに集約して前記共通様式を有する検査用レコードと照合される１以上のレコードを含む請求書マスタを生成する、請求書データ検査支援プログラム。
【符号の説明】
【０１８８】
１      請求書データ検査装置
１１    請求情報読取部
１２    請求情報解析部
１３    履歴読込部
１４    マスタ生成部
１５    請求評価部
１６    評価結果出力部
１７    請求フォーマット情報生成部
１８    回線料金請求情報生成部
２０    回線料金請求情報データベース
３０    回線申込情報データベース
４０    請求金額定義情報データベース
【図１】
0005516231.tif 000002
【図２】
0005516231.tif 000003
【図３】
0005516231.tif 000004
【図４】
0005516231.tif 000005
【図５】
0005516231.tif 000006
【図６】
0005516231.tif 000007
【図７】
0005516231.tif 000008
【図８】
0005516231.tif 000009
【図９Ａ】
0005516231.tif 000010
【図９Ｂ】
0005516231.tif 000011
【図１０】
0005516231.tif 000012
【図１１】
0005516231.tif 000013
【図１２Ａ】
0005516231.tif 000014
【図１２Ｂ】
0005516231.tif 000015
【図１３】
0005516231.tif 000016
【図１４】
0005516231.tif 000017
【図１５】
0005516231.tif 000018
【図１６】
0005516231.tif 000019