(57)【要約】【課題】  取引内容を正確に表現した但し書き文が記載されている領収書を発行することのできる領収書発行装置および領収書発行方法を提供する。【解決手段】  領収書発行装置は、領収書発行の対象である複数の商品に関する情報を記憶する記憶手段と、前記情報に基づき、予め定める条件に従って前記複数の商品を代表する代表名を決定する代表名決定手段と、前記代表名決定手段によって決定された代表名に該当しない商品が前記複数の商品に含まれていると判定すると、該代表名に該当しない商品が前記複数の商品に含まれていることを示すための付加文字を、該代表名に付加することによって、領収書に記載すべき但し書き文を作成する但し書き文作成手段とを備える。【選択図】  図２
2011154486.tif 000002
【特許請求の範囲】
【請求項１】
領収書発行の対象である複数の商品に関する情報を記憶する記憶手段と、
前記情報に基づき、予め定める条件に従って前記複数の商品を代表する代表名を決定する代表名決定手段と、
前記代表名決定手段によって決定された代表名に該当しない商品が前記複数の商品に含まれていると判定すると、該代表名に該当しない商品が前記複数の商品に含まれていることを示すための付加文字を、該代表名に付加することによって、領収書に記載すべき但し書き文を作成する但し書き文作成手段とを備えることを特徴とする領収書発行装置。
【請求項２】
前記代表名決定手段は、各商品の品目名のうちいずれか１つを代表名として決定することを特徴とする請求項１に記載の領収書発行装置。
【請求項３】
前記代表名決定手段は、各商品が分類される商品分野の商品分野名のうちいずれか１つを代表名として決定することを特徴とする請求項１に記載の領収書発行装置。
【請求項４】
領収書発行の対象である複数の商品に関する情報を記憶手段に格納するステップと、
前記情報に基づき、予め定める条件に従って前記複数の商品を代表する代表名を決定するステップと、
前記代表名を決定するステップによって決定された代表名に該当しない商品が前記複数の商品に含まれていると判定すると、該代表名に該当しない商品が前記複数の商品に含まれていることを示すための付加文字を、該代表名に付加することによって、領収書に記載すべき但し書き文を作成するステップとを備えることを特徴とする領収書発行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、領収書発行装置および領収書発行方法に関し、特に、取引内容を正確に表現した但し書き文を記載した領収書を発行する領収書発行装置および領収書発行方法に関する。
【背景技術】
【０００２】
近年、ＥＣＲ（Electronic Cash Register）やＰＯＳ（Point Of Sales）端末において、一取引の売上登録終了時に、領収書を発行する機能が標準装備されるようになってきている。たとえば、特許文献１には、商品の部門ごとに商品分類を予め割り当てるとともに、各商品分類に対応付けて但し書きメッセージを予め設定しておくことによって、一取引についての領収書を発行する際に、最も多く売上登録された商品分類に対応付けられた但し書きメッセージを印字する技術が開示されている。
【０００３】
また特許文献２には、業種に応じた但し書き文を予めＥＣＲに複数設定しておき、領収書を発行する際に、設定されている複数の但し書き文の中から所望の但し書き文を指定することにより、指定された但し書き文が記載された領収書を印刷発行する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−１４９５８８号公報
【特許文献２】特開２００４−２７２３３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の領収書発行装置では、売上登録された商品の数が複数である場合、代表的なアイテム名を１点もしくは数点抽出し、または、「文房具」および「食料品」などといった商品分野ごとに商品を纏めて代表的な商品分野名を１点もしくは数点抽出し、抽出したアイテム名または商品分野名を但し書き文中に記載して領収書を発行している。
【０００６】
たとえば、売上登録された商品が、単価５０円の鉛筆１０本であるときには、「ただし、鉛筆の代金として」または「ただし、文房具の代金として」という但し書き文が領収書に記載される。また、購入した商品が、単価５０円の鉛筆１０本、単価１００円のノート２冊、および単価８０円の消しゴム１個であるときには、「ただし、文房具の代金として」という但し書き文が領収書に記載される。
【０００７】
このような従来の領収書発行装置では、売上登録された商品の数が１つの場合、または商品分野の数が１つの場合であれば、領収書に記載される但し書き文によって取引内容を正確に表現することができる。
【０００８】
しかしながら、売上登録された商品が、単価５０円の鉛筆１０本、単価１００円のノート２冊、単価３００円のシャンプー１個、および単価１２０円のトマト３個であるとき、たとえば、小計金額が最高のアイテム名を代表的なアイテム名とする場合には、「ただし、鉛筆の代金として」という但し書き文が領収書に記載され、また、合計金額が最高の商品分野名を代表的な商品分野名とする場合には、「ただし、文房具の代金として」という但し書き文が領収書に記載されることになる。このように、売上登録された商品の数が複数である場合、従来の領収書発行装置では、取引内容を正確に表現した但し書き文を領収書に記載することができないという問題がある。
【０００９】
本発明の目的は、一取引に係る商品の数が複数であっても、取引内容を正確に表現した但し書き文が記載されている領収書を発行することのできる領収書発行装置および領収書発行方法を提供することである。
【課題を解決するための手段】
【００１０】
本発明は、領収書発行の対象である複数の商品に関する情報を記憶する記憶手段と、
前記情報に基づき、予め定める条件に従って前記複数の商品を代表する代表名を決定する代表名決定手段と、
前記代表名決定手段によって決定された代表名に該当しない商品が前記複数の商品に含まれていると判定すると、該代表名に該当しない商品が前記複数の商品に含まれていることを示すための付加文字を、該代表名に付加することによって、領収書に記載すべき但し書き文を作成する但し書き文作成手段とを備えることを特徴とする領収書発行装置である。
【００１１】
また本発明は、前記代表名決定手段は、各商品の品目名のうちいずれか１つを代表名として決定することを特徴とする。
【００１２】
また本発明は、前記代表名決定手段は、各商品が分類される商品分野の商品分野名のうちいずれか１つを代表名として決定することを特徴とする。
【００１３】
また本発明は、領収書発行の対象である複数の商品に関する情報を記憶手段に格納するステップと、
前記情報に基づき、予め定める条件に従って前記複数の商品を代表する代表名を決定するステップと、
前記代表名を決定するステップによって決定された代表名に該当しない商品が前記複数の商品に含まれていると判定すると、該代表名に該当しない商品が前記複数の商品に含まれていることを示すための付加文字を、該代表名に付加することによって、領収書に記載すべき但し書き文を作成するステップとを備えることを特徴とする領収書発行方法である。
【発明の効果】
【００１４】
本発明によれば、領収書の対象である複数の商品に関する情報が記憶手段に記憶され、代表名決定手段は、記憶手段に記憶されている情報に基づいて、代表名を決定するために予め定めた条件に従って、複数の商品を代表する代表アイテム名（代表品目名）または代表商品分野名を決定する。そして、但し書き文作成手段は、前記代表名決定手段によって決定された代表アイテム名または代表商品分野名に該当しない商品が前記複数の商品に含まれていると判定すると、その代表アイテム名または代表商品分野名に該当しない商品が含まれていることを示すための、たとえば「主に」および「等」といった付加文字を、その代表アイテム名または代表商品分野名に付加することによって領収書に記載すべき但し書き文を作成する。したがって、取引内容を正確に表現した但し書き文が記載されている領収書を発行することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係る領収書発行装置を含むＰＯＳシステム１を示すブロック図である。
【図２】本実施形態に係る領収書発行装置を実現するＰＯＳ端末１０の構成を示すブロック図である。
【図３】ＰＯＳサーバ２０の構成を示すブロック図である。
【図４】ＰＯＳ端末１０の一時取引データ格納部Ｄ１１に格納されている一時取引データの一例を示す図である。
【図５】ＰＯＳサーバ２０の取引データ格納部Ｄ２１に格納されている取引データの一例を示す図である。
【図６】ＰＯＳ端末１０の一時取引明細データ格納部Ｄ１２に格納されている一時取引明細データの一例を示す図である。
【図７】ＰＯＳサーバ２０の取引明細データ格納部Ｄ２２に格納されている取引明細データの一例を示す図である。
【図８】ＰＯＳ端末１０の対象取引データ格納部Ｄ１３に格納されている対象取引データの一例を示す図である。
【図９】ＰＯＳ端末１０の対象取引明細データ格納部Ｄ１４に格納されている対象取引明細データの一例を示す図である。
【図１０】ＰＯＳサーバ２０の領収書データ格納部Ｄ２３に格納されている領収書データの一例を示す図である。
【図１１】ＰＯＳサーバ２０の領収書明細データ格納部Ｄ２４に格納されている領収書明細データの一例を示す図である。
【図１２】ＰＯＳ端末１０のアイテム名一覧データ格納部Ｄ１５に格納されているアイテム名一覧データの一例を示す図である。
【図１３】ＰＯＳ端末１０の代表アイテム名データ格納部Ｄ１６に格納されている代表アイテム名データの一例を示す図である。
【図１４】ＰＯＳ端末１０の商品分野名一覧データ格納部Ｄ１７に格納されている商品分野名一覧データの一例を示す図である。
【図１５】ＰＯＳ端末１０の代表商品分野名データ格納部Ｄ１８に格納されている代表商品分野名データの一例を示す図である。
【図１６】ＰＯＳサーバ２０の但し書き文例データ格納部Ｄ２５に格納されている但し書き文例データの一例を示す図である。
【図１７】ＰＯＳサーバ２０の但し書き付加文字データ格納部Ｄ２６に格納されている但し書き付加文字データの一例を示す図である。
【図１８】ＰＯＳサーバ２０の領収書印刷設定データ格納部Ｄ２７に格納されている領収書印刷設定データの一例を示す図である。
【図１９】ＰＯＳサーバ２０の領収書フォーマットデータ格納部Ｄ２８に格納されている領収書フォーマットデータの一例を示す図である。
【図２０】ＰＯＳサーバ２０のＰＬＵ格納部Ｄ２９に格納されているＰＬＵの一例を示す図である。
【００１６】
【図２１】ＰＯＳサーバ２０の顧客情報格納部Ｄ３０に格納されている顧客情報データベースの一例を示す図である。
【図２２】ＰＯＳサーバ２０の担当者情報格納部Ｄ３１に格納されている担当者情報データベースの一例を示す図である。
【図２３】一取引に係る売上処理において領収書発行処理が行われる場合のフローチャートである。
【図２４】事後的に領収書発行処理が行われる場合のフローチャートである。
【図２５】領収書発行処理のフローチャートである。
【図２６】領収書データ作成処理のフローチャートである。
【図２７】但し書き作成処理のフローチャートである。
【図２８】商品分野名一覧データ作成処理のフローチャートである。
【図２９】アイテム名一覧データ作成処理のフローチャートである。
【図３０】代表アイテム名決定処理のフローチャートである。
【図３１】代表商品分野名決定処理のフローチャートである。
【図３２】代表アイテム名・代表商品分野名条件抽出処理のフローチャートである。
【図３３】但し書き文作成処理のフローチャートである。
【図３４】領収書廃棄処理のフローチャートである。
【図３５】ＰＯＳ端末１０によって発行された領収書の一例を示す図である。
【発明を実施するための形態】
【００１７】
図１は、本発明の一実施形態に係る領収書発行装置を含むＰＯＳシステム１を示すブロック図である。ＰＯＳシステム１は、ＰＯＳ端末１０とＰＯＳサーバ２０とによって構成され、領収書発行装置は、ＰＯＳ端末１０において実現される。ＰＯＳ端末１０は、一取引に係る売上処理を実行するために店舗などに設置され、ＰＯＳサーバ２０と通信可能に構成されている。また、ＰＯＳサーバ２０は、ＰＯＳ端末１０が売上処理を実行するために必要な各種の情報を管理するための装置である。ＰＯＳサーバ２０は、本実施形態では、情報管理機能に加えて、売上処理を実行するＰＯＳ端末１０としての機能を有するように構成されている。
【００１８】
図２は、本実施形態に係る領収書発行装置を実現するＰＯＳ端末１０の構成を示すブロック図である。ＰＯＳ端末１０は、ＣＰＵ（Central Processing Unit）１１、メモリ１２、記憶装置１３、入力装置１４、表示装置１５、印刷装置１６、ドロワ１７、電源装置１８および通信装置１９を含んで構成される。
【００１９】
ＣＰＵ１１は、記憶装置１３に格納されているＯＳ（Operating System）およびアプリケーションソフトウェアなどのプログラムに基づいて、ＰＯＳ端末１０全体を制御する処理を実行するとともに、一取引に係る売上処理を実行するための演算処理を実行する。
【００２０】
メモリ１２は、ＲＡＭ（Random Access Memory）によって実現され、ＣＰＵ１１によって実行される各種プログラム、およびこれらのプログラムに係るデータを、一時的に記憶するワークエリアを形成する。
【００２１】
記憶装置１３は、ハードディスクおよびフラッシュメモリなどの不揮発性記憶装置によって実現され、ＯＳおよびアプリケーションソフトウェアなどのプログラム、ならびに各種データを記憶する。この記憶装置１３は、一時取引データ格納部Ｄ１１、一時取引明細データ格納部Ｄ１２、対象取引データ格納部Ｄ１３、対象取引明細データ格納部Ｄ１４、アイテム名一覧データ格納部Ｄ１５、代表アイテム名データ格納部Ｄ１６、商品分野名一覧データ格納部Ｄ１７および代表商品分野名データ格納部Ｄ１８を備える。各部Ｄ１１〜Ｄ１８についての説明は後述する。
【００２２】
入力装置１４は、一取引に係る売上処理において動作指示および情報を入力するための装置であり、バーコードスキャナ、カードリーダ、キーボード、ポインティングデバイスおよびタッチパネルなどによって実現される。
【００２３】
表示装置１５は、情報を表示するための装置であり、液晶ディスプレイおよびプラズマディスプレイなどのモニタによって実現される。印刷装置１６は、一取引に係るレシートおよび領収書などを紙などの記録媒体に印刷するための装置であり、たとえば感熱記録方式のプリンタによって実現される。ドロワ１７は、紙幣および硬貨を保管するための装置である。電源装置１８は、通常時は各種装置に電力を供給するように構成されるとともに、蓄電池を備えて、停電時にはＯＳおよびアプリケーションソフトウェアが停止するまでの期間電力を供給可能に構成されている。通信装置１９は、ＰＯＳサーバ２０、外部のコンピュータ、および外部のシステムとデータ通信するために搭載されている装置である。
【００２４】
図３は、ＰＯＳサーバ２０の構成を示すブロック図である。ＰＯＳサーバ２０は、ＣＰＵ２１、メモリ２２、記憶装置２３、入力装置２４、表示装置２５、印刷装置２６、ドロワ２７、電源装置２８および通信装置２９を含んで構成される。
【００２５】
ＣＰＵ２１は、記憶装置２３に格納されているＯＳおよびアプリケーションソフトウェアなどのプログラムに基づいて、ＰＯＳサーバ２０全体を制御する処理を実行するとともに、一取引に係る売上処理を実行するための演算処理を実行する。
【００２６】
メモリ２２は、ＲＡＭによって実現され、ＣＰＵ２１によって実行される各種プログラム、およびこれらのプログラムに係るデータを、一時的に記憶するワークエリアを形成する。
【００２７】
記憶装置２３は、ハードディスクおよびフラッシュメモリなどの不揮発性記憶装置によって実現され、ＯＳおよびアプリケーションソフトウェアなどのプログラム、ならびに各種データを記憶する。この記憶装置２３は、取引データ格納部Ｄ２１、取引明細データ格納部Ｄ２２、領収書データ格納部Ｄ２３、領収書明細データ格納部Ｄ２４、但し書き文例データ格納部Ｄ２５、但し書き付加文字データ格納部Ｄ２６、領収書印刷設定データ格納部Ｄ２７、領収書フォーマットデータ格納部Ｄ２８、ＰＬＵ（Price Look Up）格納部Ｄ２９、顧客情報格納部Ｄ３０および担当者情報格納部Ｄ３１を備える。各部Ｄ２１〜Ｄ３１についての説明は後述する。
【００２８】
入力装置２４は、一取引に係る売上処理において動作指示および情報を入力するための装置であり、バーコードスキャナ、カードリーダ、キーボード、ポインティングデバイスおよびタッチパネルなどによって実現される。
【００２９】
表示装置２５は、情報を表示するための装置であり、液晶ディスプレイおよびプラズマディスプレイなどのモニタによって実現される。印刷装置２６は、一取引に係るレシートおよび領収書などを紙などの記録媒体に印刷するための装置であり、たとえば感熱記録方式のプリンタによって実現される。ドロワ２７は、紙幣および硬貨を保管するための装置である。電源装置２８は、通常時は各種装置に電力を供給するように構成されるとともに、蓄電池を備えて、停電時にはＯＳおよびアプリケーションソフトウェアが停止するまでの期間電力を供給可能に構成されている。通信装置２９は、ＰＯＳ端末１０、外部のコンピュータ、および外部のシステムとデータ通信するために搭載されている装置である。
【００３０】
以下、ＰＯＳ端末１０の記憶装置１３に備えられる各部Ｄ１１〜Ｄ１８、およびＰＯＳサーバ２０の記憶装置２３に備えられる各部Ｄ２１〜Ｄ３１について説明する。
【００３１】
図４は、ＰＯＳ端末１０の一時取引データ格納部Ｄ１１に格納されている一時取引データの一例を示す図である。一時取引データは、一取引に係る売上処理ごとに一時データとして作成され、一時取引データ格納部Ｄ１１に格納される。一時取引データは、当該取引に関する取引情報、すなわち当該取引が行われた日付および時刻、当該取引の取引相手である顧客を識別するための顧客番号、その顧客の顧客名、当該売上処理を担当した担当者を識別するための担当者コード、その担当者の担当者名、ならびに、当該取引の合計金額である取引金額などの情報で構成される。
【００３２】
図５は、ＰＯＳサーバ２０の取引データ格納部Ｄ２１に格納されている取引データの一例を示す図である。取引データは、一取引に係る売上処理において、決済処理が完了することによって当該取引に係る取引内容が確定した後に、当該取引に関する取引情報、すなわち一時取引データ格納部Ｄ１１に格納されている取引情報に、取引を識別するための取引番号の情報を追加することによって作成され、取引データ格納部Ｄ２１に格納される。取引番号は、取引データ格納部Ｄ２１に格納される際に自動的に採番され、詳細には、既に取引データ格納部Ｄ２１に格納されている各取引データに付された取引番号のうち最大の取引番号に１を加算した番号が採番される。図５に示す例では、３つの取引に係る取引データが取引データ格納部Ｄ２１に格納されている。
【００３３】
図６は、ＰＯＳ端末１０の一時取引明細データ格納部Ｄ１２に格納されている一時取引明細データの一例を示す図である。一時取引明細データは、一取引に係る売上処理において、当該取引に係る商品ごとに一時データとして作成され、一時取引明細データ格納部Ｄ１２に格納される。一時取引明細データは、当該取引に係る商品の商品情報、すなわち品目名（以下、「アイテム名」と記す）、商品コード、商品分野名、商品分野コード、単価などの情報と、その商品の数量を示す数量情報とによって構成される。図６に示す例では、４つの商品の商品情報が一時取引明細データ格納部Ｄ１２に格納されている。
【００３４】
図７は、ＰＯＳサーバ２０の取引明細データ格納部Ｄ２２に格納されている取引明細データの一例を示す図である。取引明細データは、一取引に係る売上処理において、決済処理が完了することによって当該取引に係る取引内容が確定した後、当該取引に係る各商品の商品情報および数量情報に、当該取引に係る取引データに対して採番された取引番号の情報をそれぞれ追加し、さらに、当該取引に係る各商品を分類するための枝番号の情報を追加することによって作成され、取引明細データ格納部Ｄ２２に格納される。枝番号は、１から順にインクリメントして自動付番される番号である。また、領収書の対象となった取引明細データには、領収書番号の情報も追加される。
【００３５】
図８は、ＰＯＳ端末１０の対象取引データ格納部Ｄ１３に格納されている対象取引データの一例を示す図である。対象取引データは、領収書を発行するための領収書発行処理が実行される際に、複数の取引データが格納されているＰＯＳサーバ２０の取引データ格納部Ｄ２１から取得された取引データであり、領収書の対象となるデータである。したがって、対象取引データは、取引データと同様の情報で構成される。取引データの取得は、領収書発行処理が実行される際に担当者によって指定された取引番号をキーとして行われる。なお、担当者は、１つの取引番号だけを指定してもよく、複数の取引番号を指定することもできる。対象取引データは、一時データとして作成され、対象取引データ格納部Ｄ１３に格納される。
【００３６】
図９は、ＰＯＳ端末１０の対象取引明細データ格納部Ｄ１４に格納されている対象取引明細データの一例を示す図である。対象取引明細データは、領収書発行処理が実行される際に担当者によって指定された１または複数の取引番号をキーとして、複数の取引明細データが格納されている取引明細データ格納部Ｄ２２から取得された取引明細データであり、領収書の対象となるデータである。したがって、対象取引明細データは、取引明細データと同様の情報で構成される。対象取引明細データは、一時データとして作成され、対象取引明細データ格納部Ｄ１４に格納される。
【００３７】
図１０は、ＰＯＳサーバ２０の領収書データ格納部Ｄ２３に格納されている領収書データの一例を示す図である。領収書データは、領収書を印刷する際に必要な情報を含んで構成され、具体的には、領収書を識別するための領収書番号、領収書が発行された日付および時刻、領収書発行対象の全商品の合計金額、領収書の宛先の名称、当該取引が行われた店舗の名称、領収書に記載される但し書き文および領収書のフォーマットデータのデータ名などの情報で構成される。領収書番号は、領収書データが作成される際に採番され、既に領収書データ格納部Ｄ２３に格納されている各領収書データに付された領収書番号のうち最大の領収書番号に１を加算した番号が採番される。領収書データは、領収書発行処理において、対象取引データおよび対象取引明細データに基づいて作成され、領収書データ格納部Ｄ２３に格納される。
【００３８】
図１１は、ＰＯＳサーバ２０の領収書明細データ格納部Ｄ２４に格納されている領収書明細データの一例を示す図である。領収書明細データは、領収書データの根拠となるデータ、すなわち領収書発行対象の全商品に係るデータであり、領収書データを作成する際に採番された領収書番号をキーに、枝番号、取引番号、アイテム名、商品コード、商品分野名、商品分野コード、単価および数量などの情報で構成される。領収書明細データは、領収書発行処理において、対象取引データおよび対象取引明細データに基づいて作成され、領収書明細データ格納部Ｄ２４に格納される。
【００３９】
図１２は、ＰＯＳ端末１０のアイテム名一覧データ格納部Ｄ１５に格納されているアイテム名一覧データの一例を示す図である。アイテム名一覧データは、領収書発行対象のアイテム群から代表アイテムを決定するために作成されるデータであり、領収書明細データに基づいて一時データとして作成され、アイテム名一覧データ格納部Ｄ１５に格納される。アイテム名一覧データは、領収書明細データ格納部Ｄ２４に格納されている商品のアイテム名、最小枝番号、カウント、最高単価、数量および金額などの情報で構成される。
【００４０】
最小枝番号は、領収書明細データ格納部Ｄ２４に格納されている順に、１からインクリメントして自動付番される番号である。カウントは、領収書明細データ格納部Ｄ２４に、アイテム名が同一の領収書明細データが複数格納されている場合の格納数である。最高単価は、領収書明細データ格納部Ｄ２４に格納されている、アイテム名が同一の領収書明細データに関して、最も高額な単価である。数量は、領収書明細データ格納部Ｄ２４に格納されている、アイテム名が同一の各領収書明細データに関して、商品の数量の合計である。金額は、領収書明細データ格納部Ｄ２４に格納されている領収書明細データごとの金額（すなわち、単価×数量）を、同一のアイテム名ごとに合計した金額である。
【００４１】
図１３は、ＰＯＳ端末１０の代表アイテム名データ格納部Ｄ１６に格納されている代表アイテム名データの一例を示す図である。代表アイテム名データは、代表アイテム名決定処理において、代表アイテム名決定条件に基づき代表アイテム名を決定するために、アイテム名一覧データをコピーして一時データとして作成し、代表アイテム名データ格納部Ｄ１６に格納される。したがって、代表アイテム名データは、アイテム名一覧データと同一である。
【００４２】
図１４は、ＰＯＳ端末１０の商品分野名一覧データ格納部Ｄ１７に格納されている商品分野名一覧データの一例を示す図である。商品分野名一覧データは、領収書発行対象のアイテム群から代表商品分野を決定するために作成されるデータであり、領収書明細データに基づいて一時データとして作成され、商品分野名一覧データ格納部Ｄ１７に格納される。商品分野名一覧データは、領収書明細データ格納部Ｄ２４に格納されている商品の商品分野名、最小枝番号、カウント、最高単価、数量および金額などの情報で構成される。
【００４３】
最小枝番号は、領収書明細データ格納部Ｄ２４に格納されている順に、１からインクリメントして自動付番される番号である。カウントは、領収書明細データ格納部Ｄ２４に、商品分野名が同一の領収書明細データが複数格納されている場合の格納数である。最高単価は、領収書明細データ格納部Ｄ２４に格納されている、商品分野名が同一の領収書明細データに関して、最も高額な単価である。数量は、領収書明細データ格納部Ｄ２４に格納されている、商品分野名が同一の各領収書明細データに関して、商品の数量の合計である。金額は、領収書明細データ格納部Ｄ２４に格納されている領収書明細データごとの金額（すなわち、単価×数量）を、同一の商品分野名ごとに合計した金額である。
【００４４】
図１５は、ＰＯＳ端末１０の代表商品分野名データ格納部Ｄ１８に格納されている代表商品分野名データの一例を示す図である。代表商品分野名データは、代表商品分野名決定処理において、代表商品分野名決定条件に基づき代表商品分野名を決定するために、商品分野名一覧データをコピーして一時データとして作成し、代表商品分野名データ格納部Ｄ１８に格納される。したがって、代表商品分野名データは、商品分野名一覧データと同一である。
【００４５】
図１６は、ＰＯＳサーバ２０の但し書き文例データ格納部Ｄ２５に格納されている但し書き文例データの一例を示す図である。但し書き文例データは、番号および文例などの情報で構成され、予め作成されて、但し書き文例データ格納部Ｄ２５に格納される。各但し書き文の文例には、代表アイテム名決定処理によって決定された代表アイテム名および代表商品分野名決定処理によって決定された代表商品分野名などの代表名が入力される「＜代表名＞」欄と、後述する但し書き付加文字が入力される「＜付加文字＞」欄が設けられ、各欄に代表名および但し書き付加文字が入力されることによって、但し書き文が完成する。
【００４６】
図１７は、ＰＯＳサーバ２０の但し書き付加文字データ格納部Ｄ２６に格納されている但し書き付加文字データの一例を示す図である。但し書き付加文字データは、番号、付加文字および付加位置などの情報で構成され、予め作成されて、但し書き付加文字データ格納部Ｄ２６に格納される。但し書き付加文字とは、領収書の対象となっている商品の中に、領収書の但し書きに記載される代表アイテム名または代表商品分野名に該当しない商品が含まれていることを示すための文字であり、たとえば図１７に示すように、「主に」および「等」などの文字である。
【００４７】
図１８は、ＰＯＳサーバ２０の領収書印刷設定データ格納部Ｄ２７に格納されている領収書印刷設定データの一例を示す図である。領収書印刷設定データは、予め作成されて、領収書印刷設定データ格納部Ｄ２７に格納される。図１８に示す領収書印刷設定データには、領収書発行処理において、対象取引明細データ格納部Ｄ１４から対象取引明細データを選択するか否かを示す情報、領収書を印刷する際の領収書フォーマットのフォーマット名を示す情報、但し書き文例データ格納部Ｄ２５に格納されている但し書き文例データに対応する番号の情報、但し書き付加文字データ格納部Ｄ２６に格納されている但し書き付加文字データに対応する番号の情報、但し書き作成処理において、アイテム名を代表名とするか、商品分野名を代表名とするかを示す情報、および、代表アイテム名決定処理または代表商品分野名決定処理において用いられる、優先順に設定された代表名決定条件の情報が含まれる。さらに、領収書に記載される代表名の最大数を示す情報、および、領収書に記載される代表名の数が複数である場合に、代表名と代表名との間に挿入すべき結合文字を示す情報が含まれる。
【００４８】
代表名決定条件には、カウントが最も多いアイテム名を抽出するという条件、最高単価が最も高いアイテム名を抽出するという条件、数量が最も多いアイテム名を抽出するという条件、金額が最も高いアイテム名を抽出するという条件、カウントが最も多い商品分野名を抽出するという条件、最高単価が最も高い商品分野名を抽出するという条件、数量が最も多い商品分野名を抽出するという条件、および、金額が最も高い商品分野名を抽出するという条件などが含まれる。
【００４９】
図１９は、ＰＯＳサーバ２０の領収書フォーマットデータ格納部Ｄ２８に格納されている領収書フォーマットデータの一例を示す図である。領収書フォーマットデータは、予め作成されて、領収書フォーマットデータ格納部Ｄ２８に格納される。
【００５０】
図２０は、ＰＯＳサーバ２０のＰＬＵ格納部Ｄ２９に格納されているＰＬＵの一例を示す図である。ＰＬＵには、ＰＯＳ端末１０が設置されている店舗において取引の対象となっている商品に関する情報が格納され、後述する売上処理において商品情報を取得するためのマスターデータとして使用される。図２０に示すＰＬＵでは、各レコードは、商品コード、アイテム名、商品分野コード、商品分野名および単価の５項目によって構成され、商品ごとに割り当てられる商品コードを主キーに設定している。本実施形態では、ＰＬＵは、ＰＯＳサーバ２０の記憶装置２３に格納されているが、ＰＯＳ端末１０の記憶装置１３に格納されていてもよい。
【００５１】
図２１は、ＰＯＳサーバ２０の顧客情報格納部Ｄ３０に格納されている顧客情報データベースの一例を示す図である。顧客情報データベースには、ＰＯＳ端末１０が設置されている店舗において取引のあった顧客に関する情報が格納され、後述する売上処理において顧客情報を取得するためのマスターデータとして使用される。図２１に示す顧客情報データベースでは、各レコードは、顧客番号、顧客名、顧客区分、性別および年齢の５項目によって構成され、顧客ごとに割り当てられる顧客番号を主キーに設定している。本実施形態では、顧客情報データベースは、ＰＯＳサーバ２０の記憶装置２３に格納されているが、ＰＯＳ端末１０の記憶装置１３に格納されていてもよい。
【００５２】
図２２は、ＰＯＳサーバ２０の担当者情報格納部Ｄ３１に格納されている担当者情報データベースの一例を示す図である。担当者情報データベースには、ＰＯＳ端末１０が設置されている店舗において売上処理を担当している担当者に関する情報が格納され、後述する売上処理において担当者情報を取得するためのマスターデータとして使用される。図２２に示す担当者情報データベースでは、各レコードは、担当者コード、担当者名、役職、性別および年齢の５項目によって構成され、担当者ごとに割り当てられる担当者コードを主キーに設定している。本実施形態では、担当者情報データベースは、ＰＯＳサーバ２０の記憶装置２３に格納されているが、ＰＯＳ端末１０の記憶装置１３に格納されていてもよい。
【００５３】
以下、図２３〜図３４を参照して、領収書発行処理について説明する。領収書発行処理は、図２３に示すように、一取引に係る売上処理において必要に応じて行われる場合と、図２４に示すように、売上処理が終了した後、すなわち事後的に行われる場合とがある。図２３は、一取引に係る売上処理において領収書発行処理が行われる場合のフローチャートである。
【００５４】
ステップｓ０で、一取引に係る売上処理が開始される。売上処理の開始に当たって、ＣＰＵ１１は、その売上処理を担当する担当者の担当者情報、たとえば担当者コードおよび担当者名などの情報を取得し、一時取引データ格納部Ｄ１１に格納する。担当者情報は、たとえば、バーコードスキャナおよびカードリーダなどの入力装置１４を使用して、バーコード、磁気カードおよびＩＣ（Integrated Circuit）カードなどから担当者コードを読取り、読取った担当者コードをキーに、担当者情報格納部Ｄ３１に格納されている担当者情報データベースを参照して取得される。担当者情報が一時取引データ格納部Ｄ１１に格納されると、ステップｓ１に進む。
【００５５】
ステップｓ１で、ＣＰＵ１１は、当該取引の取引相手に関する顧客情報、たとえば顧客番号および顧客名などの情報を取得し、一時取引データ格納部Ｄ１１に格納する。顧客情報は、たとえば、バーコードスキャナおよびカードリーダなどの入力装置１４を使用して、バーコード、磁気カードおよびＩＣ（Integrated Circuit）カードなどから顧客番号を読取り、読取った顧客番号をキーに、顧客情報格納部Ｄ３０に格納されている顧客情報データベースを参照して取得される。このとき、必要に応じて、取得した顧客情報がモニタなどの表示装置１５に表示される。顧客情報が一時取引データ格納部Ｄ１１に格納されると、ステップｓ２に進む。
【００５６】
ステップｓ２で、ＣＰＵ１１は、担当者によって入力された、たとえば現金決済およびクレジット決済などの当該取引の決済方法に関する決済情報を、メモリ１２または記憶装置１３に一時的に格納する。決済情報の入力は、たとえば、キーボードおよびタッチパネルなどの入力装置１４を介して行われる。なお、顧客情報の取得が可能な決済情報が入力された場合には、顧客情報の入力を兼ねることも可能である。入力された決済情報は、モニタなどの表示装置１５に表示される。決済情報がメモリ１２または記憶装置１３に格納されると、ステップｓ３に進む。
【００５７】
ステップｓ３で、ＣＰＵ１１は、当該取引に係る商品ごとに一時取引明細データを作成し、一時取引明細データ格納部Ｄ１２に格納する。一時取引明細データにおいて、商品情報は、バーコードスキャナなどの入力装置１４を使用して、商品に添付されているバーコードなどから商品コードを読取り、読取った商品コードをキーに、ＰＬＵ格納部Ｄ２９に格納されているＰＬＵを参照することによって取得される。また数量情報は、当該商品の数量が複数である場合に、キーボードおよびタッチパネルなどの入力装置１４を使用して、担当者によって入力される。作成された一時取引明細データは、モニタなどの表示装置１５に表示される。当該取引に係るすべての商品について一時取引明細データが作成され、一時取引明細データ格納部Ｄ１２に格納されると、ステップｓ４に進む。
【００５８】
ステップｓ４で、ＣＰＵ１１は、一時取引明細データ格納部Ｄ１２に格納されている一時取引明細データに基づいて、一取引に係る合計金額を算出し、算出された合計金額の情報を一時取引データ格納部Ｄ１１に格納する。合計金額を算出する際に、消費税などの計算を行ってもよい。合計金額情報が一時取引データ格納部Ｄ１１に格納されると、ステップｓ５に進む。
【００５９】
ステップｓ５で、ＣＰＵ１１は、メモリ１２または記憶装置１３に格納されている決済情報に基づいて決済処理を行い、さらに、決済処理の完了に伴って当該取引に係る取引内容が確定すると、取引番号を採番し、一時取引データ格納部Ｄ１１に格納されている一時取引データに取引番号情報を追加することによって取引データを作成するとともに、一時取引明細データ格納部Ｄ１２に格納されている各一時取引明細データに取引番号情報および枝番号情報を追加することによって取引明細データを作成し、作成した取引データおよび取引明細データをＰＯＳサーバ２０へ送信する。ＰＯＳサーバ２０のＣＰＵ２１は、ＰＯＳ端末１０から取引データおよび取引明細データを受信すると、受信した取引データおよび取引明細データをそれぞれ、取引データ格納部Ｄ２１および取引明細データ格納部Ｄ２２に格納する。
【００６０】
なお決済処理において、現金によって決済される場合には、キーボード、タッチパネルおよび入金機などの入力装置１４を使用して、入金金額が入力される。また、釣銭の支払いが発生する場合には、釣銭の金額が計算され、釣銭の返却が行われる。釣銭の支払方法としては、ドロワ制御による現金での支払い、自動釣り銭機制御による現金での支払い、プリペイドカードおよびＩＣカードなどでの支払いなどがある。取引データおよび取引明細データが作成され、それぞれ取引データ格納部Ｄ２１および取引明細データ格納部Ｄ２２に格納されると、ステップｓ６に進む。
【００６１】
ステップｓ６で、ＣＰＵ１１は、当該取引に係る取引データおよび取引明細データに基づいて、レシートを発行するためのレシートデータを作成し、該レシートデータに基づいて、レシートプリンタなどの印刷装置１６にレシートを印刷させる。レシートが印刷されると、ステップｓ７に進む。
【００６２】
ステップｓ７で、ＣＰＵ１１は、領収書を発行すべきか否かを判定する。領収書を発行すべきと判定されるとステップｓ８に進み、領収書の発行が不要と判定されるとステップｓ９に進む。領収書発行の要否の判定は、たとえば、担当者によって領収書の発行指示が入力装置１４を介して入力されたか否かによって行われる。
【００６３】
ステップｓ８で、ＣＰＵ１１は、ステップｓ５で採番した取引番号を引数にして領収書発行処理を実行する。領収書発行処理では、引数として渡された取引番号をキーに、取引データ格納部Ｄ２１および取引明細データ格納部Ｄ２２から、取引データおよび取引明細データを取得し、領収書を発行する。領収書発行処理の詳細については、後述する。領収書発行処理によって領収書が発行されると、ステップｓ９に進む。ステップｓ９で、一取引に係る売上処理が終了する。
【００６４】
図２４は、事後的に領収書発行処理が行われる場合のフローチャートである。領収書発行処理が事後的に行われる場合には、取引データ格納部Ｄ２１に格納されている過去の取引データ、または領収書データ格納部Ｄ２３に格納されている過去に作成された領収書データに基づいて領収書が発行される。
【００６５】
ステップｓ１０で処理が開始され、ステップｓ１１に進む。ステップｓ１１で、ＣＰＵ１１は、担当者に領収書の作成モードを選択させるために、モニタなどの表示装置１５に選択画面を表示させる。領収書の作成モードとしては、前述するように、過去の取引データに基づいて領収書を作成する取引指定モードと、過去に作成した領収書データに基づいて領収書を作成する領収書指定モードとがある。選択画面が表示されると、ステップｓ１２に進む。
【００６６】
ステップｓ１２で、ＣＰＵ１１は、担当者によって選択された作成モードが取引指定モードであるか否かを判定する。取引指定モードであると判定されるとステップｓ１３に進み、取引指定モードではない、すなわち領収書指定モードであると判定されるとステップｓ１４に進む。作成モードの選択は、キーボードおよびタッチパネルなどの入力装置１４を使用して行われる。
【００６７】
ステップｓ１３で、ＣＰＵ１１は、取引データ格納部Ｄ２１に格納されている取引データから、担当者によって指定された取引データを抽出し、その取引データに付された取引番号を取得する。ＣＰＵ１１は、担当者に所望の取引データを容易に選択させるために、取引番号、取引日付、取引時刻、顧客番号、顧客名、担当者コードおよび担当者名などの抽出条件を入力するための画面を表示させ、担当者によって抽出条件が入力されると、その抽出条件に合致する取引データを取引データ格納部Ｄ２１から抽出し、抽出した取引データを画面に一覧表示させる。このとき、抽出条件は複数入力されてもよく、その場合には、ＡＮＤ検索およびＯＲ検索のいずれかが担当者によって選択され、選択された検索方式に基づいて抽出処理が行われる。そして、画面に一覧表示された取引データから、１または複数の取引データが担当者によって選択されると、ＣＰＵ１１は、選択された取引データに付された取引番号を取得する。取引番号が取得されると、ステップｓ１５に進む。
【００６８】
ステップｓ１４で、ＣＰＵ１１は、領収書データ格納部Ｄ２３に格納されている領収書データから、担当者によって指定された領収書データを抽出し、その領収書データに付された領収書番号を取得する。ＣＰＵ１１は、担当者に所望の領収書データを容易に選択させるために、領収書番号、領収日付、領収時刻、宛先名称、店舗情報、但し書き文およびフォーマット名などの抽出条件を入力するための画面を表示させ、担当者によって抽出条件が入力されると、その抽出条件に合致する領収書データを領収書データ格納部Ｄ２３から抽出し、抽出した領収書データを画面に一覧表示させる。このとき、抽出条件は複数入力されてもよく、その場合には、ＡＮＤ検索およびＯＲ検索のいずれかが担当者によって選択され、選択された検索方式に基づいて抽出処理が行われる。そして、画面に一覧表示された領収書データから、１または複数の領収書データが担当者によって選択されると、ＣＰＵ１１は、選択された領収書データに付された領収書番号を取得する。さらに、ＣＰＵ１１は領収書明細データ格納部Ｄ２４に格納されている領収書明細データから、領収書番号をキーに全ての取引番号を取得する。取引番号が取得されると、ステップｓ１５に進む。
【００６９】
ステップｓ１５で、ＣＰＵ１１は、領収書発行処理を実行する。ステップｓ１３またはステップｓ１４で取得した取引番号を引数として領収書発行処理を実行する。領収書発行処理では、引数として渡された取引番号をキーに、取引データ格納部Ｄ２１および取引明細データ格納部Ｄ２２から、取引データおよび取引明細データを取得して、領収書を発行する。領収書発行処理の詳細については後述する。領収書発行処理によって領収書が発行されると、ステップｓ１６に進む。ステップｓ１６で、処理が終了する。
【００７０】
図２５は、領収書発行処理のフローチャートである。
ステップｓ２０で、領収書発行処理が開始され、引数として渡された取引番号を取得しステップｓ２１に進む。ステップｓ２１で、ＣＰＵ１１は、領収書番号を採番して、領収書データを作成する。具体的には、領収書データ格納部Ｄ２３に既に格納されている各領収書データに付された領収書番号のうち、値が最大の領収書番号に１を加算した番号が採番される。このようにして新しい領収書番号が採番されると、領収書番号を除く他の情報、すなわち領収日付、領収時刻、領収金額、宛先名称、店舗情報、但し書き文およびフォーマット名の情報が未入力の領収書データ、換言すれば、領収書番号だけが入力された領収書データを作成し、作成した領収書データをＰＯＳサーバ２０へ送信する。ＰＯＳサーバ２０のＣＰＵ２１は、ＰＯＳ端末１０から領収書データを受信すると、受信した領収書データを領収書データ格納部Ｄ２３に格納する。新たな領収書データが領収書データ格納部Ｄ２３に格納されると、ステップｓ２２に進む。
【００７１】
ステップｓ２２で、ＣＰＵ１１は、当該取引に係る取引番号または担当者によって指定された取引データの取引番号に対応する取引データを、取引データ格納部Ｄ２１から取得し、対象取引データとして、対象取引データ格納部Ｄ１３に格納する。対象取引データが対象取引データ格納部Ｄ１３に格納されると、ステップｓ２３に進む。
【００７２】
ステップｓ２３で、ＣＰＵ１１は、当該取引に係る取引番号または担当者によって指定された取引データの取引番号に対応する取引明細データを、取引明細データ格納部Ｄ２２から取得し、対象取引明細データとして、対象取引明細データ格納部Ｄ１４に格納する。対象取引明細データが対象取引明細データ格納部Ｄ１４に格納されると、ステップｓ２４に進む。
【００７３】
ステップｓ２４で、ＣＰＵ１１は、領収書印刷設定データ格納部Ｄ２７に格納されている領収書印刷設定データを参照して、対象取引明細データ格納部Ｄ１４に格納されたすべての対象取引明細データを領収書の対象とするか否かを判定する。すべての対象取引明細データを領収書の対象とすると判定されるとステップｓ２７に進み、すべての対象取引明細データを領収書の対象としないと判定されるとステップｓ２５に進む。
【００７４】
ステップｓ２５で、ＣＰＵ１１は、対象取引データ格納部Ｄ１３に格納されている対象取引データを読み込み、モニタなどの表示装置１５に一覧表示させ、担当者によって領収書の対象とする対象取引データが選択されると、選択されなかった対象取引データを対象取引データ格納部Ｄ１３から削除する。対象取引データの選択は、キーボードおよびタッチパネルなどの入力装置１４を使用して行われる。対象取引データが選択されると、ステップｓ２６に進む。
【００７５】
ステップｓ２６で、ＣＰＵ１１は、対象取引明細データ格納部Ｄ１４に格納されている対象取引明細データを読み込み、モニタなどの表示装置１５に一覧表示させ、担当者によって領収書の対象とする対象取引明細データが選択されると、選択されなかった対象取引明細データを対象取引明細データ格納部Ｄ１４から削除する。対象取引明細データの選択は、キーボードおよびタッチパネルなどの入力装置１４を使用して行われる。対象取引明細データが選択されると、ステップｓ２７に進む。
【００７６】
ステップｓ２７で、ＣＰＵ１１は、ステップｓ２１で採番した領収書番号を引数として領収書データ作成処理を実行する。領収書データ作成処理では、対象取引データ格納部Ｄ１３に格納されている対象取引データ、および対象取引明細データ格納部Ｄ１４に格納されている対象取引明細データに基づいて、領収書データおよび領収書明細データを作成する。領収書データ作成処理の詳細については後述する。ＣＰＵ１１によって、領収書データ作成処理において領収書データおよび領収書明細データが作成されてＰＯＳサーバ２０へ送信され、ＰＯＳサーバ２０のＣＰＵ２１によって領収書データおよび領収書明細データがそれぞれ、領収書データ格納部Ｄ２３および領収書明細データ格納部Ｄ２４に格納されると、ステップｓ２８に進む。
【００７７】
ステップｓ２８で、ＣＰＵ１１は、領収書データ格納部Ｄ２３に格納されている領収書データに基づいて、印刷装置１６に印刷させる。これにより領収書が発行される。領収書が発行されると、ステップｓ２９に進む。ステップｓ２９で、領収書発行処理が終了する。
【００７８】
図２６は、領収書データ作成処理のフローチャートである。
ステップｓ３０で、引数として渡された領収書番号を取得し、領収書データ作成処理が開始され、ステップｓ３１に進む。ステップｓ３１で、ＣＰＵ１１は、領収書廃棄処理を行う。対象取引明細データ格納部Ｄ１４に格納されている対象取引明細データのうち、領収書番号の情報が入力されている対象取引データがある場合、その領収書番号の領収書が回収されているか否かを判定し、回収されている場合には領収書を廃棄する。また未回収である場合には、領収書廃棄処理を中断し、戻り値として中断エラーを返す。このように、領収書が回収されているか否かを判定することによって、領収書が二重に発行されてしまうことを防止することができる。領収書廃棄処理の詳細については後述する。領収書廃棄処理が終了すると、ステップｓ３２に進む。
【００７９】
ステップｓ３２で、ＣＰＵ１１は、ステップｓ３１の領収書廃棄処理において、中断エラーの戻り値が返されたか否かを判定する。中断エラーの戻り値が返されている場合は、ステップｓ３７に進み、中断エラーの戻り値が返されていない場合、すなわち領収書廃棄処理の戻り値が正常終了の場合は、ステップｓ３３に進む。
【００８０】
ステップｓ３３で、ＣＰＵ１１は、対象取引データ格納部Ｄ１３に格納されている対象取引データを読み込み、ステップｓ３０で引数として渡された領収書番号を追加して、領収書データを作成する。このとき、領収書印刷設定データ格納部Ｄ２７に格納されている領収書印刷設定データを参照して、領収書フォーマットのフォーマット名の情報も追加する。また、対象取引データの取引日付を領収書データの領収日付に、対象取引データの取引時刻を領収書データの領収時刻に格納する。領収書データの領収日付および領収時刻は、領収書印刷設定データ格納部Ｄ２７に「領収日付区分」パラメータを設け、現在時刻を指定する値を設定することにより、現在の日付および時刻を格納することもできる。そして、作成した領収書データをＰＯＳサーバ２０へ送信する。ＰＯＳサーバ２０のＣＰＵ２１は、ＰＯＳ端末１０から領収書データを受信すると、受信した領収書データを領収書データ格納部Ｄ２３に格納する。このとき、領収書データ格納部Ｄ２３には、ステップｓ３０で引数として渡された領収書番号と同一の領収書番号の領収書データがステップｓ２１において既に格納されているので、上書きして格納する。領収書データが領収書データ格納部Ｄ２３に格納されると、ステップｓ３４に進む。
【００８１】
ステップｓ３４で、ＣＰＵ１１は、対象取引明細データ格納部Ｄ１４に格納されている対象取引明細データを読み込み、ステップｓ３０で引数として渡された領収書番号を追加して、領収書明細データを作成する。領収書明細データを作成する際には、作成した順に１から始まる枝番号が採番され、その枝番号の情報も追加して、領収書明細データが作成される。そして、作成した領収書明細データをＰＯＳサーバ２０へ送信する。ＰＯＳサーバ２０のＣＰＵ２１は、ＰＯＳ端末１０から領収書明細データを受信すると、受信した領収書明細データを領収書明細データ格納部Ｄ２４に格納する。領収書明細データが領収書明細データ格納部Ｄ２４に格納されると、ステップｓ３５に進む。
【００８２】
ステップｓ３５で、ＣＰＵ１１は、領収書印刷設定データ格納部Ｄ２７に格納されている領収書印刷設定データを参照して、「フォーマット」パラメータにフォーマット名が格納されていない場合には、モニタなどの表示装置１５に領収書フォーマット一覧を表示させる。そして、担当者によって所望の領収書フォーマットが選択されると、ステップｓ３４で作成された領収書データに、選択された領収書フォーマットのフォーマット名の情報を追加する。フォーマット名が追加されると、ステップｓ３６に進む。なお、「フォーマット」パラメータにフォーマット名が格納されている場合には、ステップｓ３３で既にフォーマット名の情報が追加されているので、ステップｓ３６に進む。
【００８３】
ステップｓ３６で、ＣＰＵ１１は、ステップｓ３０で引数として渡された領収書番号を引数として、領収書に印刷する但し書き文を作成するための但し書き作成処理を実行する。但し書き作成処理については後述する。但し書き作成処理によって但し書き文が作成されると、ステップｓ３４で作成された領収書データに、但し書き文の情報を追加する。但し書き文の情報が追加されると、ステップｓ３７に進む。
【００８４】
ステップｓ３７で、ＣＰＵ１１は、対象取引データおよび対象取引明細データをそれぞれ、対象取引データ格納部Ｄ１３および対象取引明細データ格納部Ｄ１４から削除する。また、領収書データ格納部Ｄ２３から、ステップｓ３０で指定された領収書番号の領収書データを読み取り、領収日付の情報が未入力である場合には、領収書廃棄処理が中断されたと判断し、ＰＯＳサーバ２０のＣＰＵ２１に対し、その領収書番号の領収書データを、領収書データ格納部Ｄ２３から削除させる。このように、一時データが削除されると、ステップｓ３８に進む。ステップｓ３８で、領収書データ作成処理が終了する。
【００８５】
図３４は、領収書廃棄処理のフローチャートである。
ステップｓ１７０で、領収書廃棄処理が開始され、ステップｓ１７１に進む。
【００８６】
ステップｓ１７１で、ＣＰＵ１１は、対象取引明細データ格納部Ｄ１４に格納されている対象取引明細データより全ての領収書番号を取得する。
【００８７】
ステップｓ１７２で、ＣＰＵ１１は、ステップｓ１７１で領収書番号が取得できたか否かを判定する。領収書番号が１件以上あれば、ステップｓ１７３へ進み、領収書番号が０件の場合は、領収書の削除を行う必要がないため、ステップｓ１７７へ進む。
【００８８】
ステップｓ１７３で、ＣＰＵ１１は、モニタなどの表示装置１５に、発行済み領収書を回収する必要があることを担当者に知らせる表示を行うとともに、回収した領収書の領収書番号を入力する画面を表示し、キーボードなどの入力装置１４を使用して、担当者に回収した領収書の番号を入力させる。回収した領収書番号の入力が完了するか、担当者により領収書番号の入力が中断されると、ステップｓ１７４へ進む。
【００８９】
ステップｓ１７４で、ＣＰＵ１１は、ステップｓ１７３で入力された領収書の番号とステップｓ１７１で取得した領収書番号を照合し、全ての領収書番号が一致した場合はステップｓ１７５へ進み、１つでも一致しなかった場合は、ステップ１７８へ進む。
【００９０】
ステップｓ１７５で、ＣＰＵ１１は対象取引明細データ格納部Ｄ１４に格納されている対象取引明細データの全ての領収書番号を削除し、ステップｓ１７６に進む。
【００９１】
ステップｓ１７６で、ＣＰＵ１１は、ステップｓ１７１で取得した領収書番号の領収書データおよび領収書明細データ削除する命令をＰＯＳサーバ２０へ送信する。ＰＯＳサーバ２０のＣＰＵ２１は、ＰＯＳ端末１０から領収書データおよび領収書明細データを削除する命令を受信すると、領収書データ格納部Ｄ２３に格納されている領収書データおよび領収書明細データから、指定された領収書番号に該当する領収書データおよび領収書明細データを削除する。領収書データおよび領収書明細データの削除が完了すると、ステップｓ１７７へ進む。
【００９２】
ステップｓ１７７で、ＣＰＵ１１は、戻り値に正常をセットしてステップｓ１７９へ進み、ステップｓ１７９で戻り値を呼び出し元の処理へ返して、領収書廃棄処理が終了する。
【００９３】
ステップｓ１７８で、ＣＰＵ１１は、戻り値に中断エラーをセットしてステップｓ１７９へ進み、ステップｓ１７９で戻り値を呼び出し元の処理へ返して、領収書廃棄処理が終了する。
【００９４】
図２７は、但し書き作成処理のフローチャートである。
ステップｓ４０で、引数として渡された領収書番号を取得し、但し書き作成処理が開始され、ステップｓ４１に進む。ステップｓ４１で、ＣＰＵ１１は、ステップｓ４０で引数として渡された領収書番号を引数として、商品分野名一覧データ作成処理を実行する。商品分野名一覧データ作成処理については後述する。商品分野名一覧データが作成され、商品分野名一覧データ格納部Ｄ１７に格納されると、ステップｓ４２に進む。
【００９５】
ステップｓ４２で、ＣＰＵ１１は、ステップｓ４０で引数として渡された領収書番号を引数として、アイテム名一覧データ作成処理を実行する。アイテム名一覧データ作成処理については後述する。アイテム名一覧データが作成され、アイテム名一覧データ格納部Ｄ１５に格納されると、ステップｓ４３に進む。
【００９６】
ステップｓ４３で、ＣＰＵ１１は、領収書印刷設定データ格納部Ｄ２７に格納されている領収書印刷設定データを参照して、「代表名最大数」パラメータの値を取得する。取得できなかった場合は、代表名最大数は１とする。
代表名最大数を取得すると、ステップｓ４４に進む。
【００９７】
ステップｓ４４で、ＣＰＵ１１は、領収書印刷設定データ格納部Ｄ２７に格納されている領収書印刷設定データを参照し、「商品分野名を代表名とする」パラメータに基づいて、アイテム名を代表名とするか、商品分野名を代表名とするかを判定する。アイテム名を代表名とすると判定されると、ステップｓ４５に進み、商品分野名を代表名とすると判定されると、ステップｓ４９に進む。
【００９８】
ステップｓ４５で、ＣＰＵ１１は、アイテム名一覧データ格納部Ｄ１５に格納されているアイテム名の数がステップｓ４３で取得した代表名最大数以下であるか、代表名最大数より多いかを判定する。アイテム名の数が代表名最大数以下である場合には、ステップｓ４６に進み、アイテム名の数が代表名最大数より多い場合には、ステップｓ４７に進む。
【００９９】
ステップｓ４６で、ＣＰＵ１１は、アイテム名一覧データ格納部Ｄ１５に格納されているアイテム名を代表名として設定する。代表名が設定されると、ステップｓ５４に進む。
【０１００】
ステップｓ４７で、ＣＰＵ１１は、ステップｓ４３で取得した代表名最大数を引数として、代表アイテム名決定処理を実行する。代表アイテム名決定処理については後述する。代表アイテム名決定処理によって代表アイテム名が決定されると、ステップｓ４８に進む。
【０１０１】
ステップｓ４８で、ＣＰＵ１１は、ステップｓ４７で決定された代表アイテム名を代表名として設定する。代表名が設定されると、ステップｓ５３に進む。
【０１０２】
ステップｓ４９で、ＣＰＵ１１は、商品分野名一覧データ格納部Ｄ１７に格納されている商品分野名の数がステップｓ４３で取得した代表名最大数以下であるか、代表名最大数より多いかを判定する。商品分野名の数が代表名最大数以下である場合には、ステップｓ５０に進み、商品分野名の数が代表名最大数より多い場合には、ステップｓ５１に進む。
【０１０３】
ステップｓ５０で、ＣＰＵ１１は、商品分野名一覧データ格納部Ｄ１７に格納されている商品分野名を代表名として設定する。代表名が設定されると、ステップｓ５４に進む。
【０１０４】
ステップｓ５１で、ＣＰＵ１１は、ステップｓ４３で取得した代表名最大数を引数として、代表商品分野名決定処理を実行する。代表商品分野名決定処理については後述する。代表商品分野名決定処理によって代表商品分野名が決定されると、ステップｓ５２に進む。
【０１０５】
ステップｓ５２で、ＣＰＵ１１は、ステップｓ５１で決定された代表商品分野名を代表名として設定する。代表名が設定されると、ステップｓ５３に進む。
【０１０６】
ステップｓ５３で、ＣＰＵ１１は、領収書印刷設定データ格納部Ｄ２７に格納されている領収書印刷設定データを参照し、「但し書き付加文字」パラメータに基づいて、但し書き付加文字データ格納部Ｄ２６から但し書き付加文字を取得する。但し書き付加文字が取得されると、ステップｓ５４に進む。
【０１０７】
ステップｓ５４で、ＣＰＵ１１は、領収書印刷設定データ格納部Ｄ２７に格納されている領収書印刷設定データを参照し、「但し書き文」パラメータに基づいて、但し書き文例データ格納部Ｄ２５から但し書き文例を取得する。但し書き文例が取得されると、ステップｓ５５に進む。
【０１０８】
ステップｓ５５で、ＣＰＵ１１は、ｓ４６、ｓ４８、ｓ５０またはｓ５２で決定された代表名、ステップｓ５４で取得された但し書き文例および、ステップｓ５３で取得した但し書き付加文字を引数として、但し書き文を作成するための但し書き文作成処理を実行する。但し書き文作成処理については後述する。但し書き文作成処理において但し書き文が作成されると、ステップｓ５６に進む。ステップｓ５６で、但し書き作成処理が終了する。
【０１０９】
図２８は、商品分野名一覧データ作成処理のフローチャートである。
ステップｓ６０で、引数として渡された領収書番号を取得し、商品分野名一覧データ作成処理が開始され、ステップｓ６１に進む。ステップｓ６１で、ＣＰＵ１１は、領収書明細データ格納部Ｄ２４に格納されている領収書明細データのうち、ステップｓ６０で引数として渡された領収書番号と領収書明細データに格納されている領収書番号とが一致するデータの最初の領収書明細データに、データ参照用のポインタを設定する。ポインタが設定されると、ステップｓ６２に進む。
【０１１０】
ステップｓ６２で、ＣＰＵ１１は、領収書明細データ格納部Ｄ２４から、ポインタによって指し示されている領収書明細データを、１件取得する。領収書明細データが取得されると、ステップｓ６３に進む。
【０１１１】
ステップｓ６３で、ＣＰＵ１１は、ステップｓ６２で取得された領収書明細データから、商品分野名の情報を取得する。商品分野名の情報が取得されると、ステップｓ６４に進む。
【０１１２】
ステップｓ６４で、ＣＰＵ１１は、商品分野名一覧データ格納部Ｄ１７に、ステップｓ６３で取得された商品分野名と同一の商品分野名が存在しているか否かを判定する。同一の商品分野名が存在していないと判定されると、ステップｓ６５に進み、同一の商品分野名が存在していると判定されると、ステップｓ６６に進む。
【０１１３】
ステップｓ６５で、ＣＰＵ１１は、ステップｓ６２で取得された領収書明細データに基づいて、商品分野名一覧データを新たに作成する。具体的には、商品分野名一覧データの分野名欄に、領収書明細データの分野名情報を入力し、商品分野名一覧データの最小枝番号欄に、領収書明細データの枝番号情報を入力し、商品分野名一覧データのカウント欄に、１を入力し、商品分野名一覧データの最高単価欄に、領収書明細データの単価情報を入力し、商品分野名一覧データの数量欄に、領収書明細データの数量情報を入力し、商品分野名一覧データの金額欄に、領収書明細データの単価と数量との積算値の情報を入力することによって作成される。商品分野名一覧データが新たに作成されると、ステップｓ６７に進む。
【０１１４】
ステップｓ６６で、ＣＰＵ１１は、ステップｓ６２で取得された領収書明細データに基づいて、商品分野名一覧データ格納部Ｄ１７に既に存在している、同一の商品分野名の商品分野名一覧データを更新する。具体的には、商品分野名一覧データの最小枝番号欄に、領収書明細データの枝番号および当該商品分野名一覧データの最小枝番号のうち小さい方の枝番号の情報を入力し、商品分野名一覧データのカウント欄に、当該商品分野名一覧データのカウントの数値に１を加算した数値の情報を入力し、商品分野名一覧データの最高単価欄に、領収書明細データの単価および当該商品分野名一覧データの最高単価のうち大きい方の単価の情報を入力し、商品分野名一覧データの数量欄に、領収書明細データの数量に当該商品分野名一覧データの数量を加算した数値の情報を入力し、商品分野名一覧データの金額欄に、領収書明細データの単価と数量との積算値に当該商品分野名一覧データの金額を加算した数値の情報を入力することによって更新される。商品分野名一覧データが更新されると、ステップｓ６７に進む。
【０１１５】
ステップｓ６７で、ＣＰＵ１１は、作成または更新した商品分野名一覧データを商品分野名一覧データ格納部Ｄ１７に格納する。商品分野名一覧データが商品分野名一覧データ格納部Ｄ１７に格納されると、ステップｓ６８に進む。
【０１１６】
ステップｓ６８で、ＣＰＵ１１は、データ参照用のポインタを１つ進める。ポインタが１つ進められると、ステップｓ６９に進む。
【０１１７】
ステップｓ６９で、ＣＰＵ１１は、データ参照用のポインタが領収書明細データを指し示しているか否かを判定する。領収書明細データを指し示していると判定されると、ステップｓ６２に進み、領収書明細データを指し示していないと判定されると、ステップｓ７０に進む。ステップｓ７０で、商品分野名一覧データ作成処理が終了する。
【０１１８】
図２９は、アイテム名一覧データ作成処理のフローチャートである。
ステップｓ８０で、引数として渡された領収書番号を取得し、アイテム名一覧データ作成処理が開始され、ステップｓ８１に進む。ステップｓ８１で、ＣＰＵ１１は、領収書明細データ格納部Ｄ２４に格納されている領収書明細データのうち、ステップｓ８０で引数として渡された領収書番号と領収書明細データに格納されている領収書番号とが一致するデータの最初の領収書明細データに、データ参照用のポインタを設定する。ポインタが設定されると、ステップｓ８２に進む。
【０１１９】
ステップｓ８２で、ＣＰＵ１１は、領収書明細データ格納部Ｄ２４から、ポインタによって指し示されている領収書明細データを、１件取得する。領収書明細データが取得されると、ステップｓ８３に進む。
【０１２０】
ステップｓ８３で、ＣＰＵ１１は、ステップｓ８２で取得された領収書明細データから、アイテム名の情報を取得する。アイテム名の情報が取得されると、ステップｓ８４に進む。
【０１２１】
ステップｓ８４で、ＣＰＵ１１は、アイテム名一覧データ格納部Ｄ１５に、ステップｓ８３で取得されたアイテム名と同一のアイテム名が存在しているか否かを判定する。同一のアイテム名が存在していないと判定されると、ステップｓ８５に進み、同一のアイテム名が存在していると判定されると、ステップｓ８６に進む。
【０１２２】
ステップｓ８５で、ＣＰＵ１１は、ステップｓ８２で取得された領収書明細データに基づいて、アイテム名一覧データを新たに作成する。具体的には、アイテム名一覧データのアイテム名欄に、領収書明細データのアイテム名情報を入力し、アイテム名一覧データの最小枝番号欄に、領収書明細データの枝番号情報を入力し、アイテム名一覧データのカウント欄に、１を入力し、アイテム名一覧データの最高単価欄に、領収書明細データの単価情報を入力し、アイテム名一覧データの数量欄に、領収書明細データの数量情報を入力し、アイテム名一覧データの金額欄に、領収書明細データの単価と数量との積算値の情報を入力することによって作成される。アイテム名一覧データが新たに作成されると、ステップｓ８７に進む。
【０１２３】
ステップｓ８６で、ＣＰＵ１１は、ステップｓ８２で取得された領収書明細データに基づいて、アイテム名一覧データ格納部Ｄ１５に既に存在している、同一のアイテム名のアイテム名一覧データを更新する。具体的には、アイテム名一覧データの最小枝番号欄に、領収書明細データの枝番号および当該アイテム名一覧データの最小枝番号のうち小さい方の枝番号の情報を入力し、アイテム名一覧データのカウント欄に、当該アイテム名一覧データのカウントの数値に１を加算した数値の情報を入力し、アイテム名一覧データの最高単価欄に、領収書明細データの単価および当該アイテム名一覧データの最高単価のうち大きい方の単価の情報を入力し、アイテム名一覧データの数量欄に、領収書明細データの数量に当該アイテム名一覧データの数量を加算した数値の情報を入力し、アイテム名一覧データの金額欄に、領収書明細データの単価と数量との積算値に当該アイテム名一覧データの金額を加算した数値の情報を入力することによって更新される。アイテム名一覧データが更新されると、ステップｓ８７に進む。
【０１２４】
ステップｓ８７で、ＣＰＵ１１は、作成または更新したアイテム名一覧データをアイテム名一覧データ格納部Ｄ１５に格納する。アイテム名一覧データがアイテム名一覧データ格納部Ｄ１５に格納されると、ステップｓ８８に進む。
【０１２５】
ステップｓ８８で、ＣＰＵ１１は、データ参照用のポインタを１つ進める。ポインタが１つ進められると、ステップｓ８９に進む。
【０１２６】
ステップｓ８９で、ＣＰＵ１１は、データ参照用のポインタが領収書明細データを指し示しているか否かを判定する。領収書明細データを指し示していると判定されると、ステップｓ８２に進み、領収書明細データを指し示していないと判定されると、ステップｓ９０に進む。ステップｓ９０で、商品分野名一覧データ作成処理が終了する。
【０１２７】
図３０は、代表アイテム名決定処理のフローチャートである。
ステップｓ１００で、引数として渡された代表名最大数を取得し、代表アイテム名決定処理が開始され、ステップｓ１０１に進む。ステップｓ１０１で、ＣＰＵ１１は、整数カウンタＮに、初期値として１を設定する。初期値が設定されると、ステップｓ１０２に進む。
【０１２８】
ステップｓ１０２で、ＣＰＵ１１は、商品分野名一覧データ格納部Ｄ１７に格納されているすべての商品分野名一覧データを読出し、それぞれ代表商品分野名データとして代表商品分野名データ格納部Ｄ１８に格納する。すべての商品分野名一覧データが代表商品分野名データ格納部Ｄ１８に格納されると、ステップｓ１０３に進む。
【０１２９】
ステップｓ１０３で、ＣＰＵ１１は、アイテム名一覧データ格納部Ｄ１５に格納されているすべてアイテム名一覧データを読出し、それぞれ代表アイテム名データとして代表アイテム名データ格納部Ｄ１６に格納する。すべてのアイテム名一覧データが代表アイテム名データ格納部Ｄ１６に格納されると、ステップｓ１０４に進む。
【０１３０】
ステップｓ１０４で、ＣＰＵ１１は、代表アイテム名データ格納部Ｄ１６に格納されている代表アイテム名データのデータ件数が、ステップｓ１００で引数として渡された代表名最大数以下であるか否かを判定する。代表アイテム名データ件数が代表名最大数より多いと判定されると、代表名決定条件に従ってデータ件数を絞るべきであると判断して、ステップｓ１０５に進む。また、代表アイテム名データ件数が代表名最大数以下であると判定されると、その代表アイテム名データのアイテム名を代表アイテム名として決定すべきと判断して、ステップｓ１１３に進む。
【０１３１】
ステップｓ１０５で、ＣＰＵ１１は、領収書印刷設定データ格納部Ｄ２７に格納されている領収書印刷設定データを参照し、整数カウンタＮに基づいて、第Ｎ代表名決定条件を取得する。第Ｎ代表名決定条件が取得されると、ステップｓ１０６に進む。
【０１３２】
ステップｓ１０６で、ＣＰＵ１１は、第Ｎ代表名決定条件が取得できたか否かを判定する。取得できたと判定されると、ステップｓ１０７に進み、取得できなかったと判定されると、第Ｎ代表名決定条件が設定されていない、またはすべての条件による抽出が終了したと判断し、ステップｓ１１０に進む。
【０１３３】
ステップｓ１０７で、ＣＰＵ１１は、ステップｓ１０５で取得した第Ｎ代表名決定条件を引数として、代表アイテム名・代表商品分野名条件抽出処理を実行する。代表アイテム名・代表商品分野名条件抽出処理については後述する。代表アイテム名・代表商品分野名条件抽出処理において、代表アイテム名データ格納部Ｄ１６に格納されている代表アイテム名データ、および代表商品分野名データ格納部Ｄ１８に格納されている代表商品分野名データが更新されると、ステップｓ１０８に進む。
【０１３４】
ステップｓ１０８で、ＣＰＵ１１は、整数カウンタＮの値に１を加算した値を、整数カウンタＮに設定する。加算値が整数カウンタＮに設定されると、ステップｓ１０９に進む。
【０１３５】
ステップｓ１０９で、ＣＰＵ１１は、整数カウンタＮの値が所定の値（本実施形態では８）を超えているか否かを判定する。ここで、所定の値とは、領収書印刷設定データ格納部Ｄ２７に格納されている代表名決定条件の数に等しい値である。整数カウンタＮの値が所定の値を超えていると判定されると、ステップｓ１１０に進み、所定の値以下であると判定されると、ステップｓ１０４に進む。
【０１３６】
ステップｓ１１０で、ＣＰＵ１１は、代表アイテム名データ格納部Ｄ１６に格納されているデータ件数が、ステップｓ１００で引数として渡された代表名最大数以下であるか否かを判定する。代表アイテム名データ件数が代表名最大数より多いと判定されると、ステップｓ１１１に進み、代表アイテム名データ件数が代表名最大数以下であると判定されると、ステップｓ１１３に進む。
【０１３７】
ステップｓ１１１で、ＣＰＵ１１は、代表アイテム名データ格納部Ｄ１６に格納されているすべての代表アイテム名データのうち、枝番号が最も小さい代表アイテム名データから順に、ステップｓ１００で引数として渡された代表名最大数と同数の代表アイテム名データを取得する。代表アイテム名データが取得されると、ステップｓ１１２に進む。
【０１３８】
ステップｓ１１２で、ＣＰＵ１１は、代表アイテム名データ格納部Ｄ１６に格納されているすべての代表アイテム名データを消去し、ステップｓ１１１で取得された代表アイテム名データを代表アイテム名データ格納部Ｄ１６に格納する。代表アイテム名データが代表アイテム名データ格納部Ｄ１６に格納されると、ステップｓ１１３に進む。ステップｓ１１３で、代表アイテム名決定処理が終了する。
【０１３９】
図３１は、代表商品分野名決定処理のフローチャートである。
ステップｓ１２０で、引数として渡された代表名最大数を取得し、代表商品分野名決定処理が開始され、ステップｓ１２１に進む。ステップｓ１２１で、ＣＰＵ１１は、整数カウンタＮに、初期値として１を設定する。初期値が設定されると、ステップｓ１２２に進む。
【０１４０】
ステップｓ１２２で、ＣＰＵ１１は、商品分野名一覧データ格納部Ｄ１７に格納されているすべての商品分野名一覧データを読出し、それぞれ代表商品分野名データとして代表商品分野名データ格納部Ｄ１８に格納する。すべての商品分野名一覧データが代表商品分野名データ格納部Ｄ１８に格納されると、ステップｓ１２３に進む。
【０１４１】
ステップｓ１２３で、ＣＰＵ１１は、アイテム名一覧データ格納部Ｄ１５に格納されているすべてのアイテム名一覧データを読出し、それぞれ代表アイテム名データとして代表アイテム名データ格納部Ｄ１６に格納する。すべてのアイテム名一覧データが代表アイテム名データ格納部Ｄ１６に格納されると、ステップｓ１２４に進む。
【０１４２】
ステップｓ１２４で、ＣＰＵ１１は、代表商品分野名データ格納部Ｄ１８に格納されている代表商品分野名データのデータ件数が、ステップｓ１２０で引数として渡された代表名最大数以下であるか否かを判定する。代表商品分野名データ件数が代表名最大数より多いと判定されると、代表名決定条件に従ってデータ件数を絞るべきであると判断して、ステップｓ１２５に進む。また、代表商品分野名データ件数が代表名最大数以下であると判定されると、その代表商品分野名データの商品分野名を代表商品分野名として決定すべきと判断して、ステップｓ１３３に進む。
【０１４３】
ステップｓ１２５で、ＣＰＵ１１は、領収書印刷設定データ格納部Ｄ２７に格納されている領収書印刷設定データを参照し、整数カウンタＮに基づいて、第Ｎ代表名決定条件を取得する。第Ｎ代表名決定条件が取得されると、ステップｓ１２６に進む。
【０１４４】
ステップｓ１２６で、ＣＰＵ１１は、第Ｎ代表名決定条件が取得できたか否かを判定する。取得できたと判定されると、ステップｓ１２７に進み、取得できなかったと判定されると、第Ｎ代表名決定条件が設定されていない、またはすべての条件による抽出が終了したと判断し、ステップｓ１３０に進む。
【０１４５】
ステップｓ１２７で、ＣＰＵ１１は、ステップｓ１２５で取得した第Ｎ代表名決定条件を引数として、代表アイテム名・代表商品分野名条件抽出処理を実行する。代表アイテム名・代表商品分野名条件抽出処理については後述する。代表アイテム名・代表商品分野名条件抽出処理において、代表アイテム名データ格納部Ｄ１６に格納されている代表アイテム名データ、および代表商品分野名データ格納部Ｄ１８に格納されている代表商品分野名データが更新されると、ステップｓ１２８に進む。
【０１４６】
ステップｓ１２８で、ＣＰＵ１１は、整数カウンタＮの値に１を加算した値を、整数カウンタＮに設定する。加算値が整数カウンタＮに設定されると、ステップｓ１２９に進む。
【０１４７】
ステップｓ１２９で、ＣＰＵ１１は、整数カウンタＮの値が所定の値（本実施形態では８）を超えているか否かを判定する。ここで、所定の値とは、領収書印刷設定データ格納部Ｄ２７に格納されている代表名決定条件の数に等しい値である。整数カウンタＮの値が所定の値を超えていると判定されると、ステップｓ１３０に進み、所定の値以下であると判定されると、ステップｓ１２４に進む。
【０１４８】
ステップｓ１３０で、ＣＰＵ１１は、代表商品分野名データ格納部Ｄ１８に格納されている代表商品分野名データ件数が、ステップｓ１２０で引数として渡された代表名最大数以下であるか否かを判定する。代表商品分野名データ件数が代表名最大数より多いと判定されると、ステップｓ１３１に進み、代表商品分野名データ件数が代表名最大数以下であると判定されると、ステップｓ１３３に進む。
【０１４９】
ステップｓ１３１で、ＣＰＵ１１は、代表商品分野名データ格納部Ｄ１８に格納されているすべての代表商品分野名データのうち、枝番号が最も小さい代表商品分野名データから順に、ステップｓ１２０で引数として渡された代表名最大数と同数の代表商品分野名データを取得する。代表商品分野名データが取得されると、ステップｓ１３２に進む。
【０１５０】
ステップｓ１３２で、ＣＰＵ１１は、代表商品分野名データ格納部Ｄ１８に格納されているすべての代表商品分野名データを消去し、ステップｓ１３１で取得された代表商品分野名データを代表商品分野名データ格納部Ｄ１８に格納する。代表商品分野名データが代表商品分野名データ格納部Ｄ１８に格納されると、ステップｓ１３３に進む。ステップｓ１３３で、代表商品分野名決定処理が終了する。
【０１５１】
図３２は、代表アイテム名・代表商品分野名条件抽出処理のフローチャートである。
ステップｓ１４０で、引数として渡された代表名決定条件を取得し、代表アイテム名・代表商品分野名条件抽出処理が開始され、ステップｓ１４１に進む。ステップｓ１４１で、ＣＰＵ１１は、取得された代表名決定条件が、アイテム名に関する条件であるか、商品分野名に関する条件であるかを判定する。たとえば、カウントが最も多いアイテム名を抽出するという条件、最高単価が最も高いアイテム名を抽出するという条件、数量が最も多いアイテム名を抽出するという条件、および、金額が最も高いアイテム名を抽出するという条件は、アイテム名に関する条件であると判定される。また、商品分野名に関する条件には、カウントが最も多い商品分野名を抽出するという条件、最高単価が最も高い商品分野名を抽出するという条件、数量が最も多い商品分野名を抽出するという条件、および、金額が最も高い商品分野名を抽出するという条件は、商品分野名に関する条件であると判定される。アイテム名に関する条件であると判定されると、ステップｓ１４２に進み、商品分野名に関する条件であると判定されると、ステップｓ１４７に進む。
【０１５２】
ステップｓ１４２で、ＣＰＵ１１は、代表アイテム名データ格納部Ｄ１６から、ステップｓ１４０で引数として渡された代表名決定条件に合致する代表アイテム名データを抽出する。代表アイテム名データが抽出されると、ステップｓ１４３に進む。
【０１５３】
ステップｓ１４３で、ＣＰＵ１１は、ステップｓ１４２で抽出された代表アイテム名データから、すべての商品分野名を取得する。このとき、同一の商品分野名は重複して取得しない。商品分野名が取得されると、ステップｓ１４４に進む。
【０１５４】
ステップｓ１４４で、ＣＰＵ１１は、代表アイテム名データ格納部Ｄ１６に格納されているすべての代表アイテム名データを消去し、ステップｓ１４２で抽出された代表アイテム名データを代表アイテム名データ格納部Ｄ１６に格納する。代表アイテム名データが代表アイテム名データ格納部Ｄ１６に格納されると、ステップｓ１４５に進む。
【０１５５】
ステップｓ１４５で、ＣＰＵ１１は、代表商品分野名データ格納部Ｄ１８から、ステップｓ１４３で取得された商品分野名と一致する代表商品分野名データを取得する。代表商品分野名データが取得されると、ステップｓ１４６に進む。
【０１５６】
ステップｓ１４６で、ＣＰＵ１１は、代表商品分野名データ格納部Ｄ１８に格納されているすべての代表商品分野名データを消去し、ステップｓ１４５で取得された代表商品分野名データを代表商品分野名データ格納部Ｄ１８に格納する。代表商品分野名データが代表商品分野名データ格納部Ｄ１８に格納されると、ステップｓ１５２に進む。
【０１５７】
ステップｓ１４７で、ＣＰＵ１１は、代表商品分野名データ格納部Ｄ１８から、ステップｓ１４０で引数として渡された代表名決定条件に合致する代表商品分野名データを抽出する。代表商品分野名データが抽出されると、ステップｓ１４８に進む。
【０１５８】
ステップｓ１４８で、ＣＰＵ１１は、ステップｓ１４７で抽出された代表商品分野名データから、すべての商品分野名を取得する。商品分野名が取得されると、ステップｓ１４９に進む。
【０１５９】
ステップｓ１４９で、ＣＰＵ１１は、代表商品分野名データ格納部Ｄ１８に格納されているすべての代表商品分野名データを消去し、ステップｓ１４７で抽出された代表商品分野名データを代表商品分野名データ格納部Ｄ１８に格納する。代表商品分野名データが代表商品分野名データ格納部Ｄ１８に格納されると、ステップｓ１５０に進む。
【０１６０】
ステップｓ１５０で、ＣＰＵ１１は、代表アイテム名データ格納部Ｄ１６から、ステップｓ１４８で取得された商品分野名と一致する代表アイテム名データを取得する。代表アイテム名データが取得されると、ステップｓ１５１に進む。
【０１６１】
ステップｓ１５１で、ＣＰＵ１１は、代表アイテム名データ格納部Ｄ１６に格納されているすべての代表アイテム名データを消去し、ステップｓ１５０で取得された代表アイテム名データを代表アイテム名データ格納部Ｄ１６に格納する。代表アイテム名データが代表アイテム名データ格納部Ｄ１６に格納されると、ステップｓ１５２に進む。ステップｓ１５２で、代表アイテム名・代表商品分野名条件抽出処理が終了する。
【０１６２】
図３３は、但し書き文作成処理のフローチャートである。
ステップｓ１６０で、引数として渡された代表名、但し書き文例および、但し書き付加文字を取得し、但し書き文作成処理が開始され、ステップｓ１６１に進む。ステップｓ１６１で、ＣＰＵ１１は、領収書印刷設定データ格納部Ｄ２７に格納されている領収書印刷設定データを参照して、「代表名結合文字」パラメータに設定されている代表名結合文字を取得し、ステップｓ１６２に進む。
【０１６３】
ステップｓ１６２で、ＣＰＵ１１は、ステップｓ１６０で引数として渡された但し書き文例における「＜代表名＞」欄を、ステップｓ１６０で引数として渡された代表名に置換する。代表名が複数の場合は、代表名と代表名の間に、ステップｓ１６１で取得した代表名結合文字を挿入する。代表名が置換されると、ステップｓ１６３に進む。
【０１６４】
ステップｓ１６３で、ＣＰＵ１１は、但し書き付加文字が取得されているか否かを判定する。但し書き付加文字が取得されていると判定されると、領収書発行の対象の全商品の中に、設定された代表名に該当しない商品が含まれていると判断し、ステップｓ１６４に進み、但し書き付加文字が取得されていないと判定されると、領収書発行の対象の全商品の中に、設定された代表名に該当しない商品が含まれていないと判断し、ステップｓ１６５に進む。
【０１６５】
ステップｓ１６４で、ＣＰＵ１１は、取得された但し書き文例における「＜付加文字＞」欄を、取得された但し書き付加文字に置換する。取得された但し書き付加文字が置換されると、ステップｓ１６６に進む。
【０１６６】
ステップｓ１６５で、ＣＰＵ１１は、取得された但し書き文例における「＜付加文字＞」欄を削除する。「＜付加文字＞」欄が削除されると、ステップｓ１６６に進む。ステップｓ１６６で、但し書き文作成処理が終了する。
【０１６７】
図３５は、ＰＯＳ端末１０によって発行された領収書の一例を示す図である。図３５に示すように、本実施形態に係るＰＯＳ端末１０によって発行された領収書の但し書き文には、領収書の対象となる複数の商品を代表する代表商品分野名に、該代表商品分野名に含まれない商品が存在していることを示すための「等」という付加文字が記載されている。
【０１６８】
本実施形態では、領収書発行装置は、ＰＯＳ端末１０において実現されているが、ＥＣＲによって実現されてもよい。
【０１６９】
以上に説明するように、本実施形態によれば、領収書発行の対象である複数の商品に関する情報が記憶装置１３に記憶され、ＣＰＵ１１によって実現される代表名決定手段は、記憶装置１３に記憶されている情報に基づいて、代表名を決定するために予め定めた条件に従って、複数の商品を代表する代表アイテム名または代表商品分野名を決定する。そして、ＣＰＵ１１によって実現される但し書き文作成手段は、代表名決定手段によって決定された代表アイテム名または代表商品分野名に該当しない商品が前記複数の商品に含まれていると判定すると、その代表アイテム名または代表商品分野名に該当しない商品が含まれていることを示すための、たとえば「主に」および「等」といった付加文字を、その代表アイテム名または代表商品分野名に付加することによって領収書に記載すべき但し書き文を作成する。したがって、取引内容を正確に表現した但し書き文が記載されている領収書を発行することができる。
【符号の説明】
【０１７０】
１  ＰＯＳシステム
１０  ＰＯＳ端末
２０  ＰＯＳサーバ
Ｄ１１  一時取引データ格納部
Ｄ１２  一時取引明細データ格納部
Ｄ１３  対象取引データ格納部
Ｄ１４  対象取引明細データ格納部
Ｄ１５  アイテム名一覧データ格納部
Ｄ１６  代表アイテム名データ格納部
Ｄ１７  商品分野名一覧データ格納部
Ｄ１８  代表商品分野名データ格納部
Ｄ２１  取引データ格納部
Ｄ２２  取引明細データ格納部
Ｄ２３  領収書データ格納部
Ｄ２４  領収書明細データ格納部
Ｄ２５  但し書き文例データ格納部
Ｄ２６  但し書き付加文字データ格納部
Ｄ２７  領収書印刷設定データ格納部
Ｄ２８  領収書フォーマットデータ格納部
Ｄ２９  ＰＬＵ格納部
Ｄ３０  顧客情報格納部
Ｄ３１  担当者情報格納部
【図１】
2011154486.tif 000003
【図２】
2011154486.tif 000004
【図３】
2011154486.tif 000005
【図４】
2011154486.tif 000006
【図５】
2011154486.tif 000007
【図６】
2011154486.tif 000008
【図７】
2011154486.tif 000009
【図８】
2011154486.tif 000010
【図９】
2011154486.tif 000011
【図１０】
2011154486.tif 000012
【図１１】
2011154486.tif 000013
【図１２】
2011154486.tif 000014
【図１３】
2011154486.tif 000015
【図１４】
2011154486.tif 000016
【図１５】
2011154486.tif 000017
【図１６】
2011154486.tif 000018
【図１７】
2011154486.tif 000019
【図１８】
2011154486.tif 000020
【図１９】
2011154486.tif 000021
【図２０】
2011154486.tif 000022
【図２１】
2011154486.tif 000023
【図２２】
2011154486.tif 000024
【図２３】
2011154486.tif 000025
【図２４】
2011154486.tif 000026
【図２５】
2011154486.tif 000027
【図２６】
2011154486.tif 000028
【図２７】
2011154486.tif 000029
【図２８】
2011154486.tif 000030
【図２９】
2011154486.tif 000031
【図３０】
2011154486.tif 000032
【図３１】
2011154486.tif 000033
【図３２】
2011154486.tif 000034
【図３３】
2011154486.tif 000035
【図３４】
2011154486.tif 000036
【図３５】
2011154486.tif 000037