(57)【特許請求の範囲】
【請求項１】
顧客が買い上げた商品に付された商品データを読み取ることにより商品登録を行い、前記商品の明細を含む取引データを確定する登録装置と、確定された前記取引データに基づいて、前記明細が印刷されたレシートの発行を伴う代金精算を実行する精算装置と、を有するＰＯＳシステムにおいて、
前記取引データに対応付けられた取引番号と該取引データとを記憶する記憶部と、
前記取引番号を受信し、受信した前記取引番号に対応付けられた前記取引データを前記記憶部から取得して、取得した前記取引データを返信する第１通信部と、
を備え、
前記登録装置は、
前記取引データと前記取引番号とを対応付けて前記記憶部に記憶させる書込部と、
前記第１通信部の状態の良否を判定する通信判定部と、
前記状態が良であると前記通信判定部が判定した場合、前記取引番号を第１コードに変換して、該第１コードが印刷された伝票を発行し、前記通信状態が否であると前記通信判定部が判定した場合、前記取引データを第２コードに変換して、該第２コードが印刷された伝票を発行する第１制御部と、
を備え、
前記精算装置は、
前記伝票に印刷された前記第１コード及び前記第２コードを読み取ることが可能である伝票読取部と、
前記伝票読取部が読み取ったコードが前記第２コードであるか否かを判定する読取判定部と、
前記第２コードでないと前記読取判定部が判定した場合、前記第１コードが表す前記取引番号を前記第１通信部に送信し、送信した前記取引番号に対応付けられた前記取引データを前記第１通信部から受信する第２通信部と、
前記第２コードであると前記読取判定部が判定した場合、該第２コードに基づいて前記代金精算を実行し、前記第１コードを読み取ったと前記読取判定部が判定した場合、前記第２通信部が受信した前記取引データに基づいて前記代金精算を実行する第２制御部と、
を備えることを特徴とするＰＯＳシステム。
【請求項２】
前記第１コードは、バーコードであり、
前記第２コードは、二次元コードであることを特徴とする請求項１に記載のＰＯＳシステム。
【請求項３】
前記登録装置は、前記第１コードを印字した伝票発行後も該当取引データを記憶し、呼出して前記第２コードを印字した伝票を発行可能にしたことを特徴とする請求項１又は請求項２に記載のＰＯＳシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、小売店等で使用され、顧客が買い上げた商品を登録して代金精算を実行するＰＯＳ（Ｐｏｉｎｔ Ｏｆ Ｓａｌｅｓ）システムに関する。
【背景技術】
【０００２】
スーパーマーケット等の小売店では、顧客の混雑時のレジ待ち行列の解消として、レジにおける処理時間が代金精算に係るよりも商品登録に係る方が長いことに着目してレジを登録装置と精算装置に分離し、登録装置の台数をより多く配置する会計システムが考えられている（特許文献１参照）。
【０００３】
ところが、このようなシステムでは商品登録が終了した顧客の取引データを精算装置に確実に引き渡す仕組みが必要になるが、特許文献１では登録装置が仮レシートに顧客コードをバーコードで印字し、顧客コードと取引データを精算装置に転送し、精算装置は仮レシートのバーコードから顧客コードを読み取って、その顧客の取引データを読み出して代金精算を行うようになっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平２−１８４９９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、この方式では、通信にトラブルがないことが前提となっているが、現状ではしばしば通信トラブルは生じるものであり、その場合には店舗が混乱するばかりではなく、店舗の信用に係わるという問題があった。
【０００６】
本発明は、前記の点に鑑みてなされたものであり、顧客が買い上げた商品の明細を含む取引データを確定する登録装置と、確定された取引データに基づいて、明細が印刷されたレシートの発行を伴う代金精算を実行する精算装置とを有するＰＯＳシステムにおいて、装置間に通信トラブルが発生した場合でも、代金精算を実行することができるＰＯＳシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するためになされたものであり、顧客が買い上げた商品に付された商品データを読み取ることにより商品登録を行い、前記商品の明細を含む取引データを確定する登録装置と、確定された前記取引データに基づいて、前記明細が印刷されたレシートの発行を伴う代金精算を実行する精算装置と、を有するＰＯＳシステムにおいて、前記取引データに対応付けられた取引番号と該取引データとを記憶する記憶部と、前記取引番号を受信し、受信した前記取引番号に対応付けられた前記取引データを前記記憶部から取得して、取得した前記取引データを返信する第１通信部と、を備え、前記登録装置は、前記取引データと前記取引番号とを対応付けて前記記憶部に記憶させる書込部と、前記第１通信部の状態の良否を判定する通信判定部と、前記状態が良であると前記通信判定部が判定した場合、前記取引番号を第１コードに変換して、該第１コードが印刷された伝票を発行し、前記通信状態が否であると前記通信判定部が判定した場合、前記取引データを第２コードに変換して、該第２コードが印刷された伝票を発行する第１制御部と、を備え、前記精算装置は、前記伝票に印刷された前記第１コード及び前記第２コードを読み取ることが可能である伝票読取部と、前記伝票読取部が読み取ったコードが前記第２コードであるか否かを判定する読取判定部と、前記第２コードでないと前記読取判定部が判定した場合、前記第１コードが表す前記取引番号を前記第１通信部に送信し、送信した前記取引番号に対応付けられた前記取引データを前記第１通信部から受信する第２通信部と、前記第２コードであると前記読取判定部が判定した場合、該第２コードに基づいて前記代金精算を実行し、前記第１コードを読み取ったと前記読取判定部が判定した場合、前記第２通信部が受信した前記取引データに基づいて前記代金精算を実行する第２制御部と、を備えることを特徴とするＰＯＳシステムである。
これにより、ＰＯＳシステムは、装置間に通信トラブルが発生した場合、取引データを表すコードを伝票から読み取るので、装置間に通信トラブルが発生した場合でも、代金精算を実行することができる。
また、装置間に通信トラブルが発生した場合、ＰＯＳシステムは、第１コードを用いる代金精算と第２コードを用いる代金精算とを、装置間の通信状態に応じて素早く切り替える。このため、装置間に通信トラブルが発生した場合でも、顧客は混乱することがない。
また、第１コードを用いる代金精算と第２コードを用いる代金精算とで、顧客が行う操作は変わらない。このため、装置間に通信トラブルが発生した場合でも、顧客は混乱することがない。
【０００８】
また、本発明は、前記第１コードが、バーコードであり、前記第２コードが、二次元コードである。
これにより、バーコードを読み取る場合と比較して読み取りに時間がかかる二次元コードを用いる代金精算は、装置間に通信トラブルが発生した場合にのみ実行される。このため、ＰＯＳシステムは、全体として代金精算を速やかに実行することができる。
【０００９】
また、本発明は、前記登録装置が、前記第１コードを印字した伝票発行後も該当取引データを記憶し、呼出して前記第２コードを印字した伝票を発行可能にしたことを特徴とするＰＯＳシステムである。
これにより、ＰＯＳシステムは、伝票に第１コードを印刷した後に通信トラブルが発生した場合でも、第２コードが印刷された伝票を発行することができる。
【発明の効果】
【００１０】
本発明によれば、ＰＯＳシステムは、登録装置と精算装置を分離しても、装置間に通信トラブルが発生した場合、これを検出して、取引データを伝票から読み取る方式に自動的に変更するので、装置間に通信トラブルが発生した場合でも、代金精算を実行することができる。しかも、いずれの場合も操作方法を変更する必要がないため混乱を減らせる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態における、ＰＯＳシステムが稼働している様子を表す斜視図である。
【図２】一実施形態における、ＰＯＳシステムの構成を表すブロック図である。
【図３】一実施形態における、商品登録装置の構成を表すブロック図である。
【図４】一実施形態における、１取引分の取引データの例を表す図である。
【図５】一実施形態における、伝票の例を表す図である。
【図６】一実施形態における、精算装置の構成を表すブロック図である。
【図７】一実施形態における、レシートの例を表す図である。
【図８】一実施形態における、商品登録装置の動作手順を表すフローチャートである。
【図９】一実施形態における、精算装置の動作手順を表すフローチャートである。
【図１０】一実施形態における、ストアコントローラの動作手順を表すフローチャートである。
【発明を実施するための形態】
【００１２】
本発明の一実施形態について図面を参照して詳細に説明する。図１には、ＰＯＳシステムが稼働している様子が、斜視図により表されている。ＰＯＳシステム１００は、店舗フロアに設置される。ＰＯＳシステム１００は、商品登録装置１０と、精算装置２０、ストアコントローラ３０とを備える。
【００１３】
商品登録装置１０は、商品登録カウンタ１１に設置される。また、精算装置２０は、精算カウンタ２１に設置される。ここで、図１に表された商品登録装置１０及び精算装置２０の各設置数は、一例である。これらの設置数は、例えば、店舗の規模及びコストに応じて定められてよい。また、ストアコントローラ３０（図１では不図示）は、店舗のバックヤードに設置される。
【００１４】
オペレータＳ（店員）は、商品登録装置１０を操作し、顧客Ｃが買い上げた商品に付された商品データを商品登録装置１０に読み取らせることにより、その商品登録装置１０に伝票を発行させる。
【００１５】
顧客Ｃは、発行された伝票を受け取って、精算装置２０が設置されている場所まで移動し、伝票に印刷されているコードを精算装置２０に読み取らせることにより、その精算装置２０に代金精算を実行させる。
【００１６】
図２には、ＰＯＳシステムの構成がブロック図により表されている。ストアコントローラ３０と各商品登録装置１０ａとは、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）４０を介して通信可能に接続されている。また、ストアコントローラ３０と各精算装置２０ａとは、ＬＡＮ４０を介して通信可能に接続されている。
【００１７】
各商品登録装置１０ａは同構成を有するため、以下では、商品登録装置１０ａを商品登録装置１０と表記する。また、各精算装置２０ａは同構成を有するため、以下では、精算装置２０ａを精算装置２０と表記する。
【００１８】
まず、ストアコントローラについて説明する。
ストアコントローラ３０は、コンピュータ（サーバ）である。ストアコントローラ３０は、ストアコントローラ記憶部（不図示）と、ストアコントローラ通信部（不図示）とを備える。
【００１９】
ストアコントローラ記憶部は、商品データファイルを記憶する。ここで、商品データファイルは、店舗が取り扱う商品に関するデータを含むデータファイルであり、例えば、商品名（商品番号）と、販売価格とが対応付けられているデータファイル（データテーブル）である。
【００２０】
また、ストアコントローラ記憶部は、ログファイルとして取引データと、取引データに対応付けられた取引番号とを多数記憶する。ここで、取引データとは、顧客が買い上げた商品（買上商品）の明細を含むデータである。取引データについては、図４を用いて後述する。
【００２１】
ストアコントローラ通信部は、商品の販売状況及び仕入れ状況等に応じて更新された商品データファイルを、各商品登録装置１０と各精算装置２０とに供給する。ここで、ストアコントローラ通信部は、更新された商品データファイルを、１日に１回の頻度で供給するとしてもよい。
【００２２】
また、ストアコントローラ通信部は、商品登録装置１０から取引データを受信し、受信した取引データをストアコントローラ記憶部のログファイルに記憶させる。また、ストアコントローラ通信部は、精算装置２０から取引番号を受信し、受信した取引番号に対応付けられた取引データをストアコントローラ記憶部から取得して、取得した取引データをその取引番号を送信した精算装置２０に返信する。
【００２３】
次に、商品登録装置について説明する。
商品登録装置１０は、オペレータＳ（図１を参照）により操作され、顧客Ｃ（図１を参照）が買い上げた商品に付された商品データを読み取ることにより、それら商品の明細を含む取引データを、ストアコントローラ３０に登録する。
【００２４】
また、商品登録装置１０は、ストアコントローラ３０の通信状態の良否に応じて、バーコード（例えば、ＪＡＮ（Ｊａｐａｎｅｓｅ  Ａｒｔｉｃｌｅ  Ｎｕｍｂｅｒ）コード）、又は二次元コード（例えば、ＱＲコード（登録商標））のいずれかを紙媒体に印刷し、この紙媒体を排出することで伝票を発行する。顧客Ｃは、発行された伝票を受け取り、伝票に印刷されたバーコード又は二次元コードを精算装置２０に読み取らせることにより、その精算装置２０に代金精算を実行させる。
【００２５】
図３には、商品登録装置の構成がブロック図により表されている。商品登録装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３と、スキャナ部１０４と、店員用表示部１０５と、客用表示部１０６と、ハードディスク１０７と、店員用操作部１０８と、通信部１０９と、ブザー１１０と、印刷部１１１と、バス１１２とを備える。これらは、バス１１２を介して互いに接続されている。
【００２６】
ＲＯＭ１０２は、商品の登録処理をＣＰＵ１０１に実行させるための商品登録プログラムを記憶する。また、ＲＯＭ１０２は、自装置を識別させるための装置番号を記憶する。
【００２７】
スキャナ部１０４は、オペレータＳによる操作により、商品に付された商品データを光学的に読み取って、読み取った商品データをＲＡＭ１０３に記憶させる。また、スキャナ部１０４は、そのオペレータＳを識別するための担当者名（担当者番号）を名札等から光学的に読み取って、読み取った担当者名をＲＡＭ１０３に記憶させる。
【００２８】
ＲＡＭ１０３には、ＲＯＭ１０２から読み出された商品登録プログラムが展開される。また、ＲＡＭ１０３は、商品登録プログラムが実行されることによって生成された各種変数及びデータ（例えば、スキャナ部１０４が読み取った商品データ、担当者名）を一時記憶する。
【００２９】
また、ＲＡＭ１０３は、その処理領域に、取引データ（図４を用いて後述する）を一時記憶する。また、ＲＡＭ１０３は、商品登録によって確定した取引データを、ログファイルに追加記憶する。ＲＡＭ１０３は、この確定した取引データを、例えば、取引当日は記憶し続けるとしてもよい。また、ＲＡＭ１０３は、通信部１０９を介して接続されたストアコントローラ３０から供給された商品データファイルを記憶してもよい。
【００３０】
ＣＰＵ１０１は、ＲＯＭ１０２に記憶された商品登録プログラムを読み出してＲＡＭ１０３に展開し、展開した商品登録プログラムのステップを実行することにより、商品登録装置１０全体を制御する。
【００３１】
ＣＰＵ１０１（書込部）は、印刷部１１１に伝票を印刷させる前に、取引番号を定める。ここで、取引番号は、自装置の装置番号と、顧客Ｃが商品を買い上げる取引ごとに定められる固有の番号（例えば、シリアル番号）とから構成される番号である。例えば、取引番号は、装置番号「０１」と、これに続く固有の番号「１２３」とから構成される番号「０１１２３」である。ＣＰＵ１０１は、顧客が買い上げた商品の明細を含む取引データと取引番号とを対応付け、通信部１０９を介してストアコントローラ３０に送信する。これにより、確定した取引データ及び取引番号は、ストアコントローラ３０に記憶される。
【００３２】
図４には、１取引分の取引データの例が表されている。取引データの項目には、装置番号と、担当者名と、取引日時と、取引データに対応付けられた取引番号と、合計金額と、商品名（商品番号）と、購入数とが含まれる。
【００３３】
ここで、装置番号とは、商品を登録した商品登録装置１０、すなわち取引を実行した商品登録装置１０を示す識別番号である。また、担当者名は、装置番号が示す商品登録装置１０を操作したオペレータＳ（図１を参照）の氏名である。取引日時は、商品が登録された日時、すなわち取引された日時を表す。まず、これらの項目が、１取引分の取引データに最初に書き込まれる。この場合、他の項目は未だ登録されていないため、取引データは確定していない。
【００３４】
取引番号は、装置番号と取引毎に固有の番号とから構成される番号である。また、商品名（商品番号）は、顧客Ｃが買い上げた商品の名称（番号）である。また、購入数は、顧客Ｃが買い上げた商品毎の個数である。ＣＰＵ１０１は、商品名（商品番号）及び購入数と、ＲＡＭ１０３に記憶された商品データファイルとに基づいて、小計金額（販売価格と購入数とを乗算した金額）、及び合計金額を算出する。ＣＰＵ１０１は、全ての買上商品の登録が終了した時に、取引番号と、合計金額とを取引データに書き込むことで、取引データを確定させる。
【００３５】
図３に戻り、商品登録装置についての説明を続ける。ＣＰＵ１０１（通信判定部）は、精算装置が通信により取引データを得られる状態の有無を判定する。ＣＰＵ１０１は、例えば、自装置とストアコントローラ３０との通信状態が良い場合に、共通であるＬＡＮ４０の動作が正常であるとして、精算装置が通信により取引データを得られる状態であると判定する。
【００３６】
また、ＣＰＵ１０１（制御部）は、精算装置が通信により取引データを得られる状態であると判定した場合、取引番号をバーコードに変換して、取引番号を表すバーコードが印刷された伝票を印刷部１１１に発行させる。一方、ＣＰＵ１０１は、精算装置が通信により取引データを得られる状態が否である、すなわち、前記状態が良好でないと判定した場合、ＲＡＭ１０３が記憶している確定した取引データを二次元コードに変換する。ＣＰＵ１０１は、印刷部１１１を制御し、この二次元コードを紙媒体に印刷させることで伝票を発行する。
【００３７】
図５には、伝票の例が表されている。図５（Ａ）には、バーコードが印刷された伝票の例が表されている。この伝票には、取引日時と、取引番号と、個数と、バーコードとが印刷されている。また、図５（Ｂ）には、二次元コードが印刷された伝票の例が表されている。この伝票には、取引日時と、取引番号と、個数と、二次元コードとが印刷されている。顧客Ｃ（図１を参照）は、発行された図５（Ａ）又は（Ｂ）いずれかの伝票を受け取り、その伝票に印刷されたバーコード又は二次元コードを精算装置２０に読み取らせる。なお、図５（Ｂ）に表された１枚の伝票には、取引データのデータ量に応じて、複数の二次元コードが印刷される場合がある。
【００３８】
図３に戻り、商品登録装置についての説明を続ける。オペレータＳによる操作により、伝票に印刷されたバーコードをスキャナ部１０４がスキャンした場合、ＣＰＵ１０１は、そのバーコードが表す取引番号に対応付けられた取引データを二次元コードに変換する。ＣＰＵ１０１は、この二次元コードが印刷された伝票を、確定した取引データに基づいて印刷部１１１から発行する。また、オペレータＳによる操作により、店員用操作部１０８から取引番号がキー入力された場合（発行要求）、ＣＰＵ１０１は、その取引番号に対応付けられた取引データを二次元コードに変換する。ＣＰＵ１０１は、この二次元コードが印刷された伝票を、確定した取引データに基づいて印刷部１１１から発行する。これにより、ＣＰＵ１０１は、伝票にバーコードを印刷した後に通信トラブルが発生した場合でも、二次元コードが印刷された伝票を改めて発行することができる。
【００３９】
また、ＣＰＵ１０１は、スキャナ部１０４が読み取った商品データと、ハードディスク１０７に記憶された商品データファイル（データテーブル）とに基づいて、買上商品の商品名及び小計金額等を、店員用表示部１０５に表示させる。
【００４０】
店員用表示部１０５は、例えば、液晶ディスプレイ装置であり、オペレータＳに対して情報を表示する。ここで、店員用表示部１０５が表示する情報は、例えば、買上商品の商品名、購入数、販売価格、入金額（預かり金額）などである。
【００４１】
客用表示部１０６は、例えば、液晶ディスプレイ装置であり、顧客Ｃに対して情報を提示する。客用表示部１０６は、例えば、店員用表示部１０５が表示している情報と同一の情報を表示する。
【００４２】
ハードディスク１０７は、通信部１０９を介して接続されたストアコントローラ３０から供給された商品データファイルを記憶する。ハードディスク１０７は、例えば、磁気記録装置である。なお、ハードディスク１０７は、商品登録プログラムを記憶してもよい。
【００４３】
店員用操作部１０８は、金額を指定入力するための数字キーと、顧客が買い上げた全ての商品の登録が完了したことを指定入力するための現計キーと、伝票を発行する要求（発行要求）をＣＰＵ１０１に通知するための印刷キーとを備える。
【００４４】
また、店員用操作部１０８は、特定商品の商品データを入力するために予め設定された商品指定キーを備えてもよい。これにより、特定商品については、商品に付された商品データを読み取らせる操作の代わりに、その商品に対応する商品指定キーを押下する操作によって、その特定商品の商品データを取引データに加えて商品登録を行う。
【００４５】
通信部１０９は、ＬＡＮ４０（図２を参照）を介して外部の装置と通信するための通信インタフェースである。通信部１０９は、取引番号及び取引データをストアコントローラ３０に送信する。
【００４６】
ブザー１１０は、確認音及び警告音を発生させるための音発生部である。ブザー１１０は、例えば、スキャナ部１０４がバーコードを正常に読み取った場合、店員用操作部１０８の各キーが押された場合、又は、誤った操作が行われた場合等に、音を発生させる。
【００４７】
印刷部１１１は、ＣＰＵ１０１が生成したバーコード又は二次元コードを紙媒体に印刷して排出する。
【００４８】
次に、精算装置について説明する。
精算装置２０は、伝票に印刷されたバーコード又は二次元コードを読み取り、代金精算を実行する。
【００４９】
図６には、精算装置の構成がブロック図により表されている。精算装置２０は、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、スキャナ部２０４と、表示部２０５と、客用操作部２０６と、通信部２０７と、ブザー２０８と、印刷部２０９と、釣銭機２１０と、バス２１１とを備える。これらは、バス２１１を介して互いに接続されている。
【００５０】
ＲＯＭ２０２は、ＣＰＵ１０１に実行させる会計プログラムを記憶する。また、ＲＯＭ２０２は、自装置を識別させるための装置番号を記憶する。
【００５１】
スキャナ部２０４（伝票読取部）は、顧客Ｃによる操作により、伝票に印刷されたバーコードを光学的に読み取って、読み取ったバーコードが表す取引番号をＣＰＵ２０１に出力する。また、スキャナ部２０４は、顧客Ｃによる操作により、伝票に印刷された二次元コードを光学的に読み取り、読み取った二次元コードが表す取引データをＣＰＵ２０１に出力し、ＣＰＵ２０１はＲＡＭ２０３に一時記憶させる。
【００５２】
ＲＡＭ２０３は、ストアコントローラ３０から通信部２０７を介して供給された商品データファイルを記憶する。また、ＲＡＭ２０３には、ＲＯＭ２０２から読み出された会計プログラムが展開される。また、ＲＡＭ２０３は、会計プログラムが実行されることによって生成された各種変数及びデータ（例えば、釣銭額）を一時記憶する。また、ＲＡＭ２０３は、通信部２０７が受信した取引データを記憶する。また、ＲＡＭ２０３は、スキャナ部２０４が読み取った二次元コードが表す取引データを記憶する。
【００５３】
ＣＰＵ２０１は、ＲＯＭ２０２に記憶された会計プログラムを読み出してＲＡＭ２０３に展開し、展開した会計プログラムのステップを実行することにより、精算装置２０全体を制御する。
【００５４】
ＣＰＵ２０１（読取判定部）は、スキャナ部２０４が読み取ったコードが二次元コードであるか否かを判定する。ここで、二次元コードであるか否かは、例えば、コードの記録方式（形態）が二次元であるか否かに基づいて判定される。
【００５５】
スキャナ部２０４が読み取ったコードが二次元コードでない場合、すなわち、スキャナ部２０４が読み取ったコードがバーコードである場合、ＣＰＵ２０１（制御部）は、このバーコードに基づいて代金精算を実行する。具体的には、ＣＰＵ２０１は、バーコードを取引番号に逆変換し、逆変換により取得した取引番号を通信部２０７に出力する。これにより、逆変換により取得した取引番号は、通信部２０７を介してストアコントローラ３０に送信される。また、ＣＰＵ２０１は、通信部２０７がストアコントローラ３０から受信した取引データを取得する。
【００５６】
一方、スキャナ部２０４が読み取ったコードが二次元コードである場合、ＣＰＵ２０１は、この二次元コードに基づいて代金精算を実行する。具体的には、ＣＰＵ２０１は、二次元コードを取引データに逆変換することにより、二次元コードから取引データを直接取得し、直接取得した取引データに基づいて代金精算を実行する。
【００５７】
ＣＰＵ２０１は、代金精算を進める操作を顧客Ｃに促すための文字列等を含む情報（以下、「会計メニュー」という）を、表示部２０５に表示させる。また、ＣＰＵ２０１は、取得した取引データに基づいて、買上商品の商品名、購入数、販売価格及び合計金額を、表示部２０５に表示させる。また、ＣＰＵ２０１は、釣銭機２１０に投入された現金の金額（以下、「入金額」という）を釣銭機２１０から取得し、入金額を表示部２０５に表示させる。また、ＣＰＵ２０１は、釣銭額を表示部２０５に表示させる。
【００５８】
ＣＰＵ２０１は、入金額が合計金額（図４を参照）以上であれば、代金精算を終了させる。ここで、ＣＰＵ２０１は、入金額が合計金額よりも多い場合、釣銭額と等しい額の現金を釣銭機２１０から排出させる。また、ＣＰＵ２０１は、代金精算が終了したと判断し、レシートを印刷部２０９から排出させることで、レシートを発行する。
【００５９】
表示部２０５は、例えば、液晶ディスプレイ装置であり、顧客Ｃに対して情報を表示する。ここで、表示部２０５が表示する情報は、例えば、買上商品の商品名、購入数、販売価格、入金額、合計金額、釣銭額及び会計メニューなどである。
【００６０】
客用操作部２０６は、タッチパネル式の入力装置である。客用操作部２０６は、表示部２０５に表示されたＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）操作ボタンに対する操作に応じて、操作信号をＣＰＵ２０１に出力する。ここで、ＧＵＩ操作ボタンとして、例えば、ＣＰＵ２０１に代金精算を開始させるための会計キーと、釣銭機２１０に釣銭処理を開始させるための精算キーとが、表示部２０５に表示される。
【００６１】
通信部２０７は、ＬＡＮ４０（図２を参照）を介して外部の装置と通信するための通信インタフェースである。通信部２０７は、ストアコントローラ３０（図２を参照）から供給された商品データファイルを、ＲＡＭ２０３に記憶させる。
【００６２】
また、通信部２０７は、スキャナ部２０４が読み取ったコードが二次元コードでない、すなわち、スキャナ部２０４が読み取ったコードがバーコードであるとＣＰＵ２０１が判定した場合、このバーコードが表す取引番号をストアコントローラ３０（図２を参照）に送信する。また、通信部２０７は、その返信としてストアコントローラ３０から送信された取引データを受信し、受信した取引データをＣＰＵ２０１に出力し、ＣＰＵ２０１はＲＡＭ２０３に一時記憶させる。
【００６３】
ブザー２０８は、確認音及び警告音を発生させるための音発生部である。ブザー２０８は、例えば、スキャナ部２０４がバーコードを正常に読み取った場合、客用操作部２０６の各キーが押された場合、又は、誤った操作が行われた場合等に、音を発生させる。
【００６４】
印刷部２０９は、代金精算が終了したことをＣＰＵ２０１から通知された場合、ＲＡＭ２０３が記憶している取引データに基づいて、レシートを紙媒体に印刷して排出する。
【００６５】
図７には、レシートの例が表されている。レシートには、担当者名と、取引日時と、取引番号と、商品名と、その商品の購入数と、金額と、合計金額と、預り金額と、店舗名とが印刷される。なお、商品毎の商品名や金額は明細データである。
【００６６】
図６に戻り、精算装置についての説明を続ける。釣銭機２１０には、現金の投入口及び排出口が備えられている。釣銭機２１０は、顧客Ｃによって投入口に投入された現金（硬貨及び紙幣の少なくとも一方）を計数して、その入金額をＣＰＵ２０１に通知する。また、釣銭機２１０は、ＣＰＵ２０１から通知された釣銭額に基づいて、その釣銭額と等しい額の現金を排出口から排出する。
【００６７】
次に、ＰＯＳシステムの動作手順を説明する。
図８は、商品登録装置の動作手順を表すフローチャートである。ＣＰＵ１０１（図３を参照）は、二次元コードが印刷された伝票を発行することが要求されている操作がされているか否かを判定する（ステップＳ１）。
【００６８】
伝票を発行することが要求されていない場合（ステップＳ１−ＮＯ）、ＣＰＵ１０１は、商品コードが入力されることで商品登録を実行する。すなわち、ＣＰＵ１０１は、ＲＡＭ１０３の処理領域に記憶している取引データの項目に、その内容を書き込む（ステップＳ２）。
【００６９】
ＣＰＵ１０１は、顧客Ｃが買い上げた全ての商品について商品登録が終了したか否かを判定する。ＣＰＵ１０１は、例えば、現計キーが押下操作された場合、顧客Ｃが買い上げた全ての商品について商品登録が終了したと判定する（ステップＳ３）。商品登録が終了していない場合（ステップＳ３−ＮＯ）、ＣＰＵ１０１は、ステップＳ２に処理を戻す。
【００７０】
一方、全ての商品について商品登録が終了した場合（ステップＳ３−ＹＥＳ）、ＣＰＵ１０１は、確定した取引データ（図４を参照）をＲＡＭ１０３のログファイルに追加記憶させる（ステップＳ４）。そして、ＣＰＵ１０１は、確定した取引データと取引番号とを対応付け、ストアコントローラ３０に通信部１０９を介して送信することで、前記取引データをストアコントローラ３０のログファイルにも書き込み記憶させる（ステップＳ５）。
【００７１】
さらに、ＣＰＵ１０１は、ステップＳ５において送信が正常に行われたかにより通信状態の良否を判定する（ステップＳ６）。ＣＰＵ１０１は、通信状態が良いと判定した場合（ステップＳ６−ＹＥＳ）、取引番号をバーコードに変換して、取引番号を表すバーコードが印刷された伝票を印刷部１１１に発行させる（ステップＳ７）。そして、ＣＰＵ１０１は、ステップＳ１に処理を戻す。
【００７２】
一方、ＣＰＵ１０１は、通信状態が否である、すなわち、通信状態が良好でないと判定した場合（ステップＳ６−ＮＯ）、ＲＡＭ１０３が記憶している確定した取引データを二次元コードに変換して、取引データを表す二次元コードが印刷された伝票を印刷部１１１から発行する（ステップＳ８）。そして、ＣＰＵ１０１は、ステップＳ１に処理を戻す。
【００７３】
また、ステップＳ１において、伝票に印刷されたバーコードをスキャナ部１０４がスキャンした場合、又は、店員用操作部１０８から取引番号がキー入力された場合（ステップＳ１−ＹＥＳ）、ＣＰＵ１０１は、該当する取引データを変換した二次元コードが印刷された伝票を発行する（ステップＳ９）。そして、ＣＰＵ１０１は、ステップＳ１に処理を戻す。
【００７４】
図９は、精算装置の動作手順を表すフローチャートである。ＣＰＵ２０１（図６を参照）は、スキャナ部２０４が読み取ったコードが二次元コードであるか否かを判定する（ステップＳａ１）。ステップＳａ１において、スキャナ部２０４が読み取ったコードが二次元コードである場合（ステップＳａ１−ＹＥＳ）、ＣＰＵ２０１は、ステップＳａ４に処理を移行させる。一方、スキャナ部２０４が読み取ったコードが二次元コードでない場合（ステップＳａ１−ＮＯ）、ＣＰＵ２０１は、スキャナ部２０４が読み取ったバーコードを取引番号に逆変換し、逆変換により取得した取引番号を、ストアコントローラ３０に通信部２０７を介して送信する（ステップＳａ２）。
【００７５】
また、ＣＰＵ２０１は、所定時間内に通信部２０７がストアコントローラ３０から取引データを受信したか否かを判定する（ステップＳａ３）。所定時間内に取引データを受信した場合、ＣＰＵ２０１は、表示部２０５に合計金額を表示させる（ステップＳａ４）。
【００７６】
また、ＣＰＵ２０１は、代金処理を実行する。ここで、ＣＰＵ２０１は、会計メニューを表示部２０５に表示させる。また、ＣＰＵ２０１は、取得した取引データに基づいて、買上商品の商品名、購入数、販売価格及び合計金額を、表示部２０５に表示させる。また、ＣＰＵ２０１は、入金額を釣銭機２１０から取得し、入金額を表示部２０５に表示させる。また、ＣＰＵ２０１は、釣銭額を表示部２０５に表示させる。ＣＰＵ２０１は、入金額が合計金額（図４を参照）以上であれば、代金精算を終了させる。ＣＰＵ２０１は、入金額が合計金額よりも多い場合、釣銭額と等しい額の現金を釣銭機２１０から排出させる（ステップＳａ５）。
【００７７】
また、ＣＰＵ２０１は、代金精算が終了した時に、レシートが印刷された紙媒体を印刷部２０９から排出させることで、レシートを発行する（ステップＳａ６）。そして、ステップＳ１に戻る。
【００７８】
ステップＳａ３において、所定時間内に取引データを受信しなかった場合（ステップＳａ３−ＮＯ）、ＣＰＵ１０１は、メッセージ（例えば、「バーコードが印刷されたこの伝票からは、通信によって取引データが得られませんでした。この伝票に印刷されたバーコードを、先程と同じ登録装置にスキャンさせることで、ＱＲコード（登録商標）が印刷された伝票を発行させて下さい。」）を、表示部２０５に表示させる（ステップＳａ７）。そして、ステップＳａ１に戻る。
【００７９】
図１０は、ストアコントローラの動作手順を表すフローチャートである。ストアコントローラ３０のストアコントローラ通信部（不図示）は、取引データを受信したか否かを判定する（ステップＳｂ１）。取引データを受信した場合（ステップＳｂ１−ＹＥＳ）、ストアコントローラ通信部は、受信した取引データをストアコントローラ３０のストアコントローラ記憶部（不図示）のログファイルに記憶させる（ステップＳｂ２）。そして、ストアコントローラ通信部は、ステップＳｂ１に処理を戻す。
【００８０】
ステップＳｂ１において、取引データを受信していない場合（ステップＳｂ１−ＮＯ）、ストアコントローラ通信部は、取引番号を受信したか否かを判定する（ステップＳｂ３）。取引番号を受信した場合（ステップＳｂ１−ＹＥＳ）、ストアコントローラ通信部は、受信した取引番号に対応付けられた取引データを、ストアコントローラ記憶部が記憶するログファイルの中から検索する（ステップＳｂ４）。この検索結果に基づいて、ストアコントローラ通信部は、受信した取引番号に対応付けられた取引データを、その取引番号を送信した精算装置２０に返信する（ステップＳｂ５）。そして、ストアコントローラ通信部は、ステップＳｂ１に処理を戻す。
【００８１】
ステップＳｂ３において、取引番号を受信していない場合（ステップＳｂ１−ＮＯ）、ストアコントローラ通信部は、他の処理（例えば、商品データファイルの管理、及びメンテナンス）を実行する。そして、ストアコントローラ通信部は、ステップＳｂ１に処理を戻す（ステップＳｂ６）。
【００８２】
以上のように、顧客が買い上げた商品に付された商品データを読み取ることにより商品登録を行い、商品の明細を含む取引データを確定する商品登録装置と、確定された取引データに基づいて、明細が印刷されたレシートの発行を伴う代金精算を実行する精算装置と、を有するＰＯＳシステムにおいて、ＰＯＳシステム１００は、取引データに対応付けられた取引番号と該取引データとを記憶するストアコントローラ記憶部と、前記取引番号を受信し、受信した取引番号に対応付けられた取引データをストアコントローラ記憶部から取得して、取得した取引データを返信するストアコントローラ通信部と、を備え、商品登録装置１０は、取引データと取引番号とを対応付けて商品登録装置１０記憶部に記憶させるＣＰＵ１０１と、ストアコントローラ通信部の状態の良否を判定するＣＰＵ１０１と、前記状態が良であるとＣＰＵ１０１が判定した場合、取引番号をバーコードに変換して、該バーコードが印刷された伝票を発行し、通信状態が否であるとＣＰＵ１０１が判定した場合、取引データを二次元コードに変換して、該二次元コードが印刷された伝票を発行するＣＰＵ１０１と、を備え、精算装置２０は、伝票に印刷されたバーコード及び二次元コードを読み取ることが可能であるスキャナ部２０４と、スキャナ部２０４が読み取ったコードが二次元コードであるか否かを判定するＣＰＵ２０１と、二次元コードでないとＣＰＵ１０１が判定した場合、バーコードが表す取引番号をストアコントローラ通信部に送信し、送信した取引番号に対応付けられた取引データをストアコントローラ通信部から受信する通信部２０７と、二次元コードであるとＣＰＵ２０１が判定した場合、該二次元コードに基づいて代金精算を実行し、バーコードを読み取ったとＣＰＵ２０１が判定した場合、通信部２０７が受信した取引データに基づいて代金精算を実行するＣＰＵ２０１と、を備える。
【００８３】
これにより、ＰＯＳシステムは、装置間に通信トラブルが発生した場合、取引データを表す二次元コードを伝票から読み取るので、装置間に通信トラブルが発生した場合でも、代金精算を実行することができる。
また、装置間に通信トラブルが発生した場合、ＰＯＳシステムは、バーコードを用いる代金精算と二次元コードを用いる代金精算とを、装置間の通信状態に応じて素早く切り替える。このため、装置間に通信トラブルが発生した場合でも、顧客は混乱することがない。
また、バーコードを用いる代金精算と二次元コードを用いる代金精算とで、顧客が行う操作は変わらない。このため、装置間に通信トラブルが発生した場合でも、顧客は混乱することがない。
【００８４】
また、装置間に通信トラブルが発生していない場合に伝票に印刷されるコードはバーコードであり、一方、装置間に通信トラブルが発生した場合に伝票に印刷されるコードは二次元コードである。
これにより、バーコードを読み取る場合と比較して読み取りに時間がかかる二次元コードを用いる代金精算は、装置間に通信トラブルが発生した場合にのみ実行される。このため、ＰＯＳシステムは、全体として代金精算を速やかに実行することができる。
【００８５】
また、ＰＯＳシステム１００は、商品登録装置１０が、バーコードを印字した伝票発行後も該当取引データを記憶し、呼出して二次元コードを印字した伝票を発行可能にする。
これにより、ＰＯＳシステムは、伝票に第１コードを印刷した後に通信トラブルが発生した取引でも、第２コードが印刷された伝票を発行することができる。
【００８６】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【００８７】
例えば、ログファイルの取引データ毎に、精算装置に送信したフラグと精算装置で会計が終了したフラグを設け、精算装置が処理した都度、ストアコントローラ及び商品登録装置に送信して処理の経過がわかるようにしてもよい。
【００８８】
また、例えば、取引番号を表すコードは、バーコードに限らなくてもよい。取引番号を表すコードは、最大データ量が小さく制限された、すなわち小容量である、高速読み取りが可能であるコード体系（規格）であって、光学式読取装置（ＯＣＲ：Ｏｐｔｉｃａｌ Ｃｈａｒａｃｔｅｒ Ｒｅａｄｅｒ）等によって機械読み取りが可能であるコードであれば、バーコードに限られない。
また、取引データを表すコードは、二次元コードに限らなくてもよい。取引データを表すコードは、最大データ量が小さく制限されていない、すなわち大容量であるコード体系であって、光学式読取装置等によって機械読み取りが可能であるコードであれば、二次元コードに限られない。
また、取引番号を表すコードと、取引データを表すコードとを識別するための相違点は、コードの記録方式（形態）が二次元であるか否かという点に限らなくてよい。例えば、取引番号を表すコードと、取引データを表すコードとは、体系（規格）によって最大データ量が小さく制限されているコードであるか否かというコード体系の相違に応じて識別されてもよい。
【００８９】
また、例えば、取引データを記憶する手段と送信する手段をストアコントローラ３０に設けることに限らず、これらの手段を商品登録装置に設け、精算装置は伝票の取引番号に応じて該当する商品登録装置に要求を出して受信するようにしてもよい。
また、例えば、精算装置は、顧客により操作されるのではなく（セルフ式でなく）、店員によって操作されてもよい。
【００９０】
また、例えば、精算装置は、クレジットカード端末、及び電子マネー端末等を備えてもよい。
これにより、精算装置は、現金以外によっても、代金精算を実行することができる。
【００９１】
なお、以上に説明したＰＯＳシステムを実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録し、そのプログラムをコンピュータシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００９２】
１０，１０ａ…商品登録装置、１１…商品登録カウンタ、２０，２０ａ…精算装置、２１…精算カウンタ、３０…ストアコントローラ、４０…ＬＡＮ、１００…ＰＯＳシステム、１０１，２０１…ＣＰＵ、１０２，２０２…ＲＯＭ、１０３，２０３…ＲＡＭ、１０４…スキャナ部、１０５…店員用表示部、１０６…客用表示部、１０７…ハードディスク、１０８…店員用操作部、１０９，２０７…通信部、１１０，２０８…ブザー、１１１…印刷部、１１２，２１１…バス、２０４…スキャナ部、２０５…表示部、２０６…客用操作部、２０９…印刷部、２１０…釣銭機
【図１】
0005601159.tif 000002
【図２】
0005601159.tif 000003
【図３】
0005601159.tif 000004
【図４】
0005601159.tif 000005
【図５】
0005601159.tif 000006
【図６】
0005601159.tif 000007
【図７】
0005601159.tif 000008
【図８】
0005601159.tif 000009
【図９】
0005601159.tif 000010
【図１０】
0005601159.tif 000011