図1は、本発明の実施形態におけるPOS(Point Of Sales)システムの構成例を示している。この図に示すPOSシステムは、ストアコントローラ1と、複数のPOSレジスタ2を備える。また、ストアコントローラ1とPOSレジスタ2は、LAN(Local Area Network)3により接続されている。なお、ストアコントローラ1とPOSレジスタ2を接続する通信網についてはLAN以外が採用されてもかまわない。
ストアコントローラ1は、例えばPOSシステムを管理するサーバとして機能する。このために、ストアコントローラ1はPOSシステムを管理するために必要な各種情報が記憶される記憶部10を備える。このような情報の1つとして、記憶部10には、POSレジスタ2ごとから送信された顧客との取り引きごとの明細を示す買上情報の内容を反映した買上実績ファイルが記憶する。また、記憶部10には、これまでにPOSシステム発行した買い物券の発行履歴を示す買い物件発行履歴ファイルが記憶される。なお、記憶部10に対応するハードウェアとしては、例えばHDD(Hard Disc Drive)、フラッシュメモリ、ROM(Read Only Memory)などを想定することができる。
また、本実施形態における買い物券とは、特典媒体の1つであり、買上金額における一定金額を補填することのできる金券である。また、この買い物券は、所定の用紙に対して補填金額をはじめとする所定の内容が印字された形態を有している。
POSレジスタ2は、顧客が購入する商品の登録および精算を行うための装置である。POSレジスタ2は、上記商品の登録と精算が行われるごとに、その取り引きの内容が反映された上記買上情報をストアコントローラ1に送信する。
また、POSレジスタ2は、上記取り引きの内容が印字された買上明細レシートを発行する。また、POSレジスタ2は、上記買い物券を利用して登録商品の精算を行うにあたり、買い物券に印字されたバーコードの読み取りを行った場合には、認証レシートを発行しない。POSレジスタ2は、買い物券の金額または買い物券の識別コードを店員の操作により入力して精算を行った場合にのみ認証レシートを発行する。
なお、認証レシートとは、買い物券を利用した精算の内容が印字されたレシートであり、店舗の控えとして保管される。そして、店員は、例えば閉店後において、保管していた認証レシートに印字された明細の内容を参照して、ここに印字されている補填金額を入力することにより買上実績ファイルの在高に計上する。
図2は、POSレジスタ2の構成例を示している。この図に示すPOSレジスタ2は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、液晶タッチパネル204、客側表示部205、バーコードリーダー206、印字部207、キー操作部208および通信部209を備える。
CPU201(制御部)は、ROM202およびRAM203とともにコンピュータを形成している。CPU201は、ROM202に記憶されているプログラムを実行することによりPOSレジスタ2としての各種動作を実現する。
ROM202は、上記のようにCPU201が実行するプログラムのほか、CPU201が利用する各種のデータを記憶する。RAM203は、CPU201の作業領域として利用される。
液晶タッチパネル204は、POSレジスタ2の正面に設けられる。液晶タッチパネル204は、CPU201の制御に応じて所定の操作画像を表示する。また、液晶タッチパネル204は、タッチ操作が行われるのに応じて、そのタッチされた位置情報を出力する。CPU201は、この位置情報を操作情報として処理する。これにより、液晶タッチパネル204に対するタッチ操作に応答した動作が実現される。
客側表示部205は、CPU201の制御に応じて、買上金額、釣り銭の金額などの顧客に対して提示すべき情報を表示する。
バーコードリーダー206(読取手段)は、店員の操作に応じて各種バーコードを読み取る。例えば、バーコードリーダー206により商品に貼り付けられた商品ラベルに印字されたバーコードを読み取らせることで、買上商品の商品名、価格などの登録が行われる。また、バーコードリーダー206により買い物券に印字されたバーコードを読み取ることにより、買い物券の識別子や補填金額などの情報を取得することができる。また、バーコードリーダー206により、店員(オペレータ)ごとに割り与えられたオペレータ識別子を読み込ませることにより、POSレジスタ2を操作する店員を登録することができる。
印字部207は、予め装填された用紙に対して買上明細レシートに対応する所定の内容を印字し、この印字した用紙を買上明細レシートとして発行する。また、認証レシートを発行する必要のある場合には、上記用紙に対して認証レシートに対応する所定の内容を印字し、この印字した用紙を認証レシートとして発行する。
なお、印字部207は、上記用紙がロール状に巻かれたロール用紙が装填されるものとする。これに応じて、印字部207は、上記買上明細レシートまたは認証レシートを発行するにあたり、ロール用紙から切断して切り離すためのカッター機構を備える。
キー操作部208(入力手段)は、POSレジスタ2において備えられる各種のキーやボタンを一括して示している。通信部209は、LAN3を経由した通信をCPU201の制御に応じて実行する。
次に、買い物券を利用した精算について説明する。図3は、本実施形態における買い物券400の一例を示している。買い物券400は、長方形の用紙に対して、例えば図示する内容が印字(印刷)されたものとなる。具体的には、補填金額領域401において、この買い物券400により買上金額に補填できる補填金額が印字される。この図の例では、「500円」と印字されており、この買い物券400により500円を補填できることが示される。また、バーコード領域402において、この買い物券400に対応する所定の情報が示されるバーコードが印字される。
バーコード領域402においては、バーコードとともに、このバーコードの値を示す数字列も印字されている。この図における数字列は、券種識別子421、連番422、補填金額423および発行月日424を含むものとされている。
券種識別子421は券の種別を示す識別子としての数値であり、ここでは、「1」により買い物券400であることを示すものとしている。
連番422は、発行された買い物券400ごとに個別に与えられる番号である。この連番422は、例えば発行順にしたがった昇順により買い物券400ごとに付される。この図の例では、連番422は「001」とされていることで、1番目に発行されたものであることが示されている。
本実施形態においては、券種識別子421と、これに続く連番422により買い物券400を一意に識別する買い物券識別情報を形成するものとする。図3の例であれば、買い物券識別情報は「1001」となる。なお、例えば買い物券400を利用した精算時の操作手順などによっては、連番422のみを買い物券識別情報として扱うようにすることも可能である。
また、補填金額423は、補填金額の数値を示すものであり、ここでは補填金額423において「0500」と印刷されていることにより、補填金額領域401と同様に500円であることを示している。発行月日424は、当該買い物券400が発行された月日を示すもので、ここでは「1004」とされていることで10月4日に発行されたことを示している。
買い物券400を利用して買い物をしようとする場合、顧客は、買上商品の精算時においてPOSレジスタ2を操作する店員(オペレータ)に買い物券400を手渡す。店員は、この顧客が運んできた買上商品をPOSレジスタ2に登録する操作を行ったうえで、精算に際して、顧客から受け取った買い物券400のバーコード領域402に印字されたバーコードをバーコードリーダー206に読み取らせる。
買い物券400のバーコードを読み取ることにより、POSレジスタ2は、その買い物券400に対応する買い物券情報(特典情報)を取得する。つまり、買い物券識別子(券種識別子421、連番422)、補填金額423および発行月日424の各情報を取得する。
そして、店員は、買上金額から買い物券400の補填金額を差し引いた金額を顧客に請求し、顧客は請求された金額を支払う。このように支払いが行われるのに応じて、店員は、精算完了に対応する操作を行う。この精算完了に対応する操作に応じて、POSレジスタ2は、印字部207により今回の取り引きの内容が記載された買上明細レシートのみを発行させる。つまり、POSレジスタ2は、認証レシートについては発行しない。
また、POSレジスタ2は、今回の取り引きの内容が反映された買上情報をストアコントローラ1に対して送信し、記憶部10への記憶を指示する。ストアコントローラ1は、この指示に応じて、受信した買上情報を買上実績ファイルに追加登録するように記憶部10に記憶させる。
なお、上記のように、買い物券400のバーコードを読み取って精算を行った場合の買上情報は以下の情報を含む。つまり、買上情報は、今回の取り引き(精算)に対応して発行された買上明細レシートのレシート番号、今回の精算により計上された買上金額、顧客が支払った現金の金額、買い物券の補填金額、買い物券識別情報、買い物券400からバーコードを読み取ったことを示すバーコード読取履歴およびオペレータ識別子を含む。このようにオペレータ識別子を買上情報に含めることで、POSレジスタ2は、ストアコントローラ1の記憶部10に記憶される買上実績ファイルに対して、買上情報の内容をオペレータ識別子を含めて記憶させることができる。
買い物券400のバーコードから読み取った補填金額や買い物券識別情報などの情報は、バーコードリーダー206により読み込まれたものであり、人的な入力操作によるものではないので、正しいものであると扱ってよい。そこで、本実施形態においては、上記のように買い物券400のバーコードを読み取って精算を行った場合には、買上情報に対して買い物券400のバーコードから読み取った情報を含めることとしている。そして、ストアコントローラ1は、この買上情報を利用して、買い物券の利用に応じた取り引きを正しく買上実績ファイルに記憶させることができる。
上記のように買い物券の利用に応じた取り引きが正しく買上実績ファイルに反映されるのであれば、この取り引きに関しては、例えば閉店後において店員が認証レシートを見ながら補填金額を計上する操作を行う必要がないということになる。そこで、本実施形態においては、買い物券400のバーコードを読み取って精算を行った場合には、買上明細レシートのみを発行し、認証レシートについては発行しないこととしている。
このように、本実施形態においては、バーコードリーダー206により買い物券400のバーコードを読み取らせることにより、その取り引きについては、閉店後において補填金額を計上するための操作を行う必要が無くなる。これにより店員の作業負担が軽減される。また、認証レシートを発行せずに済むことで、買上明細レシートの発行に使用するロール用紙を節約することが可能になる。
ただし、買い物券400は、前述のように用紙に印刷されたものである。このため、買い物券400の用紙が破損したり汚れたりしている場合には、バーコード領域402におけるバーコードをバーコードリーダー206が正常に読み取れない場合がある。このような場合には、店員が買い物券400を見て、補填金額領域401における補填金額を入力する操作を行うようにする。または、店員は、買い物券400における買い物券識別情報(券種識別子421と連番422)の数字を見て、これを入力する操作を行うようにする。
店員は、補填金額を入力するにあたり、液晶タッチパネル204において表示されている「買い物券キー」に対するタッチ操作を行う。これに応じて、液晶タッチパネル204には、図4(a)に示すように、金額入力画面241が表示される。そこで、店員は、キー操作部208における数字キー操作によって、金額入力画面241における入力ボックス241aに対して補填金額を入力する。
また、店員は、買い物券識別情報を入力するにあたっては、液晶タッチパネル204において表示されている「買い物券識別情報入力キー」に対するタッチ操作を行う。これに応じて、液晶タッチパネル204には、図4(b)に示すように、買い物券識別情報入力画面242が表示される。店員は、キー操作部208における数字キー操作によって、買い物券識別情報入力画面242における入力ボックス242aに対して買い物券識別情報としての数値(図3との対応では「1001」)を入力する。なお、上記図4(a)と(b)に示した金額入力画面241と買い物券識別情報入力画面242の表示態様については他にも多様に考えることができる。
上記のように補填金額または買い物券識別情報の入力操作を行った後、店員は、買上金額から買い物券400の補填金額を差し引いた金額を顧客に請求し、顧客は請求された金額を支払う。このように支払いが行われるのに応じて、店員は、精算完了に対応する操作を行う。
この精算完了に対応する操作に応じて、POSレジスタ2の印字部207は、今回の取り引きの内容が記載された買上明細レシートを発行する。また、印字部207は、この買上明細レシートに続けて、今回の取り引きに対応する認証レシートも発行する。
上記のように認証レシートを発行するのは以下の理由による。つまり、この場合のPOSレジスタ2における補填金額または買い物券識別情報の取得は、バーコードリーダー206によるバーコードの読み取りではなく、店員による入力操作によるものである。この場合には、誤った値が入力されているという人的ミスが生じている可能性が避けられない。つまり、POSレジスタ2が取得した補填金額または買い物券識別情報について正しいという保証がない。そこで、この場合には、上記のように認証レシートを発行することとしている。これとともに、POSレジスタ2は、精算完了に対応する操作に応じて、補填金額を含めない買上情報を生成してストアコントローラ1に送信する。ストアコントローラ1は、この買上情報の受信に応じて買上実績ファイルに取り引き内容を追加するにあたり、補填金額については記憶させないようにする。つまり、取り引き内容に計上しないようにする。
なお、補填金額の入力操作が行われた場合、POSレジスタ2は、以下の情報を含む買上情報を生成する。つまり、POSレジスタ2は、レシート番号、買上金額、顧客が支払った現金の金額、補填金額の入力操作が行われたことを示すキー入力履歴およびオペレータ識別子を含む買上情報を生成する。
また、買い物券識別情報の入力操作が行われた場合、POSレジスタ2は、以下の情報を含む買上情報を生成する。つまり、POSレジスタ2は、レシート番号、買上金額、顧客が支払った現金の金額、入力された買い物券識別情報、買い物券識別情報の入力操作が行われたことを示すキー入力履歴およびオペレータ識別子を含む買上情報を生成する。
店員は、上記のように発行された認証レシートを保管しておくようにする。そして、閉店後において、店員は、認証レシートにより確認をとりながら、この取り引きにおける補填金額を買上実績ファイル20に計上するための操作を行うようにする。これにより、精算時における補填金額または買い物券識別情報の入力操作に誤りがあったとしても、認証レシートとの照合によってその誤りを訂正して正しい補填金額を買上実績ファイル20に計上することが可能になる。
図5は、ストアコントローラ1の記憶部10に記憶されている買上実績ファイル20の内容例を示している。この図に示す買上実績ファイル20は、レシート番号領域21ごとに、買上金額領域22、入金内訳領域23、在高領域24、買い物券識別情報領域25、バーコード読取履歴領域26、キー入力履歴領域27およびオペレータ識別子領域28を対応付けた構造となっている。
レシート番号領域21は、対応の取り引きに応じてPOSレジスタ2により発行された買上明細レシートに付されたレシート番号を格納する。このレシート番号は、発行された買上明細レシートごとに一意となるように設定される。
買上金額領域22は、POSレジスタ2から送信された買上情報に含まれる買上金額を格納する。入金内訳領域23は、買上金額領域22に格納される買上金額の内訳を示すもので、現金領域23aと補填金額領域23bから成る。現金領域23aは、買上金額のうち顧客が現金で支払った金額を格納する。補填金額領域23bは、買上金額のうち買い物券400により補填された金額を格納する。在高領域24は、現金領域23aと補填金額領域23bによる合計金額を格納する。
買い物券識別情報領域25は、買上情報に買い物券識別情報が含まれていた場合に、この買い物券識別情報を格納する。つまり、対応の取り引きにおいて買い物券400のバーコードをバーコードリーダー206により読み取られている場合には、当該バーコードから読み取られた買い物券識別情が買い物券識別情報領域25に格納される。また、対応の取り引きにおいて買い物券識別情報の入力操作が行われた場合にも、この入力された買い物券識別情が買い物券識別情報領域25に格納される。
バーコード読取履歴領域26は、対応の取り引きにおいて買い物券400のバーコードをバーコードリーダー206により読み取ったか否かを示す値を格納する。ここでは、買い物券400のバーコードをバーコードリーダー206により読み取ったことを「1」により示し、買い物券400のバーコードは読み取っていないことを「0」により示すこととしている。このバーコード読取履歴領域26に格納する値には、POSレジスタ2から送信された買上情報にバーコード読み取り履歴の情報が含まれているか否かが反映される。
キー入力履歴領域27は、対応の取り引きにおいて店員による補填金額または買い物券識別情報の入力操作が行われたか否かを示す値を格納する。ここでは、補填金額または買い物券識別情報の入力操作が行われたことを「1」により示し、補填金額または買い物券識別情報の入力操作が行われていないことを「0」により示すこととしている。このキー入力履歴領域27に格納する値には、POSレジスタ2から送信された買上情報において、補填金額または買い物券識別情報の入力操作を行ったことを示すキー入力履歴の情報が含まれているか否かが反映される。
オペレータ識別子領域28は、POSレジスタ2から送信された買上情報に含まれていたオペレータ識別子が格納される。つまり、オペレータ識別子領域28に格納されるオペレータ識別子は、対応の取り引きに際してPOSレジスタ2を操作していた店員を示す。
図5において、レシート番号領域21にレシート番号「0001」が格納された取り引きは、買い物券400のバーコードをバーコードリーダー206により読み取って精算が行われている。これに応じて、バーコード読取履歴領域26には「1」が格納され、キー入力履歴領域27には「0」が格納される。また、このレシート番号「0001」の取り引きは、買上金額領域22における買上金額が1000円とされている。この買上金額に対する入金の内訳として、現金領域23aには顧客が現金で支払った500円の金額を示す値が格納される。これとともに、買い物券400のバーコードが読み取られているのに応じて、補填金額領域23bにも500円の補填金額を示す値が格納される。そして、在高領域24には、現金領域23aと補填金額領域23bに格納された金額の合計である1000円を示す値が格納される。
次に、レシート番号領域21にレシート番号「0002」が格納された取り引きは、買い物券400を利用しない取り引きとされる。これに応じて、バーコード読取履歴領域26とキー入力履歴領域27にはいずれも「0」が格納される。このレシート番号「0002」の取り引きは、買上金額領域22における買上金額が2000円とされている。この買上金額に対する入金の内訳として、現金領域23aには顧客が現金で支払った2000円の金額を示す「2000」の値が格納される。また、この場合、買い物券400は利用していないため、補填金額領域23bには買い物券400による補填金額が0円であることを示す「0」の値が格納されている。そして、在高領域24には、現金領域23aに格納された金額がそのまま反映された2000円を示す値が格納される。
次に、レシート番号領域21にレシート番号「0003」が格納された取り引きは、買い物券400が利用されたうえで、補填金額の入力操作を伴って精算されたものであるとする。これに応じて、バーコード読取履歴領域26には「0」が格納されるのに対し、キー入力履歴領域27には「1」が格納される。このレシート番号「0003」の取り引きは、買上金額領域22における買上金額が1000円とされている。この買上金額に対する入金の内訳として、現金領域23aには顧客が現金で支払った500円の金額を示す「500」の値が格納される。また、この場合は操作により補填金額が入力されているため、補填金額領域23bには有効な値は格納されずに、無効であることを示す無効値が格納される。このように無効値が格納されるのに応じて、在高領域24には、現金領域23aの金額のみが反映され、500円を示す値が格納される。
次に、レシート番号領域21にレシート番号「0004」が格納された取り引きは、買い物券400が利用されたうえで、買い物券識別情報の入力操作を伴って精算されたものであるとする。これに応じて、バーコード読取履歴領域26には「0」が格納されるのに対し、キー入力履歴領域27には「1」が格納される。このレシート番号「0004」の取り引きは、買上金額領域22における買上金額が1000円とされている。この買上金額に対する入金の内訳として、現金領域23aには顧客が現金で支払った500円を示す値が格納される。また、この場合は操作により買い物券識別情報が入力されているため、補填金額領域23bには、無効であることを示す無効値が格納される。このように無効値が格納されるのに応じて、在高領域24には、現金領域23aの金額のみが反映され、500円を示す値が格納される。
上記の買上実績ファイルの内容のままでは、レシート番号「0003」と「0004」に対応する補填金額が無効とされているために、買上金額領域22に格納される買上金額の合計と、在高領域24に格納される在高の合計が一致していない。しかし、前述のように、例えば閉店後において、店員は、レシート番号「0003」と「0004」の各取り引きにおいて発行された認証レシートを確認して、それぞれ、補填金額領域23bに500円の補填金額を計上する。これにより、買上金額領域22に格納される買上金額の合計と、在高領域24に格納される在高の合計は一致することとなる。
なお、レシート番号「0004」の場合のように、買い物券識別情報の入力操作が行われた取り引きの場合、POSレジスタ2は、精算に際して、入力された買い物券識別情報の買い物券400に設定された補填金額を以下のように取得する。つまり、POSレジスタ2は、入力された買い物券識別情報をストアコントローラ1に送信する。ストアコントローラ1は、送信された買い物券識別情報に対応する補填金額を、記憶部10に記憶される買い物券発行履歴ファイルから検索し、POSレジスタ2に送信する。これにより、POSレジスタ2は、入力された買い物券識別情報の買い物券400に設定された補填金額を取得できる。
図6は、買い物券発行履歴ファイル30の構造例を示している。この図に示す買い物券発行履歴ファイル30は、買い物券識別情報領域31に対して金額領域32と発行月日領域33を対応付けた構造とされている。
買い物券識別情報領域31には、発行済みの買い物券400ごとに付された買い物券識別情報が格納される。金額領域32には、対応の買い物券400に設定された補填金額の値が格納される。発行月日領域33には対応の買い物券400が発行された月と日にちが格納される。
また、POSレジスタ2は、前述のように、買い物券400を利用した商品の購入に対する精算に際して、店員の操作による補填金額または買い物券識別情報の入力が行われた場合には、買上明細レシートとともに認証レシートを発行する。この買上明細レシートとともに認証レシートを発行する際の印字部207の動作について、図7を参照して説明する。
図7には、ロール用紙500に対して印字部207により印字された買上明細レシートと認証レシートの態様例を示している。このロール用紙500は、印字部207において収納されており、印字の進行に応じて矢印Aにより示す方向により、印字部207における用紙排出部(図示せず)から引き出されていく。
店員の操作による補填金額または買い物券識別情報の入力を伴った精算が完了するのに応じて、印字部207は、図7に示す買上明細レシート501Aを印字しながら用紙排出部からロール用紙500を排出させていく。
買上明細レシート501Aは、上から下にかけて、ヘッダ領域511、広告領域512、明細領域513およびバーコード領域514が配置されている。ヘッダ領域511は、このレシートが買上明細レシートであることを示すタイトルや店名などが印字される領域である。広告領域512は、広告が印字される領域である。明細領域513は、該当の取り引きの明細を示す内容が印字される領域である。バーコード領域514は、上記明細領域513の内容を示すバーコードが印字される領域である。
印字部207は、前回の買上明細レシートまたは認証レシートの発行に際してカッター機構(図示せず)によりロール用紙500を切断するのに応じた所定タイミングで、事前に買上明細レシート501Aのヘッダ領域511を印字している。
そして、買上明細レシート501Aに対応する精算が完了するのに応じて、ヘッダ領域511の下に位置する広告領域512から印字を開始し、以降、広告領域512、明細領域513、バーコード領域514の順で印字を行いながらロール用紙500を排出させていく。
上記バーコード領域514の印字が終了すると、印字部207は、買上明細レシート501Aを切断位置503Aにて切断する。これにより、買上明細レシート501Aが発行されたことになる。また、印字部207は、この切断に応じた所定のタイミングで、ロール用紙500に対して認証レシート502Aのヘッダ領域521を印字する。ヘッダ領域521は、当該レシートが認証レシートであることを示すタイトルが印字される領域である。
ここで、上記のように買上明細レシート501Aの切断に応じたタイミングで認証レシート502Aのヘッダ領域521を印字するのは次のような理由による。図示による説明は省略するが、印字部207においてロール用紙500に印字を行うサーマルヘッドと、ロール用紙500を切断するカッター機構は、物理的に一定の距離を隔てて配置せざるを得ない。このために、仮に、ロール用紙500を切断してロール用紙500の送りを停止し、この後に印字を開始したとすると、ロール用紙500は、その最上部において上記サーマルヘッドとカッター機構の距離に応じた余白が生じ、この余白に続けて印字された状態で排出されてくる。このように余白が生じているということは、ロール用紙500が無駄に使用されていることに相当する。
そこで、本実施形態においては、上記したように、ロール用紙500の切断に応じたタイミングで、認証レシート502Aのヘッダ領域521を印字することとしている。これにより、図7においても示されるように、認証レシート502Aの最上部において余白が生じることなくヘッダ領域521を印字することができる。
そして、印字部207は、ロール用紙500の切断およびヘッダ領域521の印字をしかるべきタイミングで行った後、引き続いて明細領域522を印字しながらさらにロール用紙500を排出させていく。明細領域522は、例えば買上明細レシート501Aにおける明細領域513と同じ内容が印字される領域である。
そして、印字部207は、明細領域522を印字し終えると、切断位置503Bにてロール用紙500を切断する。これにより、認証レシート502Aが発行されたこととなる。また、この切断位置503Bにてロール用紙500の切断に際しても、印字部207は、この切断位置503Bにおけるロール用紙500の切断に応じたタイミングで、次の買上明細レシート501Bのヘッダ領域511の印字を予め行っておくようにする。そして、ロール用紙500の送りを停止させる。これにより、次の精算の完了に応じて買上明細レシート501Bが発行される際にも、ロール用紙500の最上部において余白が生じることなく、ヘッダ領域511が印字された状態とすることができる。
図8および図9のフローチャートは、POSレジスタ2が実行する処理手順例を示している。この図に示す処理は、CPU201がROM202に記憶されるプログラムを実行することにより実現されるものとしてみることができる。
図8において、CPU201は、店員がバーコードリーダー206により商品ラベルのバーコードを読み取らせるなどの店員による所定の登録操作に応じて商品登録を実行する(ステップS101)。つまり、商品ごとの商品名、単価、個数などを登録する。次に、CPU201は、店員が商品登録を終えて小計ボタン操作などの小計のための操作を行うのに応じて、小計処理を実行する(ステップS102)。これにより、今回の取り引きにおける買上金額が算出される。
次に、CPU201は、バーコードリーダー206による買い物券400のバーコードの読み取りが行われたか否かについて判定する(ステップS103)。ここで、買い物券400のバーコードの読み取りが行われたと判定した場合(ステップS103−YES)、CPU201は、買い物券400による買上金額の補填を含めて精算処理を実行する(ステップS104)。具体的には、買上金額から買い物券400による補填金額を差し引いた金額を現金による支払金額として扱う。そのうえで、この現金による支払金額に対する預かり金額とお釣りを計算する。
次に、CPU201は、印字部207が上記精算処理による精算結果を明細領域513に反映させた買上明細レシート501Aを印字するように制御する(ステップS105)。なお、このステップS105による買上明細レシート501Aの印字の開始にあたり、ヘッダ領域511は、図7にて説明したように、前回の買上明細レシートまたは認証レシートの切断に応じたタイミングで既に印刷されている。したがって、上記ステップS105による買上明細レシート501Aの印字は、広告領域512から開始される。
上記買上明細レシート501Aにおけるバーコード領域514までの印字を完了すると、CPU201は以下の処理を実行する。つまり、CPU201は、次回の精算に対応して発行すべき買上明細レシート501Bのヘッダ領域511の印刷と、図7の切断位置503Aにおけるロール用紙500の切断が行われるとともに、ロール用紙500の送りが停止されるように印字部207を制御する(ステップS106)。これにより、ロール用紙500の送りが停止された状態では、買上明細レシート501Aが発行され、かつ、ロール用紙500の最上部において次の買上明細レシート501Bのヘッダ領域511が印字されていることになる。つまり、この場合には、図7に示す認証レシート502Aを発行しないように印字部207が動作する。
また、CPU201は、バーコードリーダー206による買い物券400のバーコードの読み取りが行われた場合に対応した内容の買上情報を生成して送信する(ステップS107)。この際、CPU201は、前述のように、今回の精算により発行された買上明細レシートのレシート番号、今回の精算において計上された買上金額、顧客が支払った現金の金額、買い物券の補填金額、買い物券識別情報、買い物券400からバーコードを読み取ったことを示すバーコード読取履歴およびオペレータ識別子を含む買上情報を生成する。
また、CPU201は、買い物券400のバーコードの読み取りが行われなかったと判定した場合(ステップS103−NO)、さらに買い物券400の補填金額の入力操作が行われたか否かについて判定する(ステップS108)。
補填金額の入力操作が行われたと判定した場合(ステップS108−YES)、CPU201は、買い物券400による買上金額の補填を含めた精算処理を実行する(ステップS109)。
次に、CPU201は、印字部207が上記精算処理による精算結果を明細領域513に反映させた買上明細レシート501Aを印字するように制御する(ステップS110)。なお、当該ステップS110による買上明細レシート501Aの印字は、先のステップS105と同様の理由により、広告領域512から開始される。
上記買上明細レシート501Aにおけるバーコード領域514までの印字を完了すると、CPU201は、認証レシート502Aのヘッダ領域521の印刷と、図7の切断位置503Aにおけるロール用紙500の切断が行われるように、印字部207を制御する(ステップS111)。
また、CPU201は、上記ヘッダ領域521の印刷とロール用紙500の切断に続けて、さらにロール用紙500を送りながら、認証レシート502Aの明細領域522の印字を印字部207に実行させる(ステップS112)。そして、この明細領域522の印字が完了すると、CPU201は、次の買上明細レシート501Bのヘッダ領域511の印字と、切断位置503Bにおけるロール用紙500の切断が行われるとともに、ロール用紙500の送りが停止されるように印字部207を制御する(ステップS113)。このように、買い物券400の補填金額の入力操作が行われた場合には、上記ステップS111からS113の処理によって、買上明細レシート501Aの発行と、これに続く認証レシート502Aの発行が行われる。
そして、CPU201は、買い物券400の補填金額の入力操作が行われた場合に対応する内容の買上情報を生成して送信する(ステップS114)。この際、CPU201は、前述のように、今回の精算により発行されたレシート番号、買上金額、顧客が支払った現金の金額、補填金額の入力操作が行われたことを示すキー入力履歴およびオペレータ識別子を含む買上情報を生成する。
また、買い物券400の補填金額の入力操作が行われなかったと判定した場合(ステップS108−NO)、CPU201は、図9に示すように、さらに、買い物券識別情報の入力操作が行われたか否かについて判定する(ステップS115)。
買い物券識別情報の入力操作が行われたと判定した場合には(ステップS115−YES)、ステップS116からS121の処理を実行する。なお、ステップS116からS120の処理は、図8におけるステップS109からS112と同様となる。
そして、CPU201は、上記ステップS120までの処理とともに、買い物券識別情報の入力操作が行われた場合に対応する内容の買上情報を生成して送信する(ステップS121)。この際、CPU201は、前述のように、今回の精算により発行されたレシート番号、買上金額、顧客が支払った現金の金額、買い物券識別情報の入力操作が行われたことを示すキー入力履歴およびオペレータ識別子を含む買上情報を生成する。
また、買い物券識別情報の入力操作が行われなかったと判定した場合(ステップS115−NO)には、買い物券400を利用しない取り引きが顧客と行われたことになる。そこで、CPU201は、買い物券400の利用を反映しない精算処理を実行する(ステップS122)。
次に、CPU201は、上記ステップS122による精算処理の結果を反映した買上明細レシートの印字が行われるように制御する(ステップS123)。また、この買上明細レシートの印字の終了に続いて、次の買上明細レシートのヘッダ領域511の印字とロール用紙500の切断が行われるとともに、ロール用紙500の送りが停止されるように印字部207を制御する(ステップS124)。
そして、CPU201は、買い物券400を利用しない取り引きに対応した買上情報を生成して送信する(ステップS125)。このステップS125により生成される買上情報には、今回の精算により発行されたレシート番号、買上金額、顧客が支払った現金の金額およびオペレータ識別子が含まれる。
上記実施の形態では、買上実績ファイルをストアコントローラ1に記憶する例で説明したが、これに限らず、例えばPOSレジスタ2に記憶するようにしてもよい。また、POSレジスタ2が複数あり、その中の一つのPOSレジスタ2をマスター、他をスレーブとし、スレーブのPOSレジスタ2で精算された取引の実績データ(買上実績ファイル)をマスターのPOSレジスタ2で記憶し管理するようにしてもよい。
なお、上記図8および図9に示した処理を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより本実施形態における精算処理やレシートの印字制御等を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。