本発明の一実施の形態を図面に基づいて説明する。本実施の形態の入出金管理システムは、商品販売データ処理装置としてのPOS端末211と貨幣入出金装置としての釣銭機241とを有するPOSシステム101への適用例である。
図1は、POSシステム101を示すシステム構成図である。本実施の形態のPOSシステム101は、店舗201に設置された店舗コンピュータ281と、各店舗201を統括する統括部301に設置された上位コンピュータ311と、契約によって各店舗201の警備等を担当する警備会社401に設置された警備会社コンピュータ411とを有する。店舗コンピュータ281と上位コンピュータ311と警備会社コンピュータ411とは、通信ネットワーク111を介して互いにデータ通信可能に接続されている。
店舗コンピュータ281は、店舗201のバックヤードに配置されている。店舗コンピュータ281には、LANケーブル291を介して、複数台のPOS端末211が接続されている。POS端末211は、店舗201の売場に配置されている。各々のPOS端末211には、いわゆるリサイクル型の自動釣銭機である釣銭機241がデータ通信可能に接続されている。
図2は、POS端末211及び釣銭機241を示す外観斜視図である。POS端末211は、釣銭機241に載置されている。釣銭機241は、売場のレジ台(図示せず)に配置されている。
POS端末211は、各部をその内部又は外部に配置するハウジング212を備える。ハウジング212の上面には、キーボード213が設けられている。キーボード213は、上面に数字が表示されたテンキー、上面に「小計」と表示された仮締めキー、上面に「預/現計」と表示された締めキー(いずれも図示せず)等を含む。キーボード213の上方位置には、キャッシャに対しての情報表示機能を有するキャッシャ用表示器215が配置されている。キャッシャ用表示器215は、一例として、液晶ディスプレイである。キャッシャ用表示器215の画面上には、タッチパネル214が設けられている。キャッシャ用表示器215の左側には、プリンタカバー217が設けられている。プリンタカバー217の前面には、レシート発行口217aが形成されている。プリンタカバー217の内部には、レシート用紙に印刷してレシートを発行するレシートプリンタであるプリンタ229(図4参照)が設けられている。キーボード213の右側には、カードスリット218が形成されている。カードスリット218は、ハウジング212に内蔵されたカードリーダ227(図4参照)によるカード情報の読み取りのために使用される。キャッシャ用表示器215の背面側には、客用表示器216がキャッシャ用表示器215よりも高い位置に配置されている。客用表示器216は、ハウジング212から突出した支柱に回転自在に取り付けられている。客用表示器216は、一例として、液晶ディスプレイである。さらに、POS端末211は、バーコードスキャナ219を有する。バーコードスキャナ219は、バーコードの形態で商品に付された商品コードを読み取る。
釣銭機241は、各部をその内部又は外部に配置するハウジング242を備える。ハウジング242の前面右側には、紙幣の入金を許容する紙幣投入口246が設けられている。紙幣投入口246の左側には、紙幣が払い出される紙幣払出口247が設けられている。ハウジング242の前面側中央部分には、上方に開口した硬貨投入口243が設けられている。硬貨投入口243は、複数枚の硬貨のまとまった投入を許容する。硬貨投入口243の左側には、硬貨が払い出される硬貨払出口244と、硬貨払出口244から払い出された硬貨を受ける硬貨受皿245とが設けられている。
図3は、釣銭機241を示す機能ブロック図である。釣銭機241は、硬貨(1円硬貨、5円硬貨、10円硬貨、50円硬貨、100円硬貨、500円硬貨)についての入出金機能を有する硬貨入出金部241aと、紙幣(1000円紙幣、5000円紙幣、10000円紙幣)についての入出金機能を有する紙幣入出金部241bとを有する。
まず、硬貨入出金部241aについて説明する。硬貨入出金部241aは、貨幣入金部としての硬貨入金部251、硬貨選別部252、貨幣収納部としての硬貨収納部253、及び貨幣出金部としての硬貨出金部254を含む。硬貨入金部251は、硬貨投入口243(図2参照)を含み、硬貨投入口243に投入された硬貨の入金を許容して硬貨を内部に搬送する。硬貨選別部252は、硬貨入金部251が入金を許容した硬貨をその搬送過程で金種に応じて選別する。硬貨収納部253は、硬貨選別部252が選別した硬貨を金種別に収納する。硬貨出金部254は、硬貨払出口244及び硬貨受皿245(図2参照)を含み、硬貨収納部253が収納している硬貨を、POS端末211からの払出指示に応じて硬貨払出口244から出金する。
また、硬貨入出金部241aは、硬貨選別部252に金種毎に設けられて入金された硬貨を検出する入金検出部としての硬貨入金センサ268a(図4参照)を有し、硬貨出金部254に金種毎に設けられて出金される硬貨を検出する出金検出部としての硬貨出金センサ269a(図4参照)を有する。
次に、紙幣入出金部241bについて説明する。紙幣入出金部241bは、貨幣入金部としての紙幣入金部255、紙幣選別部256、貨幣収納部としての紙幣収納部257、及び、貨幣出金部としての紙幣出金部258を含む。紙幣入金部255は、紙幣投入口246(図2参照)を含み、紙幣投入口246に投入された紙幣の入金を許容して紙幣を内部に搬送する。紙幣選別部256は、紙幣入金部255が入金を許容した紙幣をその搬送過程で金種に応じて選別する。紙幣収納部257は、紙幣選別部256が選別した紙幣を金種別に収納する。紙幣出金部258は、紙幣払出口247(図2参照)を含み、紙幣収納部257が収納している紙幣を、POS端末211からの払出指示に応じて紙幣払出口247から出金する。
また、紙幣入出金部241bは、紙幣選別部256に設けられて入金された紙幣を検出する入金検出部としての紙幣入金センサ268b(図4参照)を有し、紙幣出金部258に設けられて出金される紙幣を検出する出金検出部としての紙幣出金センサ269b(図4参照)を有する。
このような釣銭機241が有する各部の構造等については、その内容が周知なので、説明を省略する。
なお、以下、硬貨入金センサ268aと紙幣入金センサ268bとを併せて入金センサ268と称し、硬貨出金センサ269aと紙幣出金センサ269bとを併せて出金センサ269と称することがある。
また、以下、硬貨入金部251と紙幣入金部255とを併せて貨幣入金部295と称し、硬貨収納部253と紙幣収納部257とを併せて貨幣収納部296と称し、硬貨出金部254と紙幣出金部258とを併せて貨幣出金部297と称することがある。貨幣入金部295と貨幣出金部297とは入出金部を構成する。
図4は、POS端末211及び釣銭機241のハードウェア構成を示すブロック図である。まず、POS端末211のハードウェア構成について説明する。
図4に示すように、POS端末211は、各部を駆動制御する制御部221を備える。制御部221は、各部を集中的に制御するCPU222に、バスライン235を介して、制御プログラム等の固定的データを予め記憶するROM223と、各種データを書き換え自在に記憶してワークエリア等として機能するRAM224とが接続されて構成されている。RAM224は、その一部が、POS端末211の電源を切っても記憶内容が消失しない不揮発性メモリである。
制御部221には、キーボード213及びタッチパネル214が接続された入力コントローラ225、キャッシャ用表示器215及び客用表示器216とが接続された表示コントローラ226、カードリーダ227が接続されたカードリーダコントローラ228、プリンタ229が接続されたプリンタコントローラ230、バーコードスキャナ219が接続されたスキャナコントローラ233、LANインターフェース231、接続インターフェース234、及び、HDD232がバスライン235を介して接続されている。さらに、POS端末211は、図示しない時計回路を有し、これがCPU222に接続されている。
入力コントローラ225は、キーボード213又はタッチパネル214からの入力信号を制御部221に取り込む。表示コントローラ226は、画像データに基づいてキャッシャ用表示器215又は客用表示器216を駆動制御し、画像データに応じた画像をキャッシャ用表示器215又は客用表示器216に表示させる。カードリーダコントローラ228は、カードリーダ227を駆動制御して、カードリーダ227が読み取ったカード情報等を制御部221に取り込む。プリンタコントローラ230は、印字データに応じた印刷をレシート用紙に対して行う。スキャナコントローラ233は、バーコードスキャナ219を駆動制御して、バーコードスキャナ219が読み取った商品コードを制御部221に取り込む。LANインターフェース231は、LANケーブル291(図1参照)を介して店舗コンピュータ281とのデータ通信を可能とする。接続インターフェース234は、通信ケーブル234aを介して釣銭機241の接続インターフェース273と接続されている。つまり、通信ケーブル234aを介して釣銭機241とのデータ通信を可能とする。HDD232には動作プログラム、PLUファイル、画像ファイル、音声ファイル、売上ファイル等の各種ファイルが記憶保存されている。これらの動作プログラム、各種ファイル等は、その全部又は一部がPOS端末211の起動時にRAM224に移されて使用される。PLUファイルは、各商品を特定する商品コードに対応させて、単価等を書き換え自在に記憶する。PLUファイルは、店舗コンピュータ281(図1参照)から配信されてHDD232に格納される。
このように構成されたPOS端末211のCPU222は、検索処理と決済処理とを含む商品販売データ処理を実行する。
検索処理は、商品に付されたバーコードがバーコードスキャナ219を用いて読み取られた場合、読み取られたバーコードにより特定される商品コードを認識し、PLUファイルを検索してその商品コードに対応する単価、重量及び商品表示を取得する処理である。
決済処理は、検索処理で取得した単価に基づいて顧客が支払うべき合計金額を算出し、その合計金額の決済を実行する処理である。合計金額は、RAM224に仮登録されるか、あるいは売上ファイルに登録される。決済処理では、キーボード213のテンキーの押下により顧客からの預り金額の入力を受け付け、合計金額と預り金額とに基づいて釣銭金額を求める。
次に、釣銭機241のハードウェア構成について説明する。
図4に示すように、釣銭機241は、各部を駆動制御する制御部261を備える。制御部261は、各部を集中的に制御するCPU262に、バスライン274を介して、制御プログラム等の固定的データを予め記憶するROM263と、各種データを書き換え自在に記憶してワークエリア等として機能するRAM264とが接続されて構成されている。RAM264は、その一部が、釣銭機241の電源を切っても記憶内容が消失しない不揮発性メモリである。RAM264には、後述する釣銭機状態ファイルF1(図7参照)が形成されている。
制御部261には、モータ類265が接続されたモータコントローラ266、ソレノイド類271が接続されたソレノイドコントローラ272、入金センサ268と出金センサ269とを含むセンサ類267が接続されたセンサコントローラ270、及び、接続インターフェース273がバスライン274を介して接続されている。さらに、釣銭機241は、図示しない時計回路を有し、これがCPU262に接続されている。
モータコントローラ266は、モータ類265を駆動制御してモータ類265を回転させる。モータ類265は、釣銭機241の内部に設けられた搬送ベルト(図示せず)を回転させる駆動源である。搬送ベルトは、硬貨入金部251、硬貨出金部254、紙幣入金部255、紙幣出金部258等に設けられて、その回転により釣銭機241に対する貨幣の入出金等を行う。ソレノイドコントローラ272は、ソレノイド類271を駆動制御してソレノイド類271を変位させる。ソレノイド類271は、硬貨出金部254に設けられて、指示された枚数の硬貨の払い出しを行う。センサコントローラ270は、センサ類267の検出出力を制御部261に取り込む。接続インターフェース273は、通信ケーブル234aを介してPOS端末211の接続インターフェース234と接続されている。つまり、通信ケーブル234aを介してPOS端末211とのデータ通信を可能とする。
このように構成された釣銭機241のCPU262は、入金センサ268の検出出力に基づいて入金貨幣の金種を特定する。また、釣銭機241のCPU262は、出金センサ269の検出出力に基づいて出金貨幣の金種を特定する。金種を特定する処理手順等については、その内容が周知なので、説明を省略する。
図5は、POS端末211のRAM224のデータ構成を示す模式図である。POS端末211のCPU222は、RAM224に、「日時」及び「取引No.」に対応付けて、「POS端末増減金額」と「過不足金額」とを記憶させる。さらに、キャッシャを特定する「キャッシャNo.」等を対応付けて記憶するようにしてもよい。これらのデータは、所定の操作により消去されるまでRAM224に保存される。
「POS端末増減金額」は、決済処理でキーボード213のテンキーの押下により入力される現金の入金金額(預り金額)と、この入金金額と単価の合計金額とに基づいて求められる現金の出金金額(釣銭金額)との差額であり、POS端末211のCPU222が算出する。また、出金のみを行う場合は、キーボード213のテンキーの押下により入力される出金金額が「POS端末増減金額」となる。この場合、入金金額は¥0である。入金のみを行う場合(釣銭準備金の入金時等)、キーボード213のテンキーの押下により入力される入金金額が「POS端末増減金額」となる。この場合、出金金額は¥0である。いずれの場合も、釣銭機241に入金されるであろう入金金額から、釣銭機241から出金されるであろう出金金額を減じた金額が「POS端末増減金額」となる。つまり、「POS端末増減金額」は、理論増減金額であり、POS端末211のCPU222が、理論増減金額である「POS端末増減金額」を算出してRAM224に記憶させる処理は、第1処理に相当する。
「過不足金額」については、後述する(図8を参照)。
図6は、釣銭機241のRAM264のデータ構成を示す模式図である。釣銭機241のCPU262は、RAM264に、「日時」及び「取引No.」に対応付けて、「釣銭機出金金額」、「釣銭機入金金額」、「釣銭機在高金額」、および、「釣銭機増減金額」を記憶させる。さらに、キャッシャを特定する「キャッシャNo.」等を対応付けて記憶するようにしてもよい。これらのデータは、所定の操作により消去されるまでRAM264に保存される。
「釣銭機出金金額」は、一つの取引で貨幣出金部297により貨幣収納部296から出金された貨幣の金額であり、出金センサ269の検出出力に基づく。
「釣銭機入金金額」は、一つの取引で貨幣入金部295により入金される貨幣の金額であり、入金センサ268の検出出力に基づく。
「釣銭機在高金額」は、各取引で貨幣収納部296に収納されている貨幣の金額であり、「釣銭機出金金額」と「釣銭機入金金額」とに基づく。つまり、釣銭機241のCPU262は、前回取引の「釣銭機在高金額」を取得してRAM264に記憶させておく。そして、釣銭機241のCPU262は、この前回の「釣銭機在高金額」から「釣銭機出金金額」を減算し、「釣銭機入金金額」を加算することにより、今回取引の「釣銭機在高金額」を算出してRAM264に記憶させる。このRAM264に記憶された「釣銭機在高金額」は、次回取引における「釣銭機在高金額」の算出に際して使用されることになる。
「釣銭機増減金額」は、ある取引での「釣銭機在高金額」から、その直前の取引での「釣銭機在高金額」を減算して得られる差額であり、釣銭機241のCPU262が算出する。「釣銭機増減金額」は、現金増減金額であり、釣銭機241のCPU262が、現金増減金額である「釣銭機増減金額」を算出してRAM264に記憶させる処理は、第2処理に相当する。
次に、釣銭機状態ファイルF1について説明する。
図7は、釣銭機状態ファイルF1のデータ構成を示す模式図である。釣銭機241のRAM264に形成されている釣銭機状態ファイルF1は、取引毎の釣銭機241の状態を記憶するファイルである。より詳細には、「日時」が紐付けられた各「取引No.」に対応付けて、「入出金貨幣情報」と「釣銭機エラー情報」とを記憶する。これらの情報は、釣銭機241のCPU262がプログラムに従い実行する処理によって記憶される。さらに、キャッシャを特定する「キャッシャNo.」等を対応付けて記憶するようにしてもよい。釣銭機状態ファイルF1は、所定の操作により消去されるまでRAM264に保存される。
「日時」は、釣銭機241の時計回路から取得されるもので、例えば、取引開始の日時、取引終了の日時、又は、これらの中間点の日時等である。
「取引No.」は、取引毎に追番で付される番号である。ここで、「取引」は、実際の商取引、つまり上記の検索処理や決済処理の実行を伴う取引に限られることはない。仮にPOS端末211への金額入力や釣銭機241での入出金がない場合にも、POS端末211のキーボード213での所定の操作によって、次取引に移行する。
「入出金貨幣情報」は、入金センサ268および出金センサ269の検出出力に基づいて特定された、貨幣入金部295および貨幣出金部297によって入出金された貨幣の情報であり、金種と数量とを含む。
「釣銭機エラー情報」は、貨幣入金部295による入金に際してのエラー情報と、貨幣出金部297による出金に際してのエラー情報とを含む。
まず、入金に際しての釣銭機エラー情報について説明する。例えば、釣銭機241に偽札が入金されたことを原因として、釣銭機241のCPU262が、入金センサ268の検出出力に基づいて、入金貨幣の金種を特定できなかった場合、釣銭機241のCPU262は、貨幣入金部295を制御してこの貨幣をリジェクト庫(図示せず)にリジェクトさせる。そして、釣銭機241のCPU262は、釣銭機エラー情報として、例えば「入金紙幣リジェクト発生」という情報を釣銭機状態ファイルF1に記憶させる。なお、金種の特定ができなかったことに基づくものであるため、金種についての情報は含まない。
次に、出金に際しての釣銭機エラー情報について説明する。釣銭機241のCPU262は、接続されたPOS端末211から送信される出金指示に応じて、貨幣収納部296に収納されている貨幣を貨幣出金部297に出金させる。出金される貨幣は出金センサ269に検出され、出金センサ269の検出出力に基づいて釣銭機241のCPU262は、出金貨幣の金種と数量とを特定する。ここで、出金センサ269は、出金を待機している先頭の貨幣を検出するセンサと、出金された貨幣を検出するセンサとを含んでいる。この両センサの検出出力結果が異なる場合、貨幣出金部297による貨幣出金に硬貨詰まり等のエラーが生じたことになる。この場合、釣銭機241のCPU262は、この貨幣については「釣銭機出金金額」としてカウントせず、釣銭機エラー情報として、例えば「出金硬貨詰まり発生」という情報を釣銭機状態ファイルF1に記憶させる。
このようにして、釣銭機241のCPU262が「釣銭機エラー情報」を釣銭機状態ファイルF1に記憶させる処理は、第3処理に相当する。
次に、本実施の形態で、釣銭機状態ファイルF1に基づいてPOS端末211のCPU222が実行する処理について説明する。
図8は、POS端末211のCPU222が実行する処理の流れを示すフローチャートである。
POS端末211のCPU222は、ある「取引No.」の取引の終了に応じて、対応する「取引No.」における「釣銭機増減金額」と「POS端末増減金額」との比較照合を実行し、両者間の「過不足金額」の有無を判定する(ステップS101)。この処理の前提として、釣銭機241のCPU262は、RAM264に記憶されている「釣銭機増減金額」をPOS端末211に対して送信出力する。なお、取引の終了は、例えば、通常取引ではキーボード213の締めキーの押下による一取引終了の宣言により、両替業務ではキーボード213での所定の操作に応じた両替業務終了の宣言による。
POS端末211のCPU222は、判定の結果をRAM224に記憶させる。つまり、「釣銭機増減金額」と「POS端末増減金額」との間に過不足が無いと判定したならば(ステップS102のN)、「過不足金額:¥0」を記憶させる(ステップS104)。そして処理を終了する。一方、両者間に過不足が有ると判定したならば(ステップS102のY)、その金額を「過不足金額」として記憶させる(ステップS103)。
両者間に過不足が有り(ステップS102のY)、「過不足金額」を記憶させたならば(ステップS103)、続けて、POS端末211のCPU222は、対応する「取引No.」の取引について、釣銭機状態ファイルF1を参照して、「釣銭機エラー情報」が記憶されているか否かを判定する(ステップS105)。この処理の前提として、釣銭機241のCPU262は、釣銭機状態ファイルF1のデータをPOS端末211に対して送信出力する。
そして、「釣銭機エラー情報」が記憶されていないと判定した場合には(ステップS106のN)、POS端末211のCPU222は、「釣銭機増減金額」と「POS端末増減金額」との間に過不足が発生した旨の情報を出力する(ステップS108)。この情報は、「過不足金額」と共に、その過不足の発生が、キーボード213の誤入力やキャッシャの不正行為等の人為的ミスを原因とするものである旨の情報を含む(ステップS108)。
一方で、「釣銭機エラー情報」が記憶されていると判定した場合にも(ステップS106のY)、POS端末211のCPU222は、「釣銭機増減金額」と「POS端末増減金額」との間に過不足が発生した旨の情報を出力する(ステップS107)。そして、この情報は、「過不足金額」と共に、その過不足の発生が、機械的ミス、つまり、釣銭機241の入出金エラーを原因とするものである旨の情報を含む(ステップS107)。
ここで、図8に示したフローチャートのステップS101〜S104の処理を「過不足判定処理」と称し、ステップS105〜S108の処理を「原因判定処理」と称する。「過不足判定処理」は、第4処理に相当し、「原因判定処理」は、第5処理に相当する。
次に、このような構成において本実施の形態のPOS端末211と釣銭機241とが実行する処理の具体例について、図9に基づいて説明する。
図9は、現金過不足が発生する場合の取引状況の一例を示す模式図である。
No.112の取引は、売上の合計金額:¥1,500、顧客からの預り金額:¥2,000(¥1,000×2)、釣銭金額:¥500の場合であって、顧客から預った1枚の¥1,000が釣銭機241でリジェクトされた場合である。この取引では、POS端末211には、キーボード213により「¥2,000」が入力される。そして、POS端末211のCPU222は、入力された預り金額「¥2,000」と釣銭金額「¥500」とから「POS端末増減金額:¥1,500」を算出してRAM224に記憶させる。釣銭機241のCPU262は、「釣銭機出金金額:¥500」、「釣銭機入金金額:¥1,000」をRAM264に記憶させ、「釣銭機在高金額:¥91,000」を取得し、前回取引の釣銭機在高金額(¥90,500)と差から、「釣銭機増減金額:¥500」を算出してRAM264に記憶させる。また、釣銭機241のCPU262によって、RAM264の釣銭機状態ファイルF1には、「入出金貨幣情報」として出金:¥500×1、入金:¥1,000×1が記憶され、「釣銭機エラー情報」として「入金紙幣リジェクト発生」が記憶される。そして、POS端末211のCPU222は、図8のフローチャートに基づいて説明した過不足判定処理の実行により、「釣銭機増減金額:¥500」と「POS端末増減金額:¥1,500」との間の過不足の有無を判定し(ステップS101)、「釣銭機増減金額:¥500」と「POS端末増減金額:¥1,500」との間に過不足(−¥1,000)が有ることを判定する(ステップS102のY)。そして、続けてPOS端末211のCPU222は、図8のフローチャートに基づいて説明した原因判定処理の実行により、釣銭機状態ファイルF1に「釣銭機エラー情報」が記憶されているか否かを判定し(ステップS105)、釣銭機状態ファイルF1に「釣銭機エラー情報」として「入金紙幣リジェクト発生」が記憶されていることを判定する(ステップS106のY)。したがって、POS端末211のCPU222は、No.112の取引について、「釣銭機増減金額」と「POS端末増減金額」との間に過不足が生じ、それが機械的ミス(釣銭機241のミス)を原因とするものである旨の情報をキャッシャ用表示器215に出力して表示させる(ステップS107)。この情報は、過不足金額が¥1,000である旨を含む。
No.112の取引後、POS端末211のキーボード213での入力操作無しに、釣銭機241に¥10,000(¥1,000×10)が入金されている。
No.113の取引は、売上の合計金額:¥500、顧客からの預り金額:¥1,000、釣銭金額:¥500の場合である。この取引では、POS端末211には、キーボード213により「¥1,000」が入力される。そして、POS端末211のCPU222は、入力された預り金額「¥1,000」と釣銭金額「¥500」とから「POS端末増減金額:¥500」を算出してRAM224に記憶させる。釣銭機241のCPU262は、「釣銭機出金金額:¥500」、「釣銭機入金金額:¥11,000」(No.112の取引後に入金された¥10,000を含む)をRAM264に記憶させ、「釣銭機在高金額:¥101,500」を取得し、前回取引(No.112)の釣銭機在高金額(¥91,000)との差から、「釣銭機増減金額:¥10,500」を算出してRAM264に記憶させる。また、RAM264の釣銭機状態ファイルF1には、釣銭機241のCPU262によって、「入出金貨幣情報」として出金:¥500×1、入金:¥1,000×1が記憶され、さらに、No.112の取引後に入金された¥10,000(¥1,000×10)も記憶される。そして、POS端末211のCPU222は、図8のフローチャートに基づいて説明した過不足判定処理の実行により、「釣銭機増減金額:¥10,500」と「POS端末増減金額:¥500」との間の過不足の有無を判定し(ステップS101)、「釣銭機増減金額:¥10,500」と「POS端末増減金額:¥500」との間に過不足(¥10,000)が有ることを判定する(ステップS102のY)。そして、続けてPOS端末211のCPU222は、図8のフローチャートに基づいて説明した原因判定処理の実行により、釣銭機状態ファイルF1に「釣銭機エラー情報」が記憶されているか否かを判定し(ステップS105)、釣銭機状態ファイルF1に「釣銭機エラー情報」として「入金紙幣リジェクト発生」が記憶されていないことを判定する(ステップS106のN)。したがって、POS端末211のCPU222は、No.113の取引について、「釣銭機増減金額」と「POS端末増減金額」との間に過不足が生じ、それが人為的ミス(ここでは入力の忘れ)を原因とするものである旨の情報をキャッシャ用表示器215に出力して表示させる(ステップS108)。この情報は、過不足金額が¥10,000である旨を含む。
No.114の取引は、例えば2枚の¥500硬貨を1枚の¥1,000紙幣に両替する業務であり、実際に釣銭機241に貨幣を入金しなかった場合である。この取引では、POS端末211には、キーボード213により入金金額として「¥1,000」が入力され、出金金額として「¥1,000」が入力される。そして、POS端末211のCPU222は、両者の差から「POS端末増減金額:¥0」を算出してRAM224に記憶させる。釣銭機241のCPU262は、「釣銭機出金金額:¥1,000」、「釣銭機入金金額:¥0」(入金されなかったため)をRAM264に記憶させ、「釣銭機在高金額:¥100,500」を取得し、前回取引(No.113)の釣銭機在高金額(¥101,500)との差から、「釣銭機増減金額:−¥1,000」を算出してRAM264に記憶させる。また、RAM264の釣銭機状態ファイルF1には、釣銭機241にCPU262によって、「入出金貨幣情報」として「出金:¥1,000×1」のみが記憶される。そしてPOS端末211のCPU222は、図8のフローチャートに基づいて説明した過不足判定処理の実行により、「釣銭機増減金額:−¥1,000」と「POS端末増減金額:¥0」との間の過不足の有無を判定し(ステップS101)、「釣銭機増減金額:−¥1,000」と「POS端末増減金額:¥0」との間に過不足(−¥1,000)が有ることを判定する(ステップS102のY)。そして、続けてPOS端末211のCPU222は、図8のフローチャートに基づいて説明した原因判定処理の実行により、釣銭機状態ファイルF1に「釣銭機エラー情報」が記憶されているか否かを判定し(ステップS105)、釣銭機状態ファイルF1に「釣銭機エラー情報」が記憶されていないことを判定する(ステップS106のN)。したがって、POS端末211のCPU222は、No.114の取引について、「釣銭機増減金額」と「POS端末増減金額」との間に過不足が生じ、それが人為的ミス(ここでは入金の忘れ)を原因とするものである旨の情報をキャッシャ用表示器215に出力して表示させる(ステップS108)。この情報は、過不足金額が−¥1,000である旨を含む。
No.115の取引は、売上の合計金額:¥500、顧客からの預り金額:現金¥1,000、釣銭金額:¥500の場合であって、出金される¥500が釣銭機241で詰まってしまい出金されなかった場合である。この取引では、POS端末211には、キーボード213により「¥1,000」が入力される。そして、POS端末211のCPU222は、入力された預り金額「¥1,000」と釣銭金額「¥500」とから「POS端末増減金額:¥500」を算出してRAM224に記憶させる。釣銭機241のCPU262は、「釣銭機出金金額:¥0」(出金されなかったため)、「釣銭機入金金額:¥1,000」をRAM264に記憶させ、「釣銭機在高金額:¥101,500」を取得し、前回取引(No.114)の釣銭機在高金額(¥100,500)との差から、「釣銭機増減金額:¥1,000」を算出してRAM264に記憶させる。また、釣銭機241のCPU262によって、RAM264の釣銭機状態ファイルF1には、「入金:¥1,000×1」が記憶され、「釣銭機エラー情報」として「出金硬貨詰まり発生」が記憶される。そして、POS端末211のCPU222は、図8のフローチャートに基づいて説明した過不足判定処理の実行により、「釣銭機増減金額:¥1,000」と「POS端末増減金額:¥500」との過不足の有無を判定し(ステップS101)、「釣銭機増減金額:¥1,000」と「POS端末増減金額:¥500」との間に過不足(¥500)が有ることを判定する(ステップS102のY)。そして、続けてPOS端末211のCPU222は、図8のフローチャートに基づいて説明した原因判定処理の実行により、釣銭機状態ファイルF1に「釣銭機エラー情報」が記憶されているか否かを判定し(ステップS105)、釣銭機状態ファイルF1に「釣銭機エラー情報」として「出金硬貨詰まり発生」が記憶されていることを判定する(ステップS106のY)。したがって、POS端末211のCPU222は、No.115の取引について、「釣銭機増減金額」と「POS端末増減金額」との間に過不足が生じ、それが機械的ミス(釣銭機241のミス)を原因とするものである旨の情報をキャッシャ用表示器215に出力して表示させる(ステップS107)。この情報は、過不足金額が¥500である旨を含む。
No.116の取引は、売上の合計金額:¥500、顧客からの預り金額:現金¥1,000、釣銭金額:¥500の場合である。この取引では、POS端末211には、キーボード213により「¥1,000」が入力される。そして、POS端末211のCPU222は、入力された預り金額「¥1,000」と釣銭金額「¥500」とから「POS端末増減金額:¥500」を算出してRAM224に記憶させる。釣銭機241のCPU262は、「釣銭機出金金額:¥500」、「釣銭機入金金額:¥1,000」をRAM264に記憶させ、「釣銭機在高金額:¥102,000」を取得し、前回取引(No.115)の釣銭機在高金額(¥101,500)との差から、「釣銭機増減金額:¥500」を算出してRAM264に記憶させる。また、釣銭機241のCPU262によって、RAM264の釣銭機状態ファイルF1には、「出金:¥500」と「入金:¥1,000」とが記憶される。そして、POS端末211のCPU222は、図8のフローチャートに基づいて説明した過不足判定処理の実行により、「釣銭機増減金額:¥500」と「POS端末増減金額:¥500」との間の過不足の有無を判定し(ステップS101)、「釣銭機増減金額:¥500」と「POS端末増減金額:¥500」との間に過不足が無いことを判定する(ステップS102のN)。したがって、POS端末211のCPU222は、続けて原因判定処理を実行しない。
[別の実施形態]
上記実施の形態では、図8のフローチャートに基づいて説明した処理の実行主体がPOS端末211のCPU222である例を示した。つまり、上記実施の形態では、「過不足判定処理(ステップS101〜S104)」と「原因判定処理(ステップS105〜S108)」とをPOS端末211のCPU222が実行している。しかしながら、この二つの処理の実行主体は、POS端末211のCPU222に限られない。例えば、(イ)「過不足判定処理」と「原因判定処理」との実行主体が釣銭機241のCPU262、(ロ)「過不足判定処理」の実行主体がPOS端末211のCPU222、「原因判定処理」の実行主体が釣銭機241のCPU262、(ハ)「過不足判定処理」の実行主体が釣銭機241のCPU262、「原因判定処理」の実行主体がPOS端末211のCPU222、であってもよい。
(イ)「過不足判定処理」と「原因判定処理」との実行主体が釣銭機241のCPU262である場合には、ステップS101の前提として、POS端末211のCPU222は、RAM224に記憶されている「POS端末増減金額」を釣銭機241に対して送信する。そして、釣銭機241のRAM264に「過不足金額」が記憶される(ステップS103、S104)。
(ロ)「過不足判定処理」の実行主体がPOS端末211のCPU222であり、「原因判定処理」の実行主体が釣銭機241のCPU262である場合には、POS端末211のCPU222は、RAM224に「過不足金額」を記憶させた後、その「過不足金額」と共に、「原因判定処理」の実行指示を釣銭機241に送信する。
(ハ)「過不足判定処理」の実行主体が釣銭機241のCPU262であり、「原因判定処理」の実行主体がPOS端末211のCPU222である場合には、ステップS101の前提として、POS端末211のCPU222は、RAM224に記憶されている「POS端末増減金額」を釣銭機241に対して送信する。そして、釣銭機241のRAM264に「過不足金額」が記憶される(ステップS103、S104)。また、釣銭機241のCPU262は、RAM264に「過不足金額」を記憶させた後、その「過不足金額」と共に、「原因判定処理」の実行指示をPOS端末211に送信する。
[さらに別の実施形態]
「過不足判定処理」と「原因判定処理」とを取引終了に応じて実行せずに、例えば、業務終了後に一括して実行するようにしても良い。図5ないし図7に基づいて説明したように、「POS端末増減金額」、「釣銭機増減金額」、「釣銭機エラー情報」は、「日時」と「取引No.」とに対応付けて記憶される。そのため、「日時」又は「取引No.」に基づいて、各データの突き合せを実行して、「過不足判定処理」と「原因判定処理」とを業務終了後等に実行することができる。処理実行主体は、POS端末211のCPU222であっても良いし、釣銭機241のCPU262であっても良い。そして、機械的ミスを原因とする過不足が発生した旨の出力、人為的ミスを原因とする過不足が発生した旨の出力については、過不足が発生した取引について一覧でキャッシャ用表示器215等に表示させるようにする。
101…POSシステム(入出金管理システム),211…POS端末(商品販売データ処理装置),222…CPU(第1の情報処理部),241…釣銭機(貨幣入出金装置),262…CPU(第2の情報処理部),295…貨幣入金部(入出金部),296…貨幣収納部,297…貨幣出金部(入出金部),F1…釣銭機状態ファイル(記憶領域)