(57)【要約】【課題】請求と入金とを、限られたリソースを用いながら効率的に消し込むための消込処理方法、消込処理システム及び消込処理プログラムを提供する。【解決手段】消込処理システム２０の制御部２１は、入金データ記憶部３４、請求データ記憶部３３に記録されたレコードを用いてパターン展開を行なう。そして、制御部２１は、生成したパターンをパターンメモリ２３に格納した場合、パターンメモリ２３の容量以下かどうかを確認する。メモリ容量を超える場合にはパターン展開処理を終了し、パターンメモリ２３に格納した合算パターンを、金額を用いてソートする。制御部２１は、パターンメモリ２３に記録した各合算パターンの金額と、消込相手のレコードの金額とを比較することにより、マッチングを行なう。そして、消し込みができた場合には消込コードを含む消込フラグを記録する。【選択図】図１
2007265332.tif 000002
【特許請求の範囲】
【請求項１】
請求金額を含む請求レコードを記録した請求データ記憶部と、入金額を含む入金レコードを記録した入金データ記憶部と、消し込みに用いるパターンを記録するパターンメモリの制御手段とを用いて、請求レコードと入金レコードとを照合して消し込みを行なう方法であって、
前記制御手段が、
前記パターンメモリのメモリ容量に基づいて設定された基準数に達するまで、請求レコード又は入金レコードのいずれかを組み合わせて合算パターンを生成し、前記パターンメモリに記録するパターン展開処理を行なう段階と、
前記パターンメモリに記録された合算パターンの金額を算出して、この金額の大きい順番に並び替えて、パターン展開処理を行なっていないレコードとの照合処理を順次実行し、
マッチングした場合には、この合算パターンを構成する要素レコードに消込フラグを記録する照合処理を行なう段階とを実行し、
前記パターンメモリに記録されたすべての合算パターンの照合を行なっても、消し込まれないレコードが残っている場合には、残ったレコードを用いて前記パターン展開処理及び照合処理を繰り返すことを特徴とする消込処理方法。
【請求項２】
請求レコード及び入金レコードは、それぞれ請求日、入金日に関するデータが含まれ、
同じ請求日の請求レコード又は同じ入金日の入金レコードを用いて、それぞれグループを構成し、
グループ毎に、前記パターン展開処理及び照合処理を実行することを特徴とする請求項１に記載の消込処理方法。
【請求項３】
前記パターン展開処理は、請求レコード数と入金レコード数とを比較し、
請求レコード又は入金レコードのいずれかレコード数の多い方のレコードを用いて合算パターンを生成して、前記基準数に達するまで合算パターンを前記パターンメモリに記録することを特徴とする請求項１又は２に記載の消込処理方法。
【請求項４】
請求金額を含む請求レコードを記録した請求データ記憶部と、入金額を含む入金レコードを記録した入金データ記憶部と、消し込みに用いるパターンを記録するパターンメモリの制御手段とを用いて、請求レコードと入金レコードとを照合して消し込みを行なうシステムであって、
前記制御手段が、
前記パターンメモリのメモリ容量に基づいて設定された基準数に達するまで、請求レコード又は入金レコードのいずれかを組み合わせて合算パターンを生成し、前記パターンメモリに記録するパターン展開処理を行なう手段と、
前記パターンメモリに記録された合算パターンの金額を算出して、この金額の大きい順番に並び替えて、パターン展開処理を行なっていないレコードとの照合処理を順次実行し、
マッチングした場合には、この合算パターンを構成する要素レコードに消込フラグを記録する照合処理を行なう手段とを備え、
前記パターンメモリに記録されたすべての合算パターンの照合を行なっても、消し込まれないレコードが残っている場合には、残ったレコードを用いて前記パターン展開処理及び照合処理を繰り返すことを特徴とする消込処理システム。
【請求項５】
請求金額を含む請求レコードを記録した請求データ記憶部と、入金額を含む入金レコードを記録した入金データ記憶部と、消し込みに用いるパターンを記録するパターンメモリの制御手段とを用いて、請求レコードと入金レコードとを照合して消し込みを行なうシス
テムであって、
前記制御手段を、
前記パターンメモリのメモリ容量に基づいて設定された基準数に達するまで、請求レコード又は入金レコードのいずれかを組み合わせて合算パターンを生成し、前記パターンメモリに記録するパターン展開処理を行なう手段と、
前記パターンメモリに記録された合算パターンの金額を算出して、この金額の大きい順番に並び替えて、パターン展開処理を行なっていないレコードとの照合処理を順次実行し、
マッチングした場合には、この合算パターンを構成する要素レコードに消込フラグを記録する照合処理を行なう手段として機能させ、
前記パターンメモリに記録されたすべての合算パターンの照合を行なっても、消し込まれないレコードが残っている場合には、残ったレコードを用いて前記パターン展開処理及び照合処理を繰り返すことを特徴とする消込処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、売掛金の回収に係り、請求と入金を照合し、消し込むための消込処理方法、消込処理システム及び消込処理プログラムに関するものである。
【背景技術】
【０００２】
売掛金の回収に係る業務の一つとして、請求内容の記載された請求データと、入金内容の記載された入金データとを照合して、入金済みの請求データを逐次消し込んでいく請求データの消込作業が広く一般に行なわれている。最近では、この作業を、コンピュータを利用して行なう場合もある。例えば、ＥＤＩ（Electronic Data Interchange ）を利用して消込を行なう技術も開示されている（例えば、特許文献１を参照。）。この文献記載の技術では、消込キー情報を持ち回ることにより、消込処理の自動化を行なっている。
【０００３】
しかし、取引関係においてはＥＤＩを利用できない場合もある。この場合には日付や請求先情報、支払元情報を用いて、消し込みのための突き合わせを行なう。そして、請求金額と入金額とを用いて消込処理を行なう。しかし、このような請求と入金に関しては、必ずしも１つ１つが対応して行なわれるとは限らない。
【０００４】
そこで、請求先と入金元が一致する請求明細データや入金明細データ中に含まれる請求額と入金額とに対して、予め決められた幾つかのパターンに従って、金額を合算して消込処理を行なう装置も検討されている（例えば、特許文献２を参照。）。この文献記載の技術では、消込対象となる入金明細データの合計額と、この入金明細データの直近の入金日より以前の特定の期間の請求日付の請求明細データの合計額とを突合する。そして、両合計額が一致、又はその金額の差が予め設定された誤差範囲内であれば消込処理を行なう。
【特許文献１】特開２００１−９２９１３号公報（第１頁）
【特許文献２】特開２００４−１８５５８８号公報（第１頁）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、請求レコードや入金レコードが多い場合、これらを合算するために多様なパターンが考えられる。この場合、請求レコードを合算するパターンや入金レコードを合算するパターンもある。このため、各合算パターンを生成しながら、生成の度に入金レコードと請求レコードとの照合処理を行なったのでは演算負荷が大きくなる。そこで、予め合算パターンを生成し、それらを一括して照合することも可能である。この場合には、消し込みの高速化を図ることができる。しかし、請求レコードや入金レコードの数が多い場合、これらを組み合わせるパターンも膨大になり、このパターンを格納するメモリの容量負荷が大きくなる。
【０００６】
本発明は、上記課題を解決するためになされたものであり、その目的は、限られたリソースを用いながら、効率的に請求と入金とをマッチングさせて消し込むための消込処理方法、消込処理システム及び消込処理プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記問題点を解決するために、請求項１に記載の発明は、請求金額を含む請求レコードを記録した請求データ記憶部と、入金額を含む入金レコードを記録した入金データ記憶部と、消し込みに用いるパターンを記録するパターンメモリの制御手段とを用いて、請求レコードと入金レコードとを照合して消し込みを行なう方法であって、前記制御手段が、前記パターンメモリのメモリ容量に基づいて設定された基準数に達するまで、請求レコード
又は入金レコードのいずれかを組み合わせて合算パターンを生成し、前記パターンメモリに記録するパターン展開処理を行なう段階と、前記パターンメモリに記録された合算パターンの金額を算出して、この金額の大きい順番に並び替えて、パターン展開処理を行なっていないレコードとの照合処理を順次実行し、マッチングした場合には、この合算パターンを構成する要素レコードに消込フラグを記録する照合処理を行なう段階とを実行し、前記パターンメモリに記録されたすべての合算パターンの照合を行なっても、消し込まれないレコードが残っている場合には、残ったレコードを用いて前記パターン展開処理及び照合処理を繰り返すことを要旨とする。
【０００８】
請求項２に記載の発明は、請求項１に記載の消込処理方法において、請求レコード及び入金レコードは、それぞれ請求日、入金日に関するデータが含まれ、同じ請求日の請求レコード又は同じ入金日の入金レコードを用いて、それぞれグループを構成し、グループ毎に、前記パターン展開処理及び照合処理を実行することを要旨とする。
【０００９】
請求項３に記載の発明は、請求項１又は２に記載の消込処理方法において、前記パターン展開処理は、請求レコード数と入金レコード数とを比較し、請求レコード又は入金レコードのいずれかレコード数の多い方のレコードを用いて合算パターンを生成して、前記基準数に達するまで合算パターンを前記パターンメモリに記録することを要旨とする。
【００１０】
請求項４に記載の発明は、請求金額を含む請求レコードを記録した請求データ記憶部と、入金額を含む入金レコードを記録した入金データ記憶部と、消し込みに用いるパターンを記録するパターンメモリの制御手段とを用いて、請求レコードと入金レコードとを照合して消し込みを行なうシステムであって、前記制御手段が、前記パターンメモリのメモリ容量に基づいて設定された基準数に達するまで、請求レコード又は入金レコードのいずれかを組み合わせて合算パターンを生成し、前記パターンメモリに記録するパターン展開処理を行なう手段と、前記パターンメモリに記録された合算パターンの金額を算出して、この金額の大きい順番に並び替えて、パターン展開処理を行なっていないレコードとの照合処理を順次実行し、マッチングした場合には、この合算パターンを構成する要素レコードに消込フラグを記録する照合処理を行なう手段とを備え、前記パターンメモリに記録されたすべての合算パターンの照合を行なっても、消し込まれないレコードが残っている場合には、残ったレコードを用いて前記パターン展開処理及び照合処理を繰り返すことを要旨とする。
【００１１】
請求項５に記載の発明は、請求金額を含む請求レコードを記録した請求データ記憶部と、入金額を含む入金レコードを記録した入金データ記憶部と、消し込みに用いるパターンを記録するパターンメモリの制御手段とを用いて、請求レコードと入金レコードとを照合して消し込みを行なうシステムであって、前記制御手段を、前記パターンメモリのメモリ容量に基づいて設定された基準数に達するまで、請求レコード又は入金レコードのいずれかを組み合わせて合算パターンを生成し、前記パターンメモリに記録するパターン展開処理を行なう手段と、前記パターンメモリに記録された合算パターンの金額を算出して、この金額の大きい順番に並び替えて、パターン展開処理を行なっていないレコードとの照合処理を順次実行し、マッチングした場合には、この合算パターンを構成する要素レコードに消込フラグを記録する照合処理を行なう手段として機能させ、前記パターンメモリに記録されたすべての合算パターンの照合を行なっても、消し込まれないレコードが残っている場合には、残ったレコードを用いて前記パターン展開処理及び照合処理を繰り返すことを要旨とする。
【００１２】
（作用）
請求項１又は４、５に記載の発明によれば、パターンメモリのメモリ容量に基づいて設定された基準数に達するまで、請求レコード又は入金レコードのいずれかを組み合わせて
合算パターンを生成し、パターンメモリに記録するパターン展開処理を行なう。そして、パターンメモリに記録された合算パターンの金額を算出して、この金額の大きい順番に並び替えて、パターン展開処理を行なっていないレコードとの照合処理を順次実行する。そして、マッチングした場合には、この合算パターンを構成する要素レコードに消込フラグを記録する照合処理を行なう。パターンメモリに記録されたすべての合算パターンの照合を行なっても、消し込まれないレコードが残っている場合には、残ったレコードを用いてパターン展開処理及び照合処理を繰り返す。これにより、多様な合算パターンが生成される場合においても、パターンメモリの容量を考慮しながら消し込みを行なうことができる。
【００１３】
請求項２に記載の発明によれば、同じ請求日の請求レコード又は同じ入金日の入金レコードを用いて、それぞれグループを構成し、グループ毎に、パターン展開処理及び照合処理を実行する。通常、同時期の請求をまとめたり、分割して支払ったりすることがあるため、これらを合算することにより、消し込みの効率を向上することができる。
【００１４】
請求項３に記載の発明によれば、請求レコード又は入金レコードのいずれかレコード数の多い方のレコードを用いて合算パターンを生成して、基準数に達するまで合算パターンをパターンメモリに記録する。これにより、レコード数の多い方のレコードをまとめて合算することにより、消し込みの効率を向上することができる。
【発明の効果】
【００１５】
本発明によれば、限られたリソースを用いながら、効率的に請求と入金とをマッチングさせて消し込むことができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明を具体化した一実施形態を、図１〜図９を用いて説明する。本実施形態では、売掛金に関する請求と入金とを消し込む場合に用いる消込処理方法、消込処理システム及び消込処理プログラムとして説明する。図１に示すように、本実施形態では、金融機関システム１０及び消込処理システム２０を用いて消込処理を行なう。
【００１７】
この消込処理システム２０は、消込処理を実行するコンピュータシステムである。この消込処理システム２０は、ＣＰＵ、ＲＡＭ、ＲＯＭ等の制御手段から構成された制御部２１、データ記憶手段、入力部２５、出力部２６、通信手段等を備える。入力部２５には、キーボードやポインティングデバイスを用いる。出力手段には、ディスプレイやプリンタを用いる。消込処理システム２０は、ネットワークを介して金融機関システム１０と接続され、通信を行なう。
【００１８】
消込処理システム２０の制御部２１は、消込処理を行なうための各種データの管理処理等を行なう。この制御部は、後述する処理（パターン展開処理、照合処理、パターン展開処理及び照合処理を繰り返す処理等）を行なう。そのための消込処理プログラムを実行することにより、制御部２１は、図１に示すように入金データ登録手段２１１、第１消込処理手段２１２、パターン展開手段２１３、第２消込処理手段２１４として機能する。そして、制御部２１は、開始値メモリ２２、パターンメモリ２３を備える。
【００１９】
ここで、入金データ登録手段２１１は、ファームバンキングで受信した振込データに取引先コードを付与する。第１消込処理手段２１２は、請求レコードや入金レコード全体を照合して消込処理を実行する。パターン展開手段２１３は、合算消込を行なうためのパターンを生成するパターン展開処理を行なう。第２消込処理手段２１４は、請求レコードや入金レコードを部分的に合算して照合する消込処理を行なう。
【００２０】
開始値メモリ２２には、合算パターンを生成する場合に、総計パターンからレコードを減ずる場合に用いる減数の開始値に関するデータが記録される。この開始値の初期値は「１」が設定されている。一方、パターンメモリ２３には、照合に用いられる合算パターンに関するデータが記録される。
【００２１】
更に、図１に示すように、消込処理システム２０は、マスタデータ記憶部３２、入金データ記憶部３４及び請求データ記憶部３３を備える。
マスタデータ記憶部３２には、会社情報、取引先情報、銀行情報および商品情報等のマスタデータが記録される。消込処理システム２０の利用に際して利用者は先ずマスタメンテナンスを行ない、マスタデータ記憶部３２に基本情報を登録する。本実施形態では、この中で取引先情報を用いる。マスタデータ記憶部３２には、取引先情報として、取引先毎に取引先名称、取引先カナ名、取引先コード、取引先住所、仕向銀行カナ名／コード、銀行支店カナ名／コード、口座番号、口座名義等のデータ項目が記録されている。この取引先コードは、入金レコードと請求レコードとの照合を行なうために取引先毎に付与されたコードである。
【００２２】
請求データ記憶部３３には、取引先に対する売掛金の請求レコードが記録される。請求レコードは、取引先名称および取引先コードを売上日、請求締日、請求日、入金予定日、伝票番号および取引内容（商品コード、商品名、入数、数量、単価、金額、合計額および総合計額等）等のデータ項目を記録するためのデータフィールドを含む。本実施形態では、この総合計額を請求金額として用いて消し込みを行なう。更に、各請求レコードは、消込フラグフィールドを含む。この消込フラグフィールドには、消込ができた場合に消込フラグが記録される。この消込フラグは、消込を行なった入金レコードを特定することができる固有の消込コードを含んでいる。請求データ記憶部３３に登録された請求レコードは、電子データまたは帳票類として取引先へ送付される。
【００２３】
入金データ記憶部３４には、請求に対して取引先からの振込に関する入金レコードが記録される。この入金レコードは、金融機関システム１０から振込データを取得した場合に記録される。この入金レコードには、勘定日、入金額、振込依頼人名、仕向銀行情報等が含まれる。更に、各入金レコードは、取引先コードフィールドや消込フラグフィールドを含む。この取引先コードフィールドには、取引先情報の取引先カナ名と、振込データの振込依頼人名を比較して一致した場合に付与された取引先コードが記録される。消込フラグフィールドには、消込ができた場合に消込フラグが記録される。この消込フラグは、消込を行なった請求レコードを特定するために、共通した消込コードを含んで構成される。
【００２４】
以上のように構成された消込処理システム２０を用いて、消込処理を行なう処理手順を、図２〜図９を用いて説明する。
（取引先コードの付与）
請求を受けた取引先は、仕向銀行から被仕向銀行へ代金を振り込む。そして、消込処理システム２０の制御部２１は、被仕向銀行の金融機関システム１０から振込データを取得する。本実施形態では、制御部２１の入金データ登録手段２１１が、ファームバンキングにより振込データを受信する。そして、制御部２１の入金データ登録手段２１１は、振込データを入金データ記憶部３４に記録する。更に、入金データ登録手段２１１は、マスタデータ記憶部３２に記録された取引先情報の取引先カナ名と、金融機関システム１０から取得した振込データの振込依頼人名とを比較する。両者が一致した場合には、入金データ登録手段２１１は、マスタデータ記憶部３２に登録されている取引先コードを、入金データ記憶部３４の入金レコードに付与する。
【００２５】
（消込処理）
次に、消込処理システム２０は、請求及び入金の消込処理を実行する。この処理は、同
じ取引コードが付与された請求レコードおよび入金レコードを用いて行なわれる。
【００２６】
まず、消込処理システム２０の制御部２１は、図２に示すように、入金の合計額を算出する（ステップＳ１−１）。具体的には、制御部２１の第１消込処理手段２１２は、入金データ記憶部３４から、消込対象の取引先コードが付与された入金レコードを抽出し、抽出した入金レコードの入金額を合算する。
【００２７】
次に、制御部２１は、請求の合計額を算出する（ステップＳ１−２）。具体的には、制御部２１の第１消込処理手段２１２は、請求データ記憶部３３から、消込対象の取引先コードが付与された請求レコードを抽出し、抽出した請求レコードの請求金額を合算する。
【００２８】
次に、制御部２１は、ステップＳ１−１において算出した入金合計額と、ステップＳ１−２において算出した請求合計額とが一致するかどうかを確認する（ステップＳ１−３）。ここで、両者が一致した場合（ステップＳ１−３において「ＹＥＳ」の場合）には、制御部２１は、消し込みを行なう（ステップＳ１−４）。具体的には、制御部２１の第１消込処理手段２１２は、入金データ記憶部３４に記録された入金レコード及び請求データ記憶部３３に記録された請求レコードに、共通した消込コードを付与して、この消込コードを含む消込フラグを記録する。
【００２９】
一方、合計額が一致しない場合（ステップＳ１−３において「ＮＯ」の場合）には、制御部２１は、調整金額を含めた金額範囲を算出する（ステップＳ１−５）。具体的には、制御部２１の第１消込処理手段２１２は、請求金額に対して、振込手数料を考慮した調整金額を請求合計額に加減する。ここで、調整金額は、入金額と請求額とがずれている場合であっても顧客が許容しうる金額範囲である。この調整金額、第１消込処理手段２１２に調整金額データを保持させておく。例えば、調整金額を「１０００円」とした場合、請求合計額が「３３０００円」に対して金額範囲は「３２０００〜３４０００円」とする。
【００３０】
そして、制御部２１は、ステップＳ１−１において算出した入金合計額が、ステップＳ１−５において算出した金額範囲に含まれるかどうかを確認する（ステップＳ１−６）。ここで、この金額範囲に含まれる場合（ステップＳ１−６において「ＹＥＳ」の場合）には、制御部２１は、消し込みを行なう（ステップＳ１−４）。この場合も、すべての入金レコード及び請求レコードに、共通した消込コードを付与して、この消込コードを含む消込フラグを記録する。
【００３１】
一方、金額範囲に含まれない場合（ステップＳ１−６において「ＮＯ」の場合）には、制御部２１は、各請求金額と入金合計額との比較を行なう（ステップＳ１−７）。具体的には、制御部２１の第１消込処理手段２１２は、ステップＳ１−１において算出した入金合計額と、請求データ記憶部３３に記録された各請求レコードの金額とを比較する。ここで、一致するものがある場合（ステップＳ１−８において「ＹＥＳ」の場合）には、制御部２１は、消し込みを行なう（ステップＳ１−４）。この場合には、第１消込処理手段２１２は、一致した請求レコード及びすべての入金レコードについて共通した消込コードを付与して、この消込コードを含む消込フラグを記録する。
【００３２】
一方、一致するものがない場合（ステップＳ１−８において「ＮＯ」の場合）には、制御部２１は、調整金額を含めた各請求金額と、入金合計額とを比較する（ステップＳ１−９）。具体的には、制御部２１の第１消込処理手段２１２は、請求データ記憶部３３に記録された各請求金額に調整金額を加減した金額範囲を、請求レコード毎に生成する。そして、調整金額を加減した金額範囲と、ステップＳ１−１において算出した入金合計額とを比較する。ここで、金額範囲に含まれるものがある場合（ステップＳ１−１０において「ＹＥＳ」の場合）には、制御部２１は、消し込みを行なう（ステップＳ１−４）。この場
合には、第１消込処理手段２１２は、一致した請求レコード及びすべての入金レコードについて共通した消込コードを付与して、この消込コードを含む消込フラグを記録する。
【００３３】
一方、この金額範囲に含まれるものがない場合（ステップＳ１−１０において「ＮＯ」の場合）には、制御部２１は、各入金額と請求合計額との比較を行なう（ステップＳ１−１１）。具体的には、制御部２１の第１消込処理手段２１２は、ステップＳ１−２において算出した請求合計額と、入金データ記憶部３４に記録された各入金レコードの金額とを比較する。ここで、一致するものがある場合（ステップＳ１−１２において「ＹＥＳ」の場合）には、制御部２１は、消し込みを行なう（ステップＳ１−４）。この場合には、第１消込処理手段２１２は、一致した入金レコード及びすべての請求レコードについて共通した消込コードを付与して、この消込コードを含む消込フラグを記録する。
【００３４】
一方、一致しない場合（ステップＳ１−１２において「ＮＯ」の場合）には、制御部２１は、調整金額を含めた各入金額と、請求合計額とを比較する（ステップＳ１−１３）。具体的には、制御部２１の第１消込処理手段２１２は、入金データ記憶部３４に記録された入金額に調整範囲を加減した入金額範囲を、入金レコード毎に生成する。そして、調整金額を加減した入金額範囲と、ステップＳ１−２において算出した請求合計額とを比較する。ここで、金額範囲に含まれるものがある場合（ステップＳ１−１４において「ＹＥＳ」の場合）には、制御部２１は、消し込みを行なう（ステップＳ１−４）。この場合には、第１消込処理手段２１２は、一致した入金レコード及びすべての請求レコードについて共通した消込コードを付与して、この消込コードを含む消込フラグを記録する。
【００３５】
一方、金額範囲に含まれない場合（ステップＳ１−１４において「ＮＯ」の場合）には、制御部２１は、合算消込処理を行なう（ステップＳ１−１５）。この合算消込処理を、図３〜図９を用いて説明する。
【００３６】
（合算消込処理）
まず、消込処理システム２０の制御部２１は、消込対象のレコードを日付、金額でソートする（ステップＳ２−１）。具体的には、制御部２１のパターン展開手段２１３は、入金データ記憶部３４と請求データ記憶部３３に記録された入金レコードや請求レコードを、日付および金額で並び替えを行なう。
【００３７】
次に、制御部２１は、入金データ記憶部３４と請求データ記憶部３３とに記録されたレコード数を比較する（ステップＳ２−２）。具体的には、制御部２１のパターン展開手段２１３が、請求データ記憶部３３に記録された請求レコード数、及び入金データ記憶部３４に記録された入金レコード数をそれぞれカウントして、両者を比較する。
【００３８】
そして、制御部２１は、レコード数の多い方のデータのパターン展開を行なう（ステップＳ２−３）。入金レコード数が多い場合（ステップＳ２−３において「入金」の場合）、パターン展開手段２１３は、入金データ記憶部３４に記録された入金レコードを用いてパターン展開を行なう（ステップＳ２−４）。一方、請求レコード数が多い場合（ステップＳ２−３において「請求」の場合）、パターン展開手段２１３は、請求データ記憶部３３に記録された請求レコードを用いてパターン展開を行なう（ステップＳ２−５）。
【００３９】
本実施形態では、請求データ記憶部３３或いは入金データ記憶部３４の内、レコード数の多いデータ記憶部に、１日付けの４個のレコードや、２日付けの３個のレコード等が記録されている場合を想定する。そこで、パターン展開手段２１３は、このデータ記憶部に記録されたレコードについて、日付毎にグループ分けを行なう。ここでは、１日付けを第１グループ、２日付けを第２グループとする。そして、日付（グループ）毎に、金額の大きい順番に並び替える。この結果、図６に示すテーブル５１０が生成される。まず、最も
古い日付（ここでは、１日付けの第１グループ）のレコード（古月レコード）に着目して合算パターンを生成する。ここで、説明のために、各レコードに対して、図６に示す識別子（シーケンス番号：ＳＥＱ）を付与したテーブル５２０を生成する。
【００４０】
（パターン展開処理）
次に、パターン展開処理を、図４を用いて説明する。この処理では、消込処理システム２０の制御部２１は、このグループについて、総計パターンを生成する（ステップＳ３−１）。具体的には、制御部２１のパターン展開手段２１３は、このグループのレコードの金額を合計して、図６に示す総計パターンを含むテーブル５３０を生成する。
【００４１】
次に、制御部２１は、このグループのレコードを、部分的に組み合わせてパターンを生成する。ここでは、パターン展開手段２１３は、総計パターンからｎ個のレコードを減じたパターンを生成する。そこで、まず、制御部２１のパターン展開手段２１３は、減数ｎの初期設定を行なう（ステップＳ３−２）。この場合は、開始値メモリ２２に記録された初期値を用いて、減数ｎとして「１」を設定する。
【００４２】
そして、制御部２１は、設定された減数ｎを用いてパターン（ｎ抜けパターン）を生成する（ステップＳ３−３）。具体的には、パターン展開手段２１３は、レコードを１個ずつ抜いた「１抜け」パターンを生成する。ここでは、レコード数と同じ数のパターンが生成される。この場合、パターン展開手段２１３は、合算パターンを構成するＳＥＱの合計値を算出し、この合計値が小さいものが先になるようにパターンを形成する。
【００４３】
次に、制御部２１は、パターンメモリ２３の容量を超えるかどうかを確認する（ステップＳ３−４）。具体的には、パターン展開手段２１３は、生成したパターンをパターンメモリ２３に格納した場合、パターンメモリ２３の容量以下かどうかを確認する。ここでは、生成したパターンの合計数と、パターンメモリ２３において予め設定された記録可能数とを比較して判断する。メモリ容量を超える場合（ステップＳ３−４において「ＮＯ」の場合）にはパターン展開処理を終了する。この場合、開始値メモリ２２に記録された減数ｎを更新する。これにより、次回は、開始値メモリ２２に記録された減数ｎから、パターン展開が再開される。
【００４４】
一方、メモリ容量を超えない場合（ステップＳ３−４において「ＹＥＳ」の場合）には、パターン展開手段２１３は生成した合算パターンをパターンメモリ２３に記録する（ステップＳ３−５）。この場合、パターン展開手段２１３は、生成したパターンを構成するレコードの金額（請求金額又は入金額）を合計して、この金額とともにパターンメモリ２３に記録する。ここでは、図７に示す「１抜け」パターンが追加されたテーブル５４０が記録される。
【００４５】
次に、制御部２１は、減数ｎを変更する（ステップＳ３−６）。具体的には、パターン展開手段２１３は、次のｎ抜けパターンを生成するため、減数ｎに「１」を加算した値（ｎ＋１）を減数ｎとして設定する。
【００４６】
そして、制御部２１は、更にパターン生成が可能かどうかを判断する（ステップＳ３−７）。具体的には、設定した減数ｎが「レコード数−２」を超えていないかどうか判断する。減数ｎが「レコード数−１」となった場合には、個々のレコードから構成されたパターンになるため、合算したことにならない。パターン展開を繰り返すことにより、減数ｎが「レコード数−２」を超えている場合（ステップＳ３−７において「ＮＯ」の場合）には、パターン生成処理を終了する。
【００４７】
一方、更にパターン生成が可能な場合（ステップＳ３−７において「ＹＥＳ」の場合）
、パターン展開手段２１３は、設定された「ｎ」を用いてパターンを生成する（ステップＳ３−３）。例えば、「２抜け」パターンを生成する場合には、図７に示すように６個のパターンが追加されたテーブル５５０が生成される。
【００４８】
ステップＳ３−４においてメモリ容量を超える場合や、ステップＳ３−７において全パターンを生成した場合には、元の処理（図３）に戻る。
そして、制御部２１は、パターンメモリ２３に格納した合算パターンを、金額を用いてソートする（ステップＳ２−６）。具体的には、パターン展開手段２１３は、各合算パターンの合計金額を用いて、高い順番に並び替える。この場合、同額の場合には、元の順位を維持するように並び替える。この結果、展開された合算パターンは、図８に示すテーブル５６０のように並び替えられる。
【００４９】
次に、図５に示すように、消込処理システム２０の制御部２１は、照合を行なう（ステップＳ４−１）。具体的には、制御部２１の第２消込処理手段２１４は、パターンメモリ２３に記録した合算パターンをソート順に取り出し、各合算パターンの金額と消込相手のレコードの金額とを比較する。入金レコードを用いてパターン展開した場合には、各請求レコードとのマッチングを行ない、請求レコードを用いてパターン展開した場合には、各入金レコードとのマッチングを行なう。なお、マッチングに用いた合算パターンは、パターンメモリ２３から消去する。
【００５０】
パターンメモリ２３に記録した合算パターンを用いてマッチングができた場合（ステップＳ４−２において「ＹＥＳ」の場合）には、この合算パターンに含まれるレコードに対して消込フラグを記録する（ステップＳ４−３）。この場合、第２消込処理手段２１４は、一致した合算パターンを構成するレコード及び相手レコードについて共通した消込コードを付与して、この消込コードを含む消込フラグを記録する。そして、いずれかのデータ記憶部に記録された全レコードが消し込まれた場合（ステップＳ４−４において「ＹＥＳ」の場合）には、消込処理を終了する。一方、消し込まれていないレコードが残っている場合（ステップＳ４−４において「ＮＯ」の場合）には、再度、レコード数の比較（ステップＳ２−２）に戻り、パターン生成を最初からやり直す。
【００５１】
また、パターンメモリ２３に記録した合算パターンを用いてマッチングができなかった場合（ステップＳ４−２において「ＮＯ」の場合）には、第２消込処理手段２１４は、消し込みに用いていない未使用の合算パターンがパターンメモリ２３に残っているかどうかを確認する（ステップＳ４−５）。
【００５２】
まだ、未使用の合算パターンが残っている場合（ステップＳ４−５において「ＹＥＳ」の場合）には、この合算パターンを用いて照合を行なう（ステップＳ４−１）。なお、この場合、先のマッチングにより既に消込フラグが付与されたレコードを含む合算パターンは利用しない。
【００５３】
一方、パターンメモリ２３に記録された全合算パターンを用いても、消し込まれていないレコードが残っている場合（ステップＳ４−５において「ＮＯ」の場合）には、未展開のパターンがあるかどうかを確認する（ステップＳ４−６）。具体的には、制御部２１の第２消込処理手段２１４は、図４に示したパターン展開処理において、パターンメモリ２３の容量のためにパターン展開ができなかった減数ｎがあるかどうかを判断する。具体的には、開始値メモリ２２に記録された減数ｎが「レコード数−２」に達しているかどうかを判断する。
【００５４】
未展開のパターンがある場合（ステップＳ４−６において「ＹＥＳ」の場合）には、開始値メモリ２２に記録された減数ｎを用いて、再度、パターン展開を行なうため、図４の
ステップＳ３−３に戻る。この場合には、入金データ記憶部３４或いは請求データ記憶部３３に記録されたレコードであって、まだ消込フラグが付与されていないレコードを用いて合算パターンを生成する。
【００５５】
一方、未展開のパターンが残っていない場合（ステップＳ４−６において「ＮＯ」の場合）には、全体処理を完了したかどうかを確認する（ステップＳ４−７）。すなわち、日付グループ毎のパターン展開は終了したが、全体処理を完了していない場合（ステップＳ４−７において「ＮＯ」の場合）には、図９に示すテーブル５７０のように、残っているレコードを一つにまとめて消込処理を行なう（ステップＳ４−８）。この場合には、日付毎のグループを解除する。そして、入金データ記憶部３４或いは請求データ記憶部３３に記録されたレコードであって、まだ消し込まれていない全レコードに対して、新たにＳＥＱを付与する。そして、入金データ記憶部３４と請求データ記憶部３３とにおいて未だ消し込まれていないレコード数を比較し、これらのレコードを用いて、図３に示すステップＳ２−３から消込処理を行なう。一方、全体処理を完了している場合（ステップＳ４−７において「ＹＥＳ」の場合）、消込処理を終了する。
【００５６】
以上、本実施形態によれば、以下に示す効果を得ることができる。
・  上記実施形態では、制御部２１は、設定された減数ｎを用いてパターン（ｎ抜けパターン）を生成する（ステップＳ３−３）。そして、メモリ容量を超えない場合には、パターン展開手段２１３は生成した合算パターンをパターンメモリ２３に記録する（ステップＳ３−５）。これにより、パターンメモリ２３に記録された合算パターンを用いて、一括して照合を行なうことができる。
【００５７】
・  上記実施形態では、パターンメモリ２３においてメモリ容量を超える場合にはパターン展開処理を終了する。この場合、開始値メモリ２２に記録された減数ｎを更新する。これにより、次回は、開始値メモリ２２に記録された減数ｎから、パターン展開を再開することができる。レコード数が多い場合、その合算パターンの組み合わせ方は膨大になる。この場合においても、限られたリソース（メモリ容量）の中で合算パターンを展開して、消込処理を行なうことができる。また、パターン展開を再開する場合には、入金データ記憶部３４或いは請求データ記憶部３３に記録されたレコードであって、まだ消込フラグの付与されていないレコードを用いて合算パターンを生成する。これにより、絞り込まれたレコードを用いて消込処理を行なうことができる。
【００５８】
・  上記実施形態では、制御部２１は、レコード数の多い方のデータのパターン展開を行なう（ステップＳ２−３）。これにより、多様な形で分割されたレコードをまとめて消込処理を行なうことができる。
【００５９】
・  上記実施形態では、パターン展開手段２１３は、このデータ記憶部に記録されたレコードについて、日付毎にグループ分けを行なう。ここでは、日付（グループ）毎に、金額の大きい順番に並び替える。これにより、古いレコード（古月レコード）や金額が大きいレコードを優先的に消し込むことができる。
【００６０】
更に、制御部２１は、減数ｎを用いてパターン（ｎ抜けパターン）を生成する場合（ステップＳ３−３）、合算パターンを構成するＳＥＱの合計値が小さいものが先になるようにパターンを形成する。そして、制御部２１は、パターンメモリ２３に格納した合算パターンを、金額を用いてソートする（ステップＳ２−６）。この場合も、古いレコードや金額が大きいレコードを優先的に消し込むことができる。
【００６１】
なお、上記実施形態は、以下の態様に変更してもよい。
○  上記実施形態では、請求データ記憶部３３或いは入金データ記憶部３４に記録され
たレコードを、日付（グループ）毎に、金額の大きい順番に並び替える。グループ毎に合算パターンを生成し、パターンメモリ２３に記録する。これに代えて、特定のグループのパターン展開が終了した場合、次のグループのパターン展開を順次、パターンメモリ２３の容量に達するまで行なってもよい。
【００６２】
○  上記実施形態では、入金データ記憶部３４と請求データ記憶部３３とに記録されたレコード数を比較する（ステップＳ２−２）。そして、制御部２１は、レコード数の多い方のデータのパターン展開を行なう（ステップＳ２−３）。パターン展開を行なう対象の決定は、この方法に限定されるものではない。例えば、入金或いは請求のいずれに固定しておいてもよいし、また取引先毎に決めてもよい。この場合には、取引先マスタに、パターン展開を行なう種別を登録しておく。そして、消込処理システム２０の制御部２１は、消込処理を行なう取引先コードに基づいて、パターン展開を行なう方を決定する。これにより、取引先の傾向（一括払いや分割払い）に応じて、合算パターンを生成することができる。
【００６３】
○  上記実施形態では、入金データ記憶部３４と請求データ記憶部３３とに記録されたレコード数を比較し（ステップＳ２−２）、制御部２１は、レコード数の多い方のデータのパターン展開を行なう（ステップＳ２−３）。この場合、両者のパターン展開を行なってもよい。この場合には、例えば、入金データ用パターンメモリや請求データ用パターンメモリを準備しておき、これらに展開した合算パターンを格納する。また、パターンメモリを用いる場合には、それぞれのレコード数に応じてパターンメモリの配分を決定して、配分されたメモリ容量を利用して、それぞれのパターン展開を行なう。これにより、更に多様な合算パターンを用いて消込を行なうことができる。
【００６４】
○  上記実施形態では、消込処理システム２０の制御部２１は、照合を行なう（ステップＳ４−１）。具体的には、制御部２１の第２消込処理手段２１４は、パターンメモリ２３に記録した各合算パターンの金額と、消込相手のレコードの金額とを比較する。この場合に、調整金額を加減させることも可能である。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施形態のシステムの概略図。
【図２】本発明の一実施形態の処理手順の説明図。
【図３】本発明の一実施形態の処理手順の説明図。
【図４】本発明の一実施形態の処理手順の説明図。
【図５】本発明の一実施形態の処理手順の説明図。
【図６】本発明の一実施形態のパターン展開の説明図。
【図７】本発明の一実施形態のパターン展開の説明図。
【図８】本発明の一実施形態のパターン展開の説明図。
【図９】本発明の一実施形態のパターン展開の説明図。
【符号の説明】
【００６６】
２０…消込処理システム、２１…制御部、２１１…入金データ登録部、２１２…第１消込処理手段、２１３…パターン展開手段、２１４…第２消込処理手段、２２…開始値メモリ、２３…パターンメモリ、３３…請求データ記憶部、３４…入金データ記憶部。
【図１】
2007265332.tif 000003
【図２】
2007265332.tif 000004
【図３】
2007265332.tif 000005
【図４】
2007265332.tif 000006
【図５】
2007265332.tif 000007
【図６】
2007265332.tif 000008
【図７】
2007265332.tif 000009
【図８】
2007265332.tif 000010
【図９】
2007265332.tif 000011