IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社sacriの特許一覧

<>
  • 特許-プログラム、情報処理装置、方法 図1
  • 特許-プログラム、情報処理装置、方法 図2
  • 特許-プログラム、情報処理装置、方法 図3
  • 特許-プログラム、情報処理装置、方法 図4
  • 特許-プログラム、情報処理装置、方法 図5
  • 特許-プログラム、情報処理装置、方法 図6
  • 特許-プログラム、情報処理装置、方法 図7
  • 特許-プログラム、情報処理装置、方法 図8
  • 特許-プログラム、情報処理装置、方法 図9
  • 特許-プログラム、情報処理装置、方法 図10
  • 特許-プログラム、情報処理装置、方法 図11
  • 特許-プログラム、情報処理装置、方法 図12
  • 特許-プログラム、情報処理装置、方法 図13
  • 特許-プログラム、情報処理装置、方法 図14
  • 特許-プログラム、情報処理装置、方法 図15
  • 特許-プログラム、情報処理装置、方法 図16
  • 特許-プログラム、情報処理装置、方法 図17
  • 特許-プログラム、情報処理装置、方法 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-12-28
(45)【発行日】2024-01-12
(54)【発明の名称】プログラム、情報処理装置、方法
(51)【国際特許分類】
   G06Q 50/04 20120101AFI20240104BHJP
【FI】
G06Q50/04
【請求項の数】 11
(21)【出願番号】P 2023029264
(22)【出願日】2023-02-28
【審査請求日】2023-02-28
【早期審査対象出願】
(73)【特許権者】
【識別番号】522171202
【氏名又は名称】株式会社sacri
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】大谷 具史
【審査官】阿部 潤
(56)【参考文献】
【文献】特開2007-156639(JP,A)
【文献】特開2004-102468(JP,A)
【文献】特開2008-71140(JP,A)
【文献】特開2005-222191(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
プロセッサとメモリとを備えるコンピュータを動作させるためのプログラムであって、
前記プログラムは、前記プロセッサに、
食料品に含まれる原材料の使用量を取得するステップと、
第1ユーザと第1仕入先との間における、前記原材料の取引の内容を示す請求書の情報を受け付けるステップと、
所定のタイミングで前記原材料の使用量を取得するステップと、
前記請求書の情報に基づいて前記原材料の仕入価格を所定のタイミングで取得するステップと、
前記原材料の前記使用量と、前記仕入価格とに基づいて、前記食料品の原価を算出するステップと、
前記原価を前記第1ユーザに提示するステップと、
算出した前記原価が先に算出した前記原価と異なる場合、前記食料品の原価が変更されたことを前記第1ユーザに通知し、算出した前記原価が先に算出した前記原価と一致する場合、前記食料品の原価が変更されたことを前記第1ユーザに通知しないステップと、
を実行させる、プログラム。
【請求項2】
前記プロセッサに、
前記食料品に対する前記第1ユーザからの選択を受け付けるステップを実行させ、
前記通知するステップにおいて、選択された前記食料品について新たに算出された前記原価が先に算出された前記原価と異なる場合、選択された前記食料品の前記原価が変わったことを前記第1ユーザに通知する、請求項に記載のプログラム。
【請求項3】
前記選択を受け付けるステップにおいて、前記第1ユーザからの、前記第1ユーザによる販売の対象となる前記食料品の選択を受け付ける、請求項に記載のプログラム。
【請求項4】
前記プロセッサに、
前記原価に基づいて、前記食料品の推奨販売価格を算出するステップを実行させ、
前記提示するステップにおいて、前記推奨販売価格を前記第1ユーザに提示する、請求項1に記載のプログラム。
【請求項5】
前記プロセッサに、
前記食料品が販売された履歴を取得するステップと、
前記履歴に基づいて、前記推奨販売価格を算出するステップと、
前記履歴に基づいて算出するステップにおいて算出された前記推奨販売価格を前記第1ユーザに提示するステップと、
を実行させる、請求項に記載のプログラム。
【請求項6】
前記プロセッサに、
前記原材料の成分を示す成分情報を取得するステップと、
前記食料品の前記原材料の前記使用量と、前記原材料の前記成分情報とに基づいて、前記食料品の成分情報を作成するステップと、
前記食料品の成分情報を前記第1ユーザに提示するステップと、
を実行させる、請求項1に記載のプログラム。
【請求項7】
前記プロセッサに、
前記原材料の成分を示す前記成分情報の変更の内容を取得するステップと、
前記変更の内容を前記第1ユーザに提示するステップと、
を実行させる、請求項に記載のプログラム。
【請求項8】
前記プロセッサに、
前記食料品に対する前記第1ユーザからの選択を受け付けるステップと、
選択された前記食料品に含まれる前記原材料の前記成分情報が変更された場合、選択された前記食料品に含まれる前記原材料の前記成分情報が変更されたことを前記第1ユーザに通知するステップと、
を実行させる、請求項に記載のプログラム。
【請求項9】
前記選択を受け付けるステップにおいて、前記第1ユーザからの、前記第1ユーザによる販売の対象となる前記食料品の選択を受け付ける、請求項に記載のプログラム。
【請求項10】
プロセッサを備えるコンピュータによって実行される方法であって、前記プロセッサが、
食料品に含まれる原材料の使用量を取得するステップと、
第1ユーザと第1仕入先との間における、前記原材料の取引の内容を示す請求書の情報を受け付けるステップと、
所定のタイミングで前記原材料の使用量を取得するステップと、
前記請求書の情報に基づいて前記原材料の仕入価格を所定のタイミングで取得するステップと、
前記原材料の前記使用量と、前記仕入価格とに基づいて、前記食料品の原価を算出するステップと、
前記原価を前記第1ユーザに提示するステップと、
算出した前記原価が先に算出した前記原価と異なる場合、前記食料品の原価が変更されたことを前記第1ユーザに通知し、算出した前記原価が先に算出した前記原価と一致する場合、前記食料品の原価が変更されたことを前記第1ユーザに通知しないステップと、
を実行する、方法。
【請求項11】
制御部を備える情報処理装置であって、
前記制御部が、
食料品に含まれる原材料の使用量を取得するステップと、
第1ユーザと第1仕入先との間における、前記原材料の取引の内容を示す請求書の情報を受け付けるステップと、
所定のタイミングで前記原材料の使用量を取得するステップと、
前記請求書の情報に基づいて前記原材料の仕入価格を所定のタイミングで取得するステップと、
前記原材料の前記使用量と、前記仕入価格とに基づいて、前記食料品の原価を算出するステップと、
前記原価を前記第1ユーザに提示するステップと、
算出した前記原価が先に算出した前記原価と異なる場合、前記食料品の原価が変更されたことを前記第1ユーザに通知し、算出した前記原価が先に算出した前記原価と一致する場合、前記食料品の原価が変更されたことを前記第1ユーザに通知しないステップと、
を実行する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、情報処理装置、方法に関する。
【背景技術】
【0002】
食品産業において、食品に用いられる原材料の情報を管理する技術がある。例えば、特許文献1は、外食産業の業務部門間における迅速で効率的な情報共有、および、各業務部門で行われるデータ変更処理のシステム全体への確実な反映処理を可能とする、外食産業向け業務管理システムを開示している。具体的には、特許文献1は、ユーザ端末からの処理要求に応じたレシピ情報データベース22における商品基準書情報に関する入出力等を実行するとともに商品基準書情報の変更に伴い必要となる調理基準書情報または前記食材情報に関する入出力等を実行する商品基準書処理部18と、ユーザ端末からの処理要求に応じたレシピ情報データベース22における調理基準書情報に関する入出力等を実行するとともに調理基準書情報の変更に伴い必要となる商品基準書情報または前記食材情報に関する入出力等を実行する調理基準書処理部19と、ユーザ端末からの処理要求に応じたレシピ情報データベース22における食材情報に関する入出力等を実行するとともに食材情報の変更に伴い必要となる商品基準書情報または前記調理基準書情報に関する入出力等を実行する食材情報処理部20とから外食産業向け業務管理システムを開示している。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2007-156639公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
食料品の製造に用いられる原材料の原価は、物流や需給バランスに応じて頻繁に変動し得る。特許文献1の技術では、原材料の原価が変更されていた場合は新しい原価をシステムに入力する必要がある。この作業が煩雑であるため、原価が上昇したにもかかわらず販売価格の変更が後回しになる。したがって、利益を必要以上に圧迫しているにもかかわらず、商品の販売を続けているといった事態が起こりうる。
【0005】
そこで、本開示の目的は、現在の商品の原価を算出する手間を軽減する技術を提供することにある。
【課題を解決するための手段】
【0006】
プロセッサとメモリとを備えるコンピュータを動作させるためのプログラムであって、プログラムは、プロセッサに、食料品に含まれる原材料の使用量を取得するステップと、第1ユーザと第1仕入先との間の取引に基づき、原材料の仕入価格を取得するステップと、原材料の使用量と、仕入価格とに基づいて、食料品の原価を算出するステップと、原価を第1ユーザに提示するステップと、を実行させる。
【発明の効果】
【0007】
本開示によれば、現在の商品の原価を算出する手間を軽減する技術を提供できる。
【図面の簡単な説明】
【0008】
図1】システムの全体の構成を示す図である。
図2】端末装置の機能的な構成を示す図である。
図3】サーバの機能的な構成を示す図である。
図4】ユーザテーブルのデータ構造を示す図である。
図5】仕入先テーブルのデータ構造を示す図である。
図6】原材料テーブルのデータ構造を示す図である。
図7】使用量テーブルのデータ構造を示す図である。
図8】商品テーブルのデータ構造を示す図である。
図9】仕入履歴テーブルのデータ構造を示す図である。
図10】販売履歴テーブルのデータ構造を示す図である。
図11】システムにおける処理流れの一例を示すフローチャートである。
図12】システムにおける処理流れの一例を示すフローチャートである。
図13】システムにおける処理流れの一例を示すフローチャートである。
図14】システムにおける処理流れの一例を示すフローチャートである。
図15】システムにおける処理流れの一例を示すフローチャートである。
図16】システムにおける画面例を示す図である。
図17】システムにおける画面例を示す図である。
図18】システムにおける画面例を示す図である。
【発明を実施するための形態】
【0009】
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【0010】
また、以下の説明において、「プロセッサ」は、1以上のプロセッサである。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサであるが、GPU(Graphics Processing Unit)のような他種のプロセッサでもよい。少なくとも1つのプロセッサは、シングルコアでもよいしマルチコアでもよい。
【0011】
また、少なくとも1つのプロセッサは、処理の一部又は全部を行うハードウェア回路(例えばFPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit))といった広義のプロセッサでもよい。
【0012】
また、以下の説明において、「xxxテーブル」といった表現により、入力に対して出力が得られる情報を説明することがあるが、この情報は、どのような構造のデータでもよいし、入力に対する出力を発生するニューラルネットワークのような学習モデルでもよい。従って、「xxxテーブル」を「xxx情報」と言うことができる。
【0013】
また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
【0014】
また、以下の説明において、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサによって実行されることで、定められた処理を、適宜に記憶部及び/又はインタフェース部等を用いながら行うため、処理の主語が、プロセッサ(或いは、そのプロセッサを有するコントローラのようなデバイス)とされてもよい。
【0015】
プログラムは、計算機のような装置にインストールされてもよいし、例えば、プログラム配布サーバ又は計算機が読み取り可能な(例えば非一時的な)記録媒体にあってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0016】
また、以下の説明において、種々の対象の識別情報として、識別番号が使用されるが、識別番号以外の種類の識別情報(例えば、英字や符号を含んだ識別子)が採用されてもよい。
【0017】
また、以下の説明において、同種の要素を区別しないで説明する場合には、参照符号(又は、参照符号のうちの共通符号)を使用し、同種の要素を区別して説明する場合は、要素の識別番号(又は参照符号)を使用することがある。
【0018】
また、以下の説明において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【0019】
<0 システムの概要>
本開示に係るシステム1は、食料品に含まれる原材料の使用量を取得する。さらに、システム1は、第1ユーザと第1仕入先との間の取引における請求書に係る、原材料の仕入価格を取得する。システム1は、食料品に含まれる原材料の使用量と、原材料の仕入価格とに基づいて、食料品の原価を算出し、第1ユーザに提示する。
【0020】
本開示において、食料品とは、食品および飲料を意味する。一実施形態における食料品として、例えば、食パン、菓子パン、惣菜パンなどのパンが挙げられる。なお、以下の説明において、「食料品」を「商品」と称することがある。
【0021】
本開示において、「仕入価格」は、ユーザが仕入先から原材料を仕入れる際に、ユーザが仕入れる所定量の原材料に対して定められた価格のほか、当該価格を所定量で除算した原材料の単価も含む。
【0022】
<一実施形態>
<1 システム全体の構成図>
図1は、本実施形態の食料品管理システム1(以下、単にシステム1と称する)の全体の構成を示す図である。図1に示すように、システム1は、複数の端末装置(図1では、第1ユーザの有する端末装置10a及び第2ユーザの有する端末装置10bを示している。以下、総称して「端末装置10」ということもある)と、サーバ20とを含む。端末装置10とサーバ20とは、ネットワーク80を介して相互に通信可能に接続されている。ネットワーク80は、有線または無線ネットワークにより構成される。サーバ20はWebサーバ(クラウドサーバを含む)としての機能を有するサーバであり、端末装置10との間でWebページにより情報のやり取りを行う。また、端末装置10にはWebページを閲覧するためのWebページブラウザがインストールされているが、サーバ20のサービスを提供するための専用アプリケーションがインストールされ、専用アプリケーションにより閲覧可能に構成してもよい。
【0023】
端末装置10aのハードウェア構成と端末装置10bのハードウェア構成とは共通するので、端末装置10aのハードウェア構成について説明することで、端末装置10のハードウェア構成の説明を省略する。
【0024】
端末装置10は、本開示の食料品管理システム1のオペレータであり、サーバ20に対して種々の操作を指示するユーザが操作する装置である。端末装置10は、据え置き型のPC(Personal Computer)、ラップトップPC等により実現される。この他、端末装置10は、例えば移動体通信システムに対応したタブレットや、スマートフォン等の携帯端末であるとしてもよい。
【0025】
端末装置10は、ネットワーク80を介してサーバ20と通信可能に接続される。端末装置10は、4G、5G、LTE(Long Term Evolution)等の通信規格に対応した無線基地局81、IEEE(Institute of Electrical and Electronics Engineers)802.11等の無線LAN(Local Area Network)規格に対応した無線LANルータ82等の通信機器と通信することにより、ネットワーク80に接続される。図1に示すように、端末装置10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、記憶部16と、プロセッサ19とを備える。
【0026】
通信IF12は、端末装置10が外部の装置と通信するため、信号を入出力するためのインタフェースである。入力装置13は、ユーザからの入力操作を受け付けるための入力装置(例えば、キーボードや、タッチパネル、タッチパッド、マウス等のポインティングデバイス等)である。出力装置14は、ユーザに対し情報を提示するための出力装置(ディスプレイ、スピーカ等)である。メモリ15は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。記憶部16は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。プロセッサ19は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0027】
サーバ20は、本実施形態のシステム1の管理者により管理され、端末装置10のユーザにより適宜格納内容が修正/追加/削除がされる。
【0028】
サーバ20は、ネットワーク80に接続されたコンピュータである。サーバ20は、通信IF22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備える。
【0029】
通信IF22は、サーバ20が外部の装置と通信するため、信号を入出力するためのインタフェースである。入出力IF23は、ユーザからの入力操作を受け付けるための入力装置、及び、ユーザに対し情報を提示するための出力装置とのインタフェースとして機能する。メモリ25は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。ストレージ26は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。プロセッサ29は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0030】
<1.1 端末装置10の機能的な構成>
図2は、図1に示す端末装置10の機能的な構成の例を表すブロック図である。図2に示す端末装置10は、例えば、PC、携帯端末、またはウェアラブル端末により実現される。図2に示すように、端末装置10は、通信部120と、入力装置13と、出力装置14と、音声処理部17と、マイク171と、スピーカー172と、記憶部180と、制御部190とを備える。端末装置10に含まれる各ブロックは、例えば、バス等により電気的に接続される。
【0031】
通信部120は、端末装置10が他の装置と通信するための変復調処理等の処理を行う。通信部120は、制御部190で生成された信号に送信処理を施し、外部(例えば、サーバ20)へ送信する。通信部120は、外部から受信した信号に受信処理を施し、制御部190へ出力する。
【0032】
入力装置13は、端末装置10を操作するユーザが指示、または情報を入力するための装置である。入力装置13は、例えば、キーボード131、マウス132、リーダー等により実現されてもよい。端末装置10が携帯端末等である場合には、操作面へ触れることで指示が入力されるタッチ・センシティブ・デバイス等により実現される。入力装置13は、ユーザから入力される指示を電気信号へ変換し、電気信号を制御部190へ出力する。なお、入力装置13には、例えば、外部の入力機器から入力される電気信号を受け付ける受信ポートが含まれてもよい。
【0033】
出力装置14は、端末装置10を操作するユーザへ情報を提示するための装置である。出力装置14は、例えば、ディスプレイ141等により実現される。ディスプレイ141は、制御部190の制御に応じたデータを表示する。ディスプレイ141は、例えば、LCD(Liquid Crystal Display)、または有機EL(Electro-Luminescence)ディスプレイ等によって実現される。
【0034】
音声処理部17は、例えば、音声信号のデジタル-アナログ変換処理を行う。音声処理部17は、マイク171から与えられる信号をデジタル信号に変換して、変換後の信号を制御部190へ与える。また、音声処理部17は、音声信号をスピーカー172へ与える。音声処理部17は、例えば音声処理用のプロセッサによって実現される。マイク171は、音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部17へ与える。スピーカー172は、音声処理部17から与えられる音声信号を音声に変換して当該音声を端末装置10の外部へ出力する。
【0035】
記憶部180は、例えば、メモリ15、および記憶部16等により実現され、端末装置10が使用するデータ、およびプログラムを記憶する。
【0036】
制御部190は、プロセッサ19が記憶部180に記憶されるアプリケーションプログラム181を読み込み、アプリケーションプログラム181に含まれる命令を実行することにより実現される。制御部190は、端末装置10の動作を制御する。制御部190は、記憶部180に格納されたアプリケーションプログラム181に従って動作することにより、操作受付部191と、送受信部192と、データ処理部193と、提示制御部194としての機能を発揮する。
【0037】
操作受付部191は、入力装置13から入力される指示、または情報を受け付けるための処理を行う。具体的には、例えば、操作受付部191は、キーボード131、マウス132等から入力される指示に基づく情報を受け付ける。
【0038】
また、操作受付部191は、マイク171から入力される音声指示を受け付ける。具体的には、例えば、操作受付部191は、マイク171から入力され、音声処理部17でデジタル信号に変換された音声信号を受信する。操作受付部191は、例えば、受信した音声信号を分析して所定の名詞を抽出することで、ユーザからの指示を取得する。
【0039】
送受信部192は、端末装置10が、サーバ20等の外部の装置と、通信プロトコルに従ってデータを送受信するための処理を行う。具体的には、例えば、送受信部192は、ユーザから入力された業務内容をサーバ20へ送信する。また、送受信部192は、ユーザに関する情報を、サーバ20から受信する。
【0040】
データ処理部193は、端末装置10が入力を受け付けたデータに対し、アプリケーションプログラム181に従って演算を行い、演算結果をメモリ15等に出力する処理を行う。
【0041】
提示制御部194は、サーバ20から提供された情報をユーザに対して提示するため、出力装置14を制御する。具体的には、例えば、提示制御部194は、サーバ20から送信される情報をディスプレイ141に表示させる。また、提示制御部194は、サーバ20から送信される情報をスピーカー172から出力させる。
【0042】
<1.2 サーバ20の機能的な構成>
図3は、サーバ20の機能的な構成の例を示す図である。図3に示すように、サーバ20は、通信部201と、記憶部202と、制御部203としての機能を発揮する。
【0043】
通信部201は、サーバ20が外部の装置と通信するための処理を行う。
【0044】
記憶部202は、例えば、アプリケーションプログラム2021と、ユーザテーブル2022と、仕入先テーブル2023と、原材料テーブル2024と、使用量テーブル2025と、商品テーブル2026と、仕入履歴テーブル2027と、販売履歴テーブル2028等とを有する。
【0045】
制御部203は、サーバ20のプロセッサがプログラムに従って処理を行うことにより、各種モジュールとして示す機能を発揮する。制御部203は、受信制御モジュール2031、送信制御モジュール2032、成分取得モジュール2033、使用量取得モジュール2034、仕入価格取得モジュール2035、価格算出モジュール2036、商品管理モジュール2037、販売管理モジュール2038、としての機能を発揮する。
【0046】
受信制御モジュール2031は、サーバ20が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
【0047】
送信制御モジュール2032は、サーバ20が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。
【0048】
成分取得モジュール2033は、食料品の原材料の成分を示す成分情報を取得する処理を制御する。
具体的には、成分取得モジュール2033は、端末装置10から送信され、受信制御モジュール2031が受け付けた原材料の商品規格書等から、成分情報を取得する。商品規格書は、画像データ、pdfデータ、または、表形式データ等、種々のデータ形式であってもよい。成分取得モジュール2033は、取得した成分情報を、原材料テーブル2024へ記憶する。
例えば、成分取得モジュール2033は、商品規格書から、原材料の栄養成分表示、添加物、アレルゲン、その他ユーザが商品を販売する際に購入者等に対して表示することが求められる成分に関する情報を取得し、原材料テーブル2024へ記憶させてもよい。
例えば、商品規格書が画像データまたはpdf形式のデータである場合、成分取得モジュール2033は、OCR等公知の画像認識技術により商品規格書を読み取ることで、成分情報を示す文字列を取得してもよい。
本開示に係るサービスを提供する事業者は、端末を操作入力することにより、商品規格書に含まれる成分情報を示す内容をサーバ20へ送信してもよい。この場合、成分取得モジュール2033は、当該端末から送信された成分情報を取得する。ユーザは、端末装置10を操作して、商品規格書に含まれる成分情報を示す内容をサーバ20へ送信してもよい。この場合、成分取得モジュール2033は、端末装置10から送信された成分情報を取得する。
成分取得モジュール2033が取得する成分情報は、商品規格書に基づくものに限られない。例えば、成分取得モジュール2033は、文部科学省が管理する食品成分データベース等の、食品の成分を管理する公知のデータベースにおいて管理されている情報を、成分情報として取得してもよい。
【0049】
使用量取得モジュール2034は、食料品の原材料の使用量を取得する処理を制御する。
具体的には、使用量取得モジュール2034は、ユーザが本開示のシステム1において管理を所望する商品(食料品)に含まれる原材料の使用量を、原材料ごとに取得する。使用量取得モジュール2034は、取得した原材料の使用量を、使用量テーブル2025へ記憶する。
例えば、使用量取得モジュール2034は、ユーザによる端末装置10の操作に基づいて、原材料テーブル2024を検索し、ユーザが商品の製造に使用する原材料を取得してもよい。そして、ユーザが入力した使用量と紐づけて、使用量テーブル2025へ当該原材料の情報を記憶してもよい。
例えば、使用量取得モジュール2034は、端末装置10から送信され、受信制御モジュール2031が受け付けた、原材料の名称および使用量が記録された画像データ、pdfデータ、表形式データ等から、原材料の名称および使用量を取得してもよい。例えば、使用量取得モジュール2034は、OCR等公知の画像認識技術により画像データ、pdfデータ等を読み取ることで、原材料の名称および使用量を示す文字列を取得してもよい。
【0050】
仕入価格取得モジュール2035は、原材料の仕入価格を取得する処理を制御する。
具体的には、仕入価格取得モジュール2035は、原材料の請求書に関する情報から、原材料の仕入価格を示す情報を取得する。仕入価格取得モジュール2035は、取得した仕入価格を示す情報を、使用量テーブル2025、仕入履歴テーブル2027へ記憶する。
本実施形態において、「請求書に関する情報」としては、例えば、請求書の紙面を撮影した画像データ、請求書の紙面をスキャンしたpdfデータ、請求書の内容を表形式で表したデータ等が挙げられる。例えば、請求書に関する情報が、画像データまたはpdf形式のデータである場合、仕入価格取得モジュール2035は、例えば、公知の画像処理技術により当該画像データ等から文字列を読み取る。
本実施形態において、「仕入価格を示す情報」は、例えば、原材料名と、仕入元と、仕入先と、仕入価格と、仕入量と、請求日時とを含んでもよい。仕入価格取得モジュール2035は、取得した仕入価格を示す情報を、原材料テーブル2024および/または仕入履歴テーブル2027に記憶させる。
「請求書に関する情報」は、例えば、本開示に係るサービスを提供する事業者が入力する情報であってもよい。本開示に係るサービスを提供する事業者は、所定の端末を操作入力することにより、請求書に関する情報を入力する。当該端末は、入力された情報をサーバ20へ送信する。仕入価格取得モジュール2035は、当該端末から送信された請求書に関する情報を、使用量テーブル2025、仕入履歴テーブル2027に記憶する。
【0051】
価格算出モジュール2036は、商品の価格を算出する処理を制御する。
具体的には、価格算出モジュール2036は、使用量取得モジュール2034が取得した原材料の使用量と、仕入価格取得モジュール2035が取得した原材料の仕入価格に基づいて、商品の原価を算出する。価格算出モジュール2036は、算出した商品の原価と、所定の利益率または所定の計算式に基づいて、商品の推奨販売価格を算出する。
価格算出モジュール2036は、商品を販売する時間帯ごとに複数の推奨販売価格を算出してもよい。例えば、価格算出モジュール2036は、10時~17時と17時~19時とで異なる推奨販売価格を算出してもよい。
価格算出モジュール2036は、販売履歴テーブル2028に記憶される販売実績に基づいて、推奨販売価格を設定してもよい。具体的には、価格算出モジュール2036は、所定の期間内における商品の売上または販売個数に応じて、推奨販売価格を設定してもよい。例えば、価格算出モジュール2036は、所定期間(例えば、1週間)の売上がユーザの定めた売上以上である場合、推奨販売価格を所定の割合(例えば、10%)増加させてもよい。価格算出モジュール2036は、所定期間(例えば、1週間)の売上がユーザの定めた売上以下である場合、推奨販売価格を所定の割合(例えば、10%)減少させてもよい。価格算出モジュール2036は、毎日の所定の時刻(例えば、17時)までの売上がユーザの定めた売上以下である場合、当該時刻(17時)以降の推奨販売価格を所定の割合(例えば、20%)減少させてもよい。
【0052】
商品管理モジュール2037は、商品情報を管理する処理を制御する。
具体的には、商品管理モジュール2037は、商品の成分情報、商品の販売状況、商品の販売価格を管理する。
例えば、商品管理モジュール2037は、各商品について、成分取得モジュール2033が取得した成分情報と、使用量取得モジュール2034が取得した原材料の使用量とに基づいて、商品の成分情報を作成し、商品テーブル2026に記憶する。
例えば、端末装置10を介したユーザの選択入力に応じて、商品管理モジュール2037は、各商品の販売の有無を取得し、商品テーブル2026に記憶する。
例えば、ユーザが端末装置10を介して商品の販売価格を入力すると、商品管理モジュール2037は、当該販売価格を商品テーブル2026に記憶する。
【0053】
販売管理モジュール2038は、商品の販売履歴を管理する処理を制御する。
具体的には、販売管理モジュール2038は、ユーザが販売している商品について、購入者が商品を購入した価格および日時を管理する。
例えば、販売管理モジュール2038は、ユーザが販売している商品を購入者が購入した価格、購入者が購入した日時を、例えば外部のサーバから取得し、販売履歴テーブル2028に記憶する。なお、本開示に係るサービスの提供者が、商品の取り置きサービスなどの、購入者が商品を購入した日時と購入者が商品を受け取った日時とが異なるサービスを提供している場合、販売管理モジュール2038は、購入者が商品を購入した日時に加えて、購入者が商品を受け取った日時を販売履歴テーブル2028に記憶させてもよい。
【0054】
<2 データ構造>
図4図10は、サーバ20が記憶するデータベースのデータ構造を示す図である。なお、図4図10は一例であり、記載されていないデータを除外するものではない。
【0055】
図4図10に示すデータベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブルと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル同士の関係を設定し、関連づけることができる。
【0056】
通常、各テーブルにはレコードを一意に特定するための主キーとなるカラムが設定されるが、カラムへの主キーの設定は必須ではない。サーバ20の制御部203は、各種プログラムに従ってプロセッサ29に、記憶部202に記憶された特定のテーブルにレコードを追加、削除、更新を実行させることができる。
【0057】
図4は、ユーザテーブル2022のデータ構造を示す図である。図4に示すように、ユーザテーブル2022は、項目「ユーザID」と、項目「ユーザ名」と、を含む。
【0058】
項目「ユーザID」は、ユーザを識別するためのIDを示す。
【0059】
項目「ユーザ名」は、ユーザの名称を示す。ユーザ名は、ユーザの氏名、ニックネーム、店名など、任意の文字列を設定してもよい。
【0060】
図5は、仕入先テーブル2023のデータ構造を示す図である。図5に示すように、仕入先テーブル2023は、項目「仕入先ID」と、項目「仕入先名」と、を含む。
【0061】
項目「仕入先ID」は、仕入先を識別するためのIDを示す。識別情報は、仕入先ごとにユニークな値が設定されている項目である。
【0062】
項目「仕入先名」は、仕入先の名称を示す。仕入先名は、仕入先の店名など、任意の文字列を設定してもよい。
【0063】
図6は、原材料テーブル2024のデータ構造を示す図である。図6に示すように、原材料テーブル2024は、項目「原材料ID」と、項目「原材料名」と、項目「栄養成分」と、項目「補足情報」と、を含む。原材料テーブル2024には、原材料のメーカー名、原産地、製造地等を記憶する項目が含まれていてもよい。
【0064】
項目「原材料ID」は、原材料を識別するためのIDを示す。
【0065】
項目「原材料名」は、原材料の名称を示す。
例えば、項目「原材料名」には、当該原材料を製造するメーカーまたは当該原材料を販売する仕入先により定められた原材料の商品名が記憶される。
【0066】
項目「栄養成分」は、原材料に含まれる栄養成分を示す。
例えば、項目「栄養成分」に記憶される情報は、所定単位当たりの原材料における1種類以上の栄養成分の含有量を含んでもよく、例えば以下の情報を含んでもよい。
・所定単位当たりの原材料に含まれる所定の栄養成分の含有量(例えば、熱量(kcal)、たんぱく質(g)、脂質(g)炭水化物(g)、塩分相当量(g)等)
【0067】
項目「補足情報」は、原材料に含まれる所定の成分の情報を示す。
例えば、項目「補足情報」に記憶される情報は、以下の情報を含んでもよい。
・原材料が食品衛生法等の法律等により定められる特定の原材料または特定の原材料に準ずる原材料である旨を示す情報
・原材料に含まれる添加物の種類
・原材料に含まれるアレルゲン
・その他、原材料に含まれる、ユーザが商品を販売する際に購入者等に対して表示することが求められる成分に関する情報
【0068】
図7は、使用量テーブル2025のデータ構造を示す図である。図7に示すように、使用量テーブル2025は、項目「商品ID」と、項目「原材料ID」と、項目「ユーザID」と、項目「使用量」と、項目「原価」と、項目「栄養成分」と、項目「補足情報」と、を含む。
【0069】
項目「商品ID」は、商品を識別するためのIDを示す。
【0070】
項目「原材料ID」は、原材料を識別するためのIDを示す。
【0071】
項目「ユーザID」は、ユーザを識別するためのIDを示す。
【0072】
項目「使用量」は、商品に含まれる各原材料の使用量を示す。
例えば、項目「使用量」には、所定単位(例えば、個、斤など)当たりの商品に含まれる原材料の使用量が記憶される。
【0073】
項目「原価」は、使用量当たりの原材料の原価を示す。
例えば、項目「原価」には、所定単位(例えば、個、斤など)当たりの商品に含まれる原材料の原価が記憶される。
【0074】
項目「栄養成分」は、商品IDにより識別される商品において、原材料IDにより識別される原材料に含まれる栄養成分を示す。
例えば、項目「栄養成分」に記憶される情報は、所定単位当たりの当該商品における当該原材料に含まれる1種類以上の栄養成分の含有量を含んでもよく、例えば以下の情報を含んでもよい。
・所定単位の商品において、原材料IDにより識別される原材料に含まれる所定の栄養成分の含有量(例えば、熱量(kcal)、たんぱく質(g)、脂質(g)炭水化物(g)、塩分相当量(g)等)
【0075】
項目「補足情報」は、商品IDにより識別される商品において、原材料IDにより識別される原材料に含まれる所定の成分の情報を示す。
例えば、項目「補足情報」に記憶される情報は、以下の情報を含んでもよい。
・原材料が食品衛生法等の法律等により定められる特定の原材料または特定の原材料に準ずる原材料である旨を示す情報
・原材料に含まれる添加物の種類
・原材料に含まれるアレルゲン
・その他、原材料に含まれる、ユーザが商品を販売する際に購入者等に対して表示することが求められる成分に関する情報
【0076】
図8は、商品テーブル2026のデータ構造を示す図である。図8に示すように、商品テーブル2026は、項目「商品ID」と、項目「商品名」と、項目「ユーザID」と、項目「栄養成分」と、項目「補足情報」と、項目「原価」と、項目「利益率」と、項目「推奨販売価格」と、項目「販売価格」と、項目「ブックマーク」と、項目「販売フラグ」と、を含む。なお、商品テーブル2026は、現在の原価と過去の原価とを、区別して記憶してもよい。また、商品テーブル2026は、現在の原価と過去の原価との差分を記憶してもよい。商品テーブル2026は、販売価格と原価とから算出される現状の利益率を記憶してもよい。
【0077】
項目「商品ID」は、商品を識別するためのIDを示す。
【0078】
項目「商品名」は、商品の名称を示す。
【0079】
項目「ユーザID」は、ユーザを識別するためのIDを示す。
【0080】
項目「栄養成分」は、商品に含まれる栄養成分を示す。
例えば、項目「栄養成分」に記憶される情報は、所定単位当たりの当該商品に含まれる1種類以上の栄養成分の含有量を含んでもよく、例えば以下の情報を含んでもよい。
・所定単位の商品に含まれる所定の栄養成分の含有量(例えば、熱量(kcal)、たんぱく質(g)、脂質(g)炭水化物(g)、塩分相当量(g)等)
【0081】
項目「補足情報」は、商品に含まれる所定の成分の情報を示す。
例えば、項目「補足情報」に記憶される情報は、以下の情報を含んでもよい。
・商品が食品衛生法等の法律等により定められる特定の原材料または特定の原材料に準ずる原材料を含む旨を示す情報
・商品に含まれる添加物の種類
・商品に含まれるアレルゲン
・その他、商品に含まれる、ユーザが商品を販売する際に購入者等に対して表示することが求められる成分に関する情報
【0082】
以下の説明では、項目「栄養成分」および項目「補足情報」に記憶される情報を含む情報を、「成分情報」と称することがある。
【0083】
項目「原価」は、商品の原価を示す。
例えば、項目「原価」には、所定単位(例えば、個、斤など)当たりの商品の原価が記憶される。
【0084】
項目「利益率」は、ユーザが商品を販売する場合に目標とする利益率を示す。項目「利益率」の値は、ユーザが自由に設定することができてもよい。
【0085】
項目「推奨販売価格」は、商品を販売する場合の推奨販売価格を示す。項目「推奨販売価格」には、複数の値が記憶されてもよい。例えば、当該商品が販売される時間帯、個数等に応じて、異なる推奨販売価格が記憶されてもよい。
【0086】
項目「販売価格」は、ユーザが商品を実際に販売する価格を示す。項目「販売価格」には、複数の値が記憶されてもよい。例えば、当該商品が販売される時間帯、個数等に応じて、異なる販売価格が記憶されてもよい。
例えば、項目「販売価格」には、ユーザが入力した値が記憶されてもよいし、同じレコードの項目「推奨販売価格」の値と同じ値が記憶されてもよい。
【0087】
項目「ブックマーク」は、ユーザによる商品の選択入力がされたか否かを識別するための情報を示す。
例えば、項目「ブックマーク」には、ユーザが選択入力した商品に対しては、TRUEなど商品がユーザの選択入力の対象であることを示す情報が記憶され、ユーザが選択入力していない商品に対しては、FALSEなど商品がユーザの選択入力の対象でないことを示す情報が記憶される。
項目「ブックマーク」に関して、制御部203は、商品の情報に対するユーザの選択入力を受け付けるステップを実行してもよい。具体的には、例えば、ユーザは、端末装置10の入力装置13を操作し、商品テーブル2026に含まれる商品の情報のうち所定の商品の情報を選択入力することにより、当該商品IDのレコードの項目「ブックマーク」に記憶する値(TRUE、FALSE等)をサーバ20へ送信してもよい。
【0088】
項目「販売フラグ」は、ユーザが商品の販売を行うか否かを識別するための情報を示す。
例えば、項目「販売フラグ」には、ユーザが販売を行う商品に対しては、TRUEなど商品が販売の対象であることを示す情報が記憶され、ユーザが販売を行わない商品に対しては、FALSEなど商品が販売の対象でないことを示す情報が記憶される。
項目「販売フラグ」に関して、制御部203は、商品のうち、ユーザが現在販売している食料品を、対象となる商品として特定するステップを実行してもよい。具体的には、例えば、ユーザは、端末装置10の入力装置13を操作し、商品テーブル2026に含まれる商品の情報のうち所定の商品の情報を選択入力することにより、当該商品IDのレコードの項目「販売フラグ」に記憶する値(TRUE、FALSE等)をサーバ20へ送信してもよい。
【0089】
図9は、仕入履歴テーブル2027のデータ構造を示す図である。図9に示すように、仕入履歴テーブル2027は、項目「仕入ID」と、項目「原材料ID」と、項目「ユーザID」と、項目「仕入先ID」と、項目「仕入価格」と、項目「仕入量」と、項目「単位」と、項目「単価」と、項目「請求日時」と、を含む。
【0090】
項目「仕入ID」は、ユーザによる原材料の仕入を識別するためのIDを示す。
【0091】
項目「原材料ID」は、原材料を識別するためのIDを示す。
【0092】
項目「ユーザID」は、ユーザを識別するためのIDを示す。
【0093】
項目「仕入先ID」は、仕入先を識別するためのIDを示す。
【0094】
項目「仕入価格」は、仕入IDにより識別される仕入において、原材料IDにより識別される原材料の仕入価格を示す。
例えば、項目「仕入価格」には、仕入先からユーザに送付される請求書に記録される、原材料ごとに区別された請求額を示す情報が記憶される。
【0095】
項目「仕入量」は、仕入IDにより識別される仕入において、原材料IDにより識別される原材料の仕入量を示す。
例えば、項目「仕入量」には、仕入先からユーザに送付される請求書に記録される、原材料ごとの仕入量を示す情報が記憶される。
【0096】
項目「単位」は、項目「仕入量」に記憶される値の単位を示す。
例えば、項目「単位」には、「g」、「L」、「個」など原材料の種類に応じた仕入量の単位を示す情報が記憶される。
【0097】
項目「単価」は、原材料の単価を示す。
例えば、項目「単価」には、所定の単位当たりの原材料の仕入価格を示す情報が記憶される。
【0098】
項目「請求日時」は、仕入先からユーザに代金が請求された日時を示す。
例えば、項目「請求日時」には、仕入先からユーザに送付された請求書に記録された請求日を示す情報が記憶される。
【0099】
図10は、販売履歴テーブル2028のデータ構造を示す図である。図10に示すように、販売履歴テーブル2028は、項目「販売ID」と、項目「商品ID」と、項目「販売価格」と、項目「販売日時」と、項目「受取日時」と、を含む。
【0100】
項目「販売ID」は、販売実績を識別するためのIDを示す。
【0101】
項目「商品ID」は、商品を識別するためのIDを示す。
【0102】
項目「販売価格」は、ユーザが商品を実際に販売する価格を示す。
【0103】
項目「販売日時」は、ユーザが販売する商品を購入する購入者に、当該商品を販売した日時を示す。
例えば、項目「販売日時」には、購入者が所定の端末を操作して商品の購入を確定した日時、購入者が所定の端末を操作して商品の代金を決済した日時、POSに記憶される商品の販売日時などが記憶されてもよい。項目「販売日時」には、ユーザが端末装置10の入力装置13を操作し入力した値が記憶されてもよい。
【0104】
項目「受取日時」は、ユーザが販売する商品を購入する購入者が、当該商品を受け取った日時を示す。
例えば、項目「受取日時」には、購入者が所定の端末を操作して商品の受取を確認した日時、ユーザが所定の端末を操作して商品の受け取りを確認した日時などが記憶される。項目「受取日時」には、ユーザが端末装置10の入力装置13を操作し入力した値が記憶されてもよい。
【0105】
<3 動作例>
以下、サーバ20の動作の一例について説明する。
【0106】
図11は、サーバ20の動作の一例を表すフローチャートである。図11は、商品に含まれる原材料の使用量と、原材料の成分情報と、原材料の仕入価格とに基づいて、商品の成分情報と、商品の原価と、商品の推奨販売価格を算出する際の動作を示すフローチャートである。図11のフローチャートは、例えば、サーバ20が、ユーザが販売する商品の情報を新たに登録し、登録した情報を管理する場合が想定されている。
【0107】
まず、ユーザは、例えば、端末装置10の入力装置13を操作することにより、ユーザID、商品名、商品に含まれる複数の原材料の原材料ID、所定単位(例えば1個)あたりの商品における当該原材料の使用量を含む情報を、原材料IDごとにサーバ20へ送信する。
【0108】
ステップS101において、制御部203は、商品に含まれる原材料の使用量を取得する。
具体的には、例えば、制御部203は、使用量取得モジュール2034により、商品に含まれる原材料の原材料名および所定単位あたりの商品における原材料の使用量を含む情報を取得する。制御部203は、受け付けた原材料ID、ユーザID、使用量を、原材料IDごとに、使用量テーブル2025の新しいレコードに記憶する。制御部203は、受け付けた商品名を、商品テーブル2026の新しいレコードに記憶する。使用量テーブル2025の新しいレコードには、同一の商品IDが記憶される。
【0109】
ステップS102において、制御部203は、商品の原材料の使用量と、原材料の成分情報とに基づいて、商品の成分情報を作成する。
具体的には、制御部203は、商品管理モジュール2037により、商品に含まれる各原材料の使用量、商品に含まれる各原材料の成分情報に基づいて、商品の成分情報を作成し、商品テーブル2026に記憶する。
【0110】
(栄養成分の記憶)
例えば、制御部203は、商品管理モジュール2037により、ステップS101において取得した原材料IDに基づいて原材料テーブル2024を検索し、該当するレコードの栄養成分の項目の値(例えば、熱量、たんぱく質、脂質、炭水化物、塩分相当量等)を、原材料IDごとに取得する。制御部203は、原材料IDごとに取得した栄養成分の値に、ステップS101において取得した使用量をそれぞれ乗算する。制御部203は、使用量テーブル2025における、ステップS101において追加した新しいレコードの栄養成分の項目に、計算結果を記憶する。
制御部203は、各原材料における栄養成分の計算結果を栄養成分の種別ごとに合計し、合計の結果を、商品テーブル2026における、ステップS101において追加した新しいレコードの栄養成分の項目に記憶する。
【0111】
(補足情報の記憶)
例えば、制御部203は、商品管理モジュール2037により、ステップS101において取得した複数の原材料IDに基づいて原材料テーブル2024を検索し、該当するレコードすべての補足情報を取得し、結合する。具体的には、例えば、制御部203は、検索に該当するレコードすべての補足情報の項目に含まれる文字列要素のリストを結合する。制御部203は、リストの結合を行う際、重複する文字列の要素を削除してもよい。制御部203は、リストを結合した結果を、商品テーブル2026における、ステップS101において追加した新しいレコードの補足情報の項目に記憶する。
【0112】
ステップS103において、制御部203は、ユーザと仕入先との間の取引に基づき、原材料の仕入価格を取得する。
具体的には、制御部203は、ユーザと仕入先との間の原材料の取引における、原材料の最新の単価を、原材料ごとに取得する。
例えば、制御部203は、商品管理モジュール2037により、ステップS101において受け付けたユーザIDおよび原材料IDに基づいて、仕入履歴テーブル2027を検索する。制御部203は、該当するレコードのうち請求日時が最も新しいレコードにおける単価の項目の値を取得する処理を行う。制御部203は、原材料IDごとに当該処理を行い、原材料IDごとに最新の単価を取得する。
【0113】
ステップS104において、制御部203は、原材料の使用量と、原材料の仕入価格とに基づいて、食料品の原価を算出する。
まず、制御部203は、所定単位(例えば、1個、1斤など)の商品に含まれる原材料の原価を、原材料ごとに算出する。具体的には、例えば、制御部203は、価格算出モジュール2036により、使用量テーブル2025における、ステップS101において追加した新しいレコードについて、原材料IDごとに使用量と最新の単価とを乗算し、乗算の結果を原価の項目に記憶する。
【0114】
次に、制御部203は、価格算出モジュール2036により、所定単位の商品当たりに含まれる原材料の原価を、商品に含まれるすべての原材料について合計することで、食料品の原価を算出する。具体的には、例えば、制御部203は、ステップS103において原材料IDごとに算出した乗算結果を合計することで、商品の原価を算出する。制御部203は、算出した原価を、商品テーブル2026における、ステップS101において追加した新しいレコードの原価の項目に記憶する。
【0115】
ステップS105において、制御部203は、商品の原価に基づいて、商品の推奨販売価格を算出する。
具体的には、制御部203は、価格算出モジュール2036により、商品の原価と、所定の利益率とに基づいて、商品の推奨販売価格を算出する。なお、利益率は、予めユーザにより設定され、商品テーブル2026に記憶されている。
例えば、制御部203は、当該レコードに記憶されている原価を、(1-利益率)の値で除算することで、推奨販売価格を算出する。例えば、原価が40円で、利益率が80%の場合、推奨販売価格は40÷(1-0.8)=200円となる。制御部203は、算出した推奨販売価格を、商品テーブル2026に記憶する。
【0116】
図11に示す処理が終了した後、ユーザは、商品の情報を閲覧したい場合、端末装置10の入力装置13を操作し、商品の情報を提示するリクエストを当該商品の商品IDとともにサーバ20へ送信する。制御部203は、受信制御モジュール2031により、当該リクエストを受け付ける。
【0117】
次に、制御部203は、商品情報をユーザに提示する。
制御部203は、例えば以下のように、商品の原価、推奨販売価格、成分情報の少なくともいずれかを含む商品情報を、ユーザに提示する。なお、制御部203は、ユーザにより要求された情報のみを提示してもよい。
【0118】
(商品の原価の提示)
例えば、制御部203は、商品管理モジュール2037により、当該商品IDに基づいて商品テーブル2026を検索し、当該商品の原価を取得する。制御部203は、当該商品の原価を、端末装置10のディスプレイ141等を介してユーザに提示する。
【0119】
(商品の推奨販売価格の提示)
例えば、制御部203は、商品管理モジュール2037により、当該商品IDに基づいて商品テーブル2026を検索し、当該商品の推奨販売価格を取得する。制御部203は、当該商品の推奨販売価格を、端末装置10のディスプレイ141等を介してユーザに提示する。
【0120】
(商品の成分情報の提示)
例えば、制御部203は、当該商品IDに基づいて商品テーブル2026を検索し、該当するレコードの栄養成分、補足情報を含む成分情報を、端末装置10のディスプレイ141等を介してユーザに表示する。この際、制御部203は、食品表示法に基づく栄養成分表示のガイドラインに沿った態様で、端末装置10のディスプレイ141等に、成分情報を提示してもよい。
【0121】
なお、制御部203は、商品の原価、推奨販売価格、成分情報の他に、記憶部202に記憶されている種々の情報をユーザに提示してもよい。例えば、制御部203は、使用量テーブル2025に記憶されている原材料の使用量、原価、商品テーブル2026に記憶されている利益率等の情報を、ユーザに提示してもよい。
【0122】
上記の例では、図11に示す処理は、ユーザが商品名等の情報をサーバ20へ送信することにより開始されていたが、当該処理はこれを契機とすることなく開始されてもよい。例えば、制御部203が受信制御モジュール2031により受け付けた情報は、使用量取得モジュール2034等により処理されずに記憶部202に記憶されていてもよい。そして、サーバ20が、ユーザによる当該商品の情報を提示するリクエストを受け付けたことを契機として、当該処理が実行されてもよい。この場合、ステップS105の後に、ユーザに対して商品の情報が提示される。
【0123】
上記の例では、ステップS103において、制御部203は、ユーザIDおよび原材料IDに基づいて、仕入履歴テーブル2027を検索していた。制御部203は、原材料IDのみに基づいて、仕入履歴テーブル2027を検索してもよい。
【0124】
制御部203は、複数のユーザの仕入履歴を取得し、仕入履歴テーブル2027に記憶する場合がある。つまり、第1ユーザが今まで仕入れたことがない原材料であって、第2ユーザが仕入れたことがある原材料の仕入履歴が、仕入履歴テーブル2027に記憶されている場合がある。したがって、制御部203が原材料IDのみに基づいて仕入履歴テーブル2027を検索することにより、第1ユーザ自身が当該原材料を仕入れていなくとも、制御部203は、例えば第2ユーザの仕入履歴から、当該商品単価を取得することができる。
【0125】
したがって、第1ユーザが、他のユーザ(例えば第2ユーザ)が仕入れている原材料を用いた商品を考案した場合に、第1ユーザ自身が当該原材料を仕入れていなくとも、当該商品の原価を把握することが可能となる。
【0126】
図12は、サーバ20の動作の他の例を表すフローチャートである。図12は、サーバ20が、商品の推奨販売価格をユーザに提示する際の動作を示すフローチャートである。図12のフローチャートは、ユーザが、商品の売れ行きに応じて販売価格の調整を行う場合が想定されている。
【0127】
図12に示す処理を実行するためには、予め、商品が実際に販売された販売履歴が販売履歴テーブル2028に記憶されている必要がある。販売履歴を販売履歴テーブル2028に記憶するために必要な各処理を、以下に説明する。
【0128】
(販売価格の決定)
まず、ユーザは、端末装置10の入力装置13を操作することにより、商品の販売価格を示す情報を、商品IDとともにサーバ20へ送信する。制御部203は、受信制御モジュール2031により、当該情報を受け付ける。
【0129】
そして、制御部203は、商品の販売価格を決定する。
具体的には、例えば、制御部203は、商品管理モジュール2037により、受け付けた販売価格を、商品テーブル2026における当該商品IDのレコードの販売価格の項目に記憶する。なお、制御部203は、ユーザの操作入力に応じて、推奨販売価格の項目に記憶される値を、同じレコードの販売価格の項目に記憶させてもよい。
【0130】
(販売する商品の決定)
ユーザは、端末装置10の入力装置13を操作することにより、ユーザが販売の対象とする商品の商品IDを選択する。制御部203は、受信制御モジュール2031により、当該選択を受け付ける。
【0131】
そして、制御部203は、商品のうち、ユーザによる販売の対象である商品を、対象となる商品として特定する。
具体的には、制御部203は、受け付けたユーザの選択に応じて、当該ユーザが販売の対象とする商品を特定する。
例えば、商品管理モジュール2037により、商品テーブル2026における当該商品IDのレコードの販売フラグの項目に、「TRUE」の値を記憶する。制御部203は、送信制御モジュール2032により、商品テーブル2026において販売フラグが「TRUE」であるレコードの商品ID、商品名、ユーザID、販売価格等を含む情報を、商品の販売サービスを提供する外部サーバに送信する。
【0132】
(販売履歴の受付)
制御部203は、所定のタイミングで、商品が販売された履歴を取得する。
具体的には、制御部203は、販売管理モジュール2038により、ユーザが販売する商品が購入者へ販売された際の商品の販売日時を含む情報を取得する。
例えば、制御部203は、販売管理モジュール2038により、商品ID、商品を購入者が購入した際の商品の販売価格、購入者への商品の販売日時等を、外部サーバから取得する。制御部203は、これに加えて、購入者による商品の受取日時を外部サーバから取得してもよい。制御部203は、取得した情報を、販売履歴テーブル2028の新しいレコードに記憶する。制御部203は、例えば、1日ごとに、商品が販売された履歴を取得してもよい。
【0133】
以上の処理により、販売履歴テーブル2028に商品の販売履歴が記憶される。図12に示す処理は、ユーザによる推奨販売価格の閲覧リクエストにより開始される。具体的には、ユーザは、推奨販売価格を閲覧したい場合、端末装置10の入力装置13を操作し、推奨販売価格を提示するリクエストを当該商品の商品IDとともにサーバ20へ送信する。制御部203は、受信制御モジュール2031により、当該リクエストを受け付ける。
【0134】
ステップS201において、制御部203は、販売履歴に基づいて、推奨販売価格を算出する。
具体的には、制御部203は、価格算出モジュール2036により、商品を購入者が購入した際の商品の販売日時、販売価格、受取日時の少なくともいずれかに基づいて、商品の推奨販売価格を算出する。
例えば、制御部203は、所定の期間を指定して、販売履歴テーブル2028の販売日時のカラムを検索し、該当するレコード数の合計、または、該当するレコードの販売価格の合計を、商品IDごとに取得する。ここで、レコードの数の合計は、当該所定の期間に購入された商品の個数と等しくなる。
例えば、制御部203は、ユーザが、予め、端末装置10の入力装置13を操作することによりサーバ20へ送信した販売個数または販売価格の目標値と、販売履歴テーブル2028から取得した所定期間における販売個数または販売価格とを比較してもよい。例えば、販売価格の合計が、販売価格の目標値より大きい場合、制御部203は、商品テーブル2026において当該商品IDによって特定される推奨販売価格の値を、所定の割合増加させてもよい。また、例えば、販売価格の合計が、販売価格の目標値より小さい場合、制御部203は、当該推奨販売価格を、所定の割合減少させてもよい。
制御部203は、算出した推奨販売価格を、商品テーブル2026における当該商品IDのレコードの推奨販売価格の項目に記憶する。
この際、制御部203は、商品テーブル2026における当該商品IDのレコードの推奨販売価格の項目に記憶されていた値と、新たに記憶する推奨販売価格の値との差分を取得し、記憶部202に記憶してもよい。
【0135】
ステップS201において、制御部203は、販売日時のカラムの代わりに、受取日時のカラムを、所定の期間を指定して検索し、本ステップと同様の処理を実行してもよい。
【0136】
ステップS202において、制御部203は、ステップS201において算出した推奨販売価格をユーザに提示する。
具体的には、例えば、ステップS201において算出した推奨販売価格を示す情報を、端末装置10のディスプレイ141等を介してユーザに提示する。
制御部203は、ステップS201において取得した推奨販売価格の差分を、ユーザに提示してもよい。
【0137】
なお、制御部203は、ユーザからのリクエストを受け付けることなく、推奨販売価格が算出されたことをユーザに通知してもよい。
例えば、制御部203は、ステップS201において推奨販売価格を記憶したレコードのユーザIDに該当するユーザに対し、当該レコードの商品IDによって特定される商品の推奨販売価格が算出されたことを、端末装置10のディスプレイ141、スピーカー172等を介してユーザに通知してもよい。
制御部203は、ステップS201において取得した推奨販売価格の差分を、ユーザに通知してもよい。
制御部203は、商品テーブル2026の当該レコードにおいて、ブックマークの項目および販売フラグの項目の少なくともいずれかが「TRUE」だった場合のみ、ユーザに当該通知を行うこととしてもよい。
【0138】
図13は、サーバ20の動作の一例を表すフローチャートである。図13は、サーバ20が、商品の推奨販売価格をユーザに提示する際の他の動作を示すフローチャートである。図13のフローチャートは、例えば、原材料の仕入価格が変動する影響で、ユーザが販売する商品の原価が変動する場合が想定されている。
【0139】
まず、ユーザは、端末装置10を操作することにより、ユーザと仕入先との間の取引における請求書の内容が記録された画像データ(請求書データ)をサーバ20へ送信する。制御部203は、受信制御モジュール2031により、画像データを受け付ける。制御部203は、受け付けた画像データを所定の端末へ送信する。本実施形態のサービス提供者は、当該端末を操作することにより、当該画像データに記録されているユーザ名、仕入先名、原材料名、仕入価格、仕入量、単位、請求日時等の情報を、サーバ20へ送信する。制御部203は、受信制御モジュール2031により、ユーザ名、仕入先名、原材料名、仕入価格、仕入量、単位、請求日時等の情報を受け付ける。
【0140】
ステップS301において、制御部203は、ユーザと仕入先との間の取引に基づき、原材料の仕入価格を取得する。
具体的には、例えば、制御部203は、当該端末から送信された情報を受け付けると、ユーザ名に基づいてユーザテーブル2022を検索し、該当するユーザIDを取得する。制御部203は、仕入先名に基づいて仕入先テーブル2023を検索し、仕入先IDを取得する。制御部203は、原材料名に基づいて仕入履歴テーブル2027を検索し、原材料IDを取得する。仕入履歴テーブル2027に該当する原材料名が存在しなかった場合、制御部203は、当該原材料名に対して新しい原材料IDを付与する。
【0141】
ステップS301において、制御部203は、価格算出モジュール2036により、仕入価格を仕入量で除算することで、原材料の単価を算出する。制御部203は、商品管理モジュール2037により、仕入履歴テーブル2027の新しいレコードに、原材料ID、ユーザID、仕入先ID、原材料名、仕入価格、仕入量、単位、単価、請求日時の情報を、それぞれ記憶する。
【0142】
ステップS302において、制御部203は、ステップS301において仕入価格を取得した原材料が使用されている商品について、原材料の原価を変更する。
具体的には、例えば、制御部203は、ステップS301において取得した原材料ID、ユーザIDに基づいて使用量テーブル2025を検索する。制御部203は、該当するレコードの使用量の値とステップS301で算出した単価とを乗算した値を、当該レコードの原価の項目に記憶する。
制御部203は、当該項目に既に記憶されていた原価を取得し、記憶部202に記憶してもよい。制御部203は、当該項目に既に記憶されていた原価と、本ステップにおいて算出した新たな原価との差分を取得し、記憶部202に記憶してもよい。
【0143】
ステップS302において、制御部203は、原材料の使用量と、仕入価格とに基づいて、商品の原価を算出する。
具体的には、例えば、制御部203は、価格算出モジュール2036により、新たな原価を記憶したレコードと同じ商品IDを有するレコードを特定し、各レコードの原価の項目の値を合計する。制御部203は、当該商品IDに基づいて商品テーブル2026を検索し、該当するレコードの原価の項目に合計の結果を記憶する。
【0144】
ユーザは、商品の情報を閲覧したい場合、端末装置10の入力装置13を操作し、商品の情報を提示するリクエストを当該商品の商品IDとともにサーバ20へ送信する。制御部203は、受信制御モジュール2031により、当該リクエストを受け付ける。
【0145】
ステップS303において、制御部203は、商品の原価をユーザに提示する。
具体的には、例えば、制御部203は、商品管理モジュール2037により、当該商品IDに基づいて商品テーブル2026を検索する。制御部203は、当該商品IDのレコードの原価の値を取得し、端末装置10のディスプレイ141等を介してユーザに提示する。
【0146】
ステップS304において、制御部203は、原価に基づいて、商品の推奨販売価格を算出し、ユーザに提示する。
具体的には、例えば、制御部203は、商品テーブル2026における、ステップS302において検索したレコードに記憶されている原価と利益率とを乗算し、推奨販売価格を算出する。制御部203は、算出した推奨販売価格を推奨販売価格の項目に記憶する。制御部203は、送信制御モジュール2032により、当該商品の推奨販売価格を、端末装置10のディスプレイ141等を介してユーザに提示する。
【0147】
(過去の原価と新たな原価との比較)
なお、上記の例では、図13に示す処理は、サーバ20が、請求書の内容が記録されたデータを受け付ける度に繰り返される。つまり、制御部203は、所定のタイミング(制御部203が請求書データを受け付けるタイミング)で原材料の使用量を取得し、原材料の仕入価格を取得し、取得した使用量と仕入価格とに基づいて、商品の原価を新たに算出する。
【0148】
この場合、ステップS302において、商品テーブル2026の原価の項目に、過去の商品の原価が既に記憶されていることとなる。制御部203は、過去の原価(先に算出された原価)と新たな原価(新たに算出された原価)との差分を取得し、記憶部202に記憶してもよい。
【0149】
そして、制御部203は、ステップS302において取得した過去の原価、および過去の原価と新たな原価との差分の少なくともいずれかを、端末装置10のディスプレイ141等を介してユーザに提示してもよい。
【0150】
さらに、ステップS303において、制御部203は、新たに算出された原価が先に算出された原価と異なる場合、食料品の原価が変更されたことを、ユーザからのリクエストを受け付けることなく通知してもよい。
例えば、制御部203は、商品テーブル2026における、ステップS302において検索したレコードにおけるユーザIDに該当するユーザに対し、当該レコードの商品の原価が変更されたことを、端末装置10のディスプレイ141、スピーカー172等を介してユーザに通知してもよい。
制御部203は、商品テーブル2026における、ステップS302において検索したレコードにおいて、ブックマークの項目および販売フラグの項目の少なくともいずれかが「TRUE」だった場合のみ、ユーザに当該通知を行うこととしてもよい。
【0151】
(処理の開始のタイミング)
上記の例では、図13に示す処理は、制御部203が、受信制御モジュール2031により、ユーザ名、仕入先名、原材料名、仕入価格、仕入量、単位、請求日時等の情報を受け付けることにより開始されている。これにより、常に最新の商品の原価および推奨販売価格が、商品テーブル2026に記憶される。したがって、過去の原価と新たな原価との比較を適切に比較し、ユーザに提示または通知することができる。
【0152】
なお、受信制御モジュール2031により、ユーザ名、仕入先名、原材料名、仕入価格、仕入量、単位、請求日時等の情報を受け付けることにより開始されなくてもよい。例えば、制御部203が受信制御モジュール2031により受け付けた情報は、価格算出モジュール2036等により処理されずに記憶部202に記憶されていてもよい。そして、制御部203は、所定のタイミング(例えば、1週間ごと)に、図13に示す処理を繰り返してもよい。これによっても、所定のタイミングごとに最新の商品の原価および推奨販売価格が商品テーブル2026に記憶されるため、過去の原価と新たな原価との比較を適切に比較し、ユーザに提示または通知することができる。
【0153】
また、図13に示す処理は、サーバ20が、ユーザによる、当該請求書に記録された原材料が使用されている商品の情報を提示するリクエストを受け付けたことを契機として、当該処理が実行されてもよい。
【0154】
(複数のユーザからの仕入価格の取得)
図14は、サーバ20の動作の一例を示すフローチャートである。制御部203は、所定の原材料に対して、複数のユーザから送信された請求書データのそれぞれについて、上記の例に示す処理を行う場合がある。つまり、第1ユーザと第1仕入先との間の第1取引に基づいて、所定の原材料の第1仕入価格を取得し、第1ユーザとは異なる第2ユーザと第2仕入先との間の第2取引に基づき、当該原材料の第2仕入価格を取得している場合がある。そして、この場合、同じ原材料に対し、第1取引と第2取引とで、仕入価格が異なる場合がある。制御部203は、第1取引に係る第1仕入価格と、第2取引に係る第2仕入価格とを比較し、所定のユーザに提示してもよい。
【0155】
図14は、サーバ20が、第1仕入価格と第2仕入価格を比較し、ユーザに提示する際の動作を示すフローチャートである。以下の説明では、第1ユーザに比較結果を提示する場合を例に挙げて説明する。
【0156】
また、本変形例の説明では、仕入価格の比較対象となる原材料について、第1ユーザと第1仕入先との間の第1取引に基づく第1仕入価格、第1仕入量、第1単価と、第2ユーザと第2仕入先との間の第2取引に基づく第2仕入価格、第2仕入量、第2単価とが仕入履歴テーブル2027に記憶されているものとする。
【0157】
まず、第1ユーザは、端末装置10を操作して、仕入価格の比較を行いたい原材料を指定して、仕入価格の比較を提示するリクエストを、当該原材料の原材料IDとともに、サーバ20へ送信する。制御部203は、受信制御モジュール2031により、当該リクエストを受け付ける。
【0158】
ステップS401において、制御部203は、所定の原材料について、仕入価格を取得する。
具体的には、例えば、制御部203は、受け付けた原材料IDに基づいて、仕入履歴テーブル2027を検索し、該当するレコードの仕入価格、仕入量、単価を取得する。ユーザIDおよび仕入先IDの値が同じレコードが複数存在する場合、請求日時の値が最も新しいレコードの値を取得する。
本変形例では、制御部203は、第1ユーザと第1仕入先との間の第1取引が記録されたレコードの、第1仕入価格、第1仕入量、第1単価と、第2ユーザと第2仕入先との間の第2取引が記録されたレコードの、第2仕入価格、第2仕入量、第2単価とを取得する。
【0159】
ステップS402において、制御部203は、所定の原材料について、第1仕入価格と第2仕入価格とを比較する。
具体的には、例えば、制御部203は、ステップS401において取得した第1単価と第2単価との間における価格の大小を比較する。
【0160】
ステップS403において、制御部203は、第1仕入価格と第2仕入価格との比較の結果を第1ユーザに提示する。
具体的には、例えば、制御部203は、ステップS402において比較した結果を、端末装置10のディスプレイ141等を介して第1ユーザに提示する。
【0161】
なお、原材料の単価は、仕入先の違いだけでなく、仕入量によっても異なる場合がある。例えば、仕入量が多いほど単価は下がる場合がある。そのため、第1ユーザは、第1単価と第2単価との比較結果に加えて、第1仕入量と第2仕入量との違いも把握したい場合がある。したがって、制御部203は、第1仕入量と第2仕入量とを、当該比較結果とともに第1ユーザに提示してもよい。
【0162】
なお、第2ユーザは、1のユーザに限られず、複数の第2ユーザa、第2ユーザb、第2ユーザc、・・・が存在していてもよい。この場合、制御部203は、第1仕入価格と、第2ユーザaに係る第2仕入価格a、第2ユーザbに係る第2仕入価格b、第2ユーザcに係る第2仕入価格c、・・・とをそれぞれ比較してもよい。制御部203は、第2仕入価格a、第2仕入価格b、第2仕入価格c、・・・の平均と第1仕入価格とを比較してもよい。
【0163】
また、ステップS401において、制御部203は、仕入量の項目の値と第1仕入量との差が所定範囲内であるレコードについてのみ、仕入価格を取得してもよい。これにより、仕入量の大小による単価の変化を抑制しつつ、仕入価格の比較をすることができる。
【0164】
また、ステップS401において、制御部203は、請求日時の項目の値と第1請求日時との差が所定範囲内であるレコードについてのみ、仕入価格を取得してもよい。これにより、請求日時が離れていることによる原価の変動を抑制しつつ、仕入価格の比較をすることができる。
【0165】
また、提示をリクエストするユーザが関わる取引が、比較対象とする複数の取引の中に含まれていなくてもよい。例えば、第1ユーザとも第2ユーザとも異なる第3ユーザに対して、第1仕入価格と第2仕入価格との比較結果を提示してもよい。
【0166】
図15は、サーバ20の動作の一例を表すフローチャートである。図15は、原材料に関する情報が変更された際、サーバ20が、商品の成分情報を変更する際の動作を示すフローチャートである。図15のフローチャートは、例えば、原材料に含まれる成分の情報が変更される影響で、ユーザが販売する商品に含まれる成分の情報が変更される場合が想定されている。
【0167】
まず、ユーザは、端末装置10を操作することにより、原材料の栄養成分、補足情報の内容が記録された書類(例えば、原材料の商品規格書、日本食品標準成分表等)の画像データをサーバ20へ送信する。制御部203は、受信制御モジュール2031により、画像データを受け付ける。制御部203は、送信制御モジュール2032により、所定の端末へ当該画像データを送信する。本実施形態のサービス提供者は、当該端末を操作することにより、当該画像データに記録されている原材料名、栄養成分、補足情報等を含む情報を、サーバ20へ送信する。制御部203は、受信制御モジュール2031により、当該情報を受け付ける。
【0168】
ステップS501において、制御部203は、原材料に関する情報を取得する。
具体的には、制御部203は、受け付けた情報から、成分取得モジュール2033により、原材料に含まれる栄養成分を示す成分情報を取得する。
【0169】
ステップS501において、制御部203は、記憶部202に記憶されている原材料の成分情報を変更する。
具体的には、例えば、制御部203は、取得した原材料名に基づき原材料テーブル2024の原材料名の項目を検索し、該当したレコードの栄養成分、補足情報の項目に、取得した栄養成分、補足情報を記憶する。該当するレコードが存在しなかった場合は、制御部203は、原材料テーブル2024の新しいレコードに、取得した原材料名、栄養成分、補足情報を記憶する。
【0170】
ステップS501において、制御部203は、成分情報の変更の内容を取得してもよい。
具体的には、制御部203は、原材料テーブル2024における検索に該当したレコードの栄養成分、補足情報の項目に記憶されていた情報と、本実施形態のサービス提供者が操作する所定の端末から取得した栄養成分、補足情報との差分を取得してもよい。
例えば、制御部203は、検索に該当したレコードの栄養成分の項目に記憶されていた各栄養成分の含有量と、所定の端末から取得した栄養成分の含有量との差分を取得し、記憶部202に記憶してもよい。
例えば、制御部203は、検索に該当したレコードの補足情報の項目に記憶されていた文字列のリストと、所定の端末から取得した補足情報を示す文字列のリストとの差分を取得し、記憶部202に記憶してもよい。
【0171】
ステップS502において、制御部203は、商品の原材料の使用量と、原材料の成分情報とに基づいて、商品の成分情報を作成する。
具体的には、制御部203は、商品管理モジュール2037により、成分情報が変更された原材料の使用量と、当該原材料の成分情報とに基づいて、商品の成分情報を新たに作成する。
例えば、制御部203は、原材料テーブル2024における、ステップS501において成分情報が変更されたレコードに記憶されている原材料IDに基づいて使用量テーブル2025を検索し、該当したレコードにおける原材料の使用量を取得する。制御部203は、それぞれの栄養成分について、ステップS501において取得した所定単位あたりの栄養成分の量と、原材料の使用量とを乗算した値を、使用量テーブル2025における当該レコードの栄養成分の項目に記憶する。制御部203は、ステップS501において取得した補足情報を、使用量テーブル2025における当該レコードの補足情報の項目に記憶する。
【0172】
制御部203は、使用量テーブル2025の当該レコードの商品IDに基づいて使用量テーブル2025を検索し、該当したレコードの栄養成分の値および補足情報の値をそれぞれ合計する。
例えば、制御部203は、検索に該当したレコードの栄養成分の項目に記憶される熱量、たんぱく質、脂質、炭水化物、塩分相当量の値をそれぞれ足し合わせる。また、制御部203は、検索に該当したレコードの補足情報の項目に記憶される文字列のリストを、それぞれ結合する。制御部203は、当該レコードの商品IDに基づいて商品テーブル2026を検索し、該当したレコードの栄養成分の項目および補足情報の項目に、合計した栄養成分の値および結合した補足情報の値を記憶する。
【0173】
ステップS503において、制御部203は、商品の成分情報が変更されたことをユーザに提示する。
具体的には、制御部203は、ステップS502において成分情報を変更した商品について、成分情報が変更された旨を示す情報を、端末装置10のディスプレイ141、スピーカー172等を介してユーザに提示する。
【0174】
ステップS503において、制御部203は、ステップS501において取得した成分情報の変更の内容をユーザに提示してもよい。また、制御部203は、成分情報が変更された商品を、成分情報が変更されていない商品よりも強調して、ユーザに提示してもよい。
【0175】
ステップS503において、制御部203は、ユーザからのリクエストを受け付けることなく、成分情報が変更されたことをユーザに通知してもよい。
例えば、制御部203は、商品テーブル2026における、ステップS502において検索したレコードにおけるユーザIDに該当するユーザに対し、当該レコードの商品の成分情報が変更されたことを、端末装置10のディスプレイ141、スピーカー172等を介してユーザに通知してもよい。
制御部203は、ステップS501において取得した成分情報の変更の内容を、ユーザに通知してもよい。
制御部203は、商品テーブル2026における、ステップS502において検索したレコードにおいて、ブックマークの項目および販売フラグの項目の少なくともいずれかが「TRUE」だった場合のみ、ユーザに当該通知を行うこととしてもよい。
【0176】
ユーザは、商品の情報を閲覧したい場合、特に、販売の対象とする商品に含まれる成分情報を画像データ等に出力したい場合、端末装置10の入力装置13を操作し、商品の情報を提示するリクエストを当該商品の商品IDとともにサーバ20へ送信する。制御部203は、受信制御モジュール2031により、当該リクエストを受け付ける。
【0177】
ステップS504において、制御部203は、商品の成分情報をユーザに提示する。
具体的には、制御部203は、商品管理モジュール2037により、当該商品IDに基づいて商品テーブル2026を検索し、該当するレコードの商品名と、栄養成分、補足情報を含む成分情報とを、端末装置10のディスプレイ141等を介してユーザに提示する。制御部203は、食品表示法に基づく栄養成分表示のガイドライン等、ユーザが商品を販売する際に購入者等に対して表示することが求められる基準に沿った態様で、端末装置10のディスプレイ141等に、これらの情報を提示してもよい。
【0178】
上記の例では、商品規格書等に含まれる、原材料名、栄養成分、補足情報等を含む情報を制御部203が受け付けることにより、図15に示す処理が開始されている。これにより、常に最新の成分情報および成分情報の変更に係る情報を、ユーザに提示または通知することができる。
【0179】
なお、制御部203は、ユーザからの所定の商品の情報を提示するリクエストを受け付けたことを契機として、図15に示す処理を実行してもよい。
【0180】
上記の例では、ユーザが、商品規格書等の画像データをサーバ20へ送信することとしていたが、商品規格書等の画像データは、当該商品規格書等を入手した他のユーザ、当該商品規格書等を入手または作成した仕入先、当該商品規格書等を入手または作成したメーカー等の種々の送信元から送信されてもよい。
【0181】
<4 画面例>
以下、端末装置10のディスプレイ141から出力される画面の一例を、図16図18を参照して説明する。
【0182】
図16は、ユーザが、商品の情報を照会するリクエスト等を入力するための画面1600を示す。画面1600には、商品名表示エリア1601、販売状況表示エリア1602、通知エリア1603、ブックマークエリア1604、ブックマークボタン1605、選択ボタン1606、照会ボタン1607、成分情報出力ボタン1608、プライスカード出力ボタン1609が表示される。
具体的には、商品名表示エリア1601には、商品テーブル2026においてユーザのユーザIDにより特定されるレコードの商品名が表示される。販売状況表示エリア1602には、当該レコードの販売フラグの項目に応じたメッセージが表示される。通知エリア1603には、ステップS205、ステップS303、ステップS503等において制御部203からユーザへ行われる通知が表示される。ブックマークエリア1604には、当該レコードのブックマークの値に応じたオブジェクトが表示される。ユーザがブックマークボタン1605を操作することにより、当該レコードのブックマークの項目に記憶する値(TRUE、FALSE等)がサーバ20へ送信される。ユーザが選択ボタン1606を選択して商品を特定した後に照会ボタン1607を選択することで、商品の情報を照会するリクエストがサーバ20へ送信される。ユーザが選択ボタン1606を選択して商品を特定した後に成分情報出力ボタン1608またはプライスカード出力ボタン1609を選択することで、当該商品の成分情報または販売価格を印刷するためのプレビュー画面が表示される。
【0183】
図17は、ユーザが、商品に含まれる原材料に関する情報を閲覧するための画面1700を示す。画面1700には、栄養成分表示エリア1701、添加物表示エリア1702、アレルゲン表示エリア1703、原材料表示エリア1704、詳細表示エリア1705が表示される。
栄養成分表示エリア1701には、閲覧対象の商品における栄養成分の含有量が表示される。添加物表示エリア1702には、閲覧対象の商品に含まれる添加物の一覧が表示される。アレルゲン表示エリア1703には、閲覧対象の商品に含まれるアレルゲンの一覧が表示される。原材料表示エリア1704には、閲覧対象の商品に含まれる原材料の一覧が表示される。詳細表示エリア1705には、閲覧対象の商品に含まれる原材料の、メーカー、産地、商品1つあたりの使用量等が表示される。
【0184】
図18は、ユーザが、商品の価格に関する情報を閲覧するための画面1800を示す。画面1800には、第1販売価格表示エリア1801、原価表示エリア1802、第1利益率表示エリア1803、第2販売価格表示エリア1804、第2利益率表示エリア1805、ボタン1806、ボタン1807、ボタン1808、原価推移表示エリア1809が表示される。第1販売価格表示エリア1801には、閲覧対象の商品における現在の販売価格が表示される。原価表示エリア1802には、閲覧対象の商品における現在の原価が表示される。第1利益率表示エリア1803には、閲覧対象の商品における現在の利益率が表示される。現在の利益率の値は、現在の販売価格から現在の原価を減算した利益の、現在の販売価格に対する割合から求められる。第2販売価格表示エリア1804には、閲覧対象の商品における推奨販売価格が表示される。第2利益率表示エリア1805には、閲覧対象の商品を推奨販売価格で販売した場合の利益率が表示される。ユーザがボタン1806を選択することで、閲覧対象の商品の販売価格を変更するリクエストがサーバ20へ送信される。ユーザがボタン1807を操作することで、例えば閲覧対象の商品に含まれる原材料ごとの原価を照会するためのリクエストがサーバ20へ送信される。ユーザがボタン1808を操作することで、閲覧対象の商品の利益率を変更するリクエストがサーバ20へ送信される。原価推移表示エリア1809には、閲覧対象の商品の原価が変更された日時ごとに、当該日時における商品の原価の一覧が表示される。原価推移表示エリア1809には、当該商品の原価の変更に影響した原材料の情報、例えば、原材料Aの原価変更により当該商品の原価が変更された旨を示す情報が表示されてもよい。
【0185】
<5 一実施形態の効果>
以上のように、上記実施形態では、使用量取得モジュール2034は、食料品に含まれる原材料の使用量を取得する。仕入価格取得モジュール2035は、第1ユーザと第1仕入先との間の取引に基づき、前記原材料の仕入価格を取得する。価格算出モジュール2036は、前記原材料の前記使用量と、前記仕入価格とに基づいて、前記食料品の原価を算出する。制御部203は、前記原価を前記第1ユーザに提示する。これにより、第1ユーザは、食料品に含まれる原材料の使用量および第1ユーザと第1仕入先との間の取引に係る情報をサーバ20へ送信するだけで、食料品の原価を把握することができる。
【0186】
したがって、本実施形態に係るシステムは、現在の商品の原価を算出する手間を軽減できる。
【0187】
また、上記実施形態では、使用量取得モジュール2034は、所定のタイミングで前記原材料の使用量を取得する。仕入価格取得モジュール2035は、前記原材料の仕入価格を取得する。価格算出モジュール2036は、取得した前記使用量と前記仕入価格とに基づいて、前記食料品の原価を新たに算出する。制御部203は、新たに算出された前記原価が先に算出された前記原価と異なる場合、前記食料品の原価が変更されたことを前記第1ユーザに通知する。これにより、第1ユーザは、食料品の原価の変動を迅速に把握できる。
【0188】
また、上記実施形態では、受信制御モジュール2031は、前記食料品に対する前記第1ユーザからの選択を受け付ける。制御部203は、選択された前記食料品について新たに算出された前記原価が先に算出された前記原価と異なる場合、選択された前記食料品の前記原価が変わったことを前記第1ユーザに通知する。これにより、第1ユーザは、第1ユーザが原価の変動をいち早く把握したい食料品について、原価の変動を迅速に把握できる。
【0189】
また、上記実施形態では、受信制御モジュール2031は、前記第1ユーザからの、前記第1ユーザによる販売の対象となる前記食料品の選択を受け付ける。これにより、第1ユーザは、自身が販売する食料品について、原価の変動を迅速に把握できる。
【0190】
また、上記実施形態では、価格算出モジュール2036は、前記原価に基づいて、前記食料品の推奨販売価格を算出する。制御部203は、前記推奨販売価格を前記第1ユーザに提示する。これにより、第1ユーザは、食料品の販売価格として推奨される価格を把握することができる。
【0191】
また、上記実施形態では、販売管理モジュール2038は、前記食料品が販売された履歴を取得する。価格算出モジュール2036は、前記履歴に基づいて、前記推奨販売価格を算出する。制御部203は、前記履歴に基づいて算出するステップにおいて算出された前記推奨販売価格を前記第1ユーザに提示する。これにより、第1ユーザは、食料品の売れ行きに基づいて算出された推奨販売価格を把握することができる。
【0192】
また、上記実施形態では、成分取得モジュール2033は、前記原材料の成分を示す成分情報を取得する。商品管理モジュール2037は、前記食料品の前記原材料の前記使用量と、前記原材料の前記成分情報とに基づいて、前記食料品の成分情報を作成する。制御部203は、前記食料品の成分情報を前記第1ユーザに提示する。これにより、第1ユーザは、食料品に含まれる栄養成分等の成分情報を、適切に把握することができる。
【0193】
また、上記実施形態では、成分取得モジュール2033は、前記原材料の成分を示す前記成分情報の変更の内容を取得する。制御部203は、前記変更の内容を前記第1ユーザに提示する。これにより、第1ユーザは、食料品に係る、成分情報の変更の内容を把握することができる。
【0194】
また、上記実施形態では、受信制御モジュール2031は、前記食料品に対する前記第1ユーザからの選択を受け付ける。制御部203は、選択された前記食料品に含まれる前記原材料の前記成分情報が変更された場合、選択された前記食料品に含まれる前記原材料の前記成分情報が変更されたことを前記第1ユーザに通知する。これにより、第1ユーザが成分情報の変更をいち早く把握したい食料品について、成分情報の変更を迅速に把握できる。
【0195】
また、上記実施形態では、受信制御モジュール2031は、前記第1ユーザからの、前記第1ユーザによる販売の対象となる前記食料品の選択を受け付ける。これにより、第1ユーザは、自身が販売する食料品について、成分情報の変更を迅速に把握できる。
【0196】
また、上記実施形態では、仕入価格取得モジュール2035は、第1ユーザと第1仕入先との間の取引に基づき、食料品に含まれる原材料の第1仕入価格を取得する。仕入価格取得モジュール2035は、前記第1ユーザとは異なる第2ユーザと第2仕入先との間の取引に基づいて、前記原材料の第2仕入価格を取得する。制御部203は、前記第1仕入価格と前記第2仕入価格とを比較する。制御部203は、前記比較の結果を前記第1ユーザに提示する。これにより、第1ユーザは、現在の原材料の仕入価格の高低を客観的に把握できる。
【0197】
なお、上記した実施形態は本開示を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施形態の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0198】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROM等が用いられる。
【0199】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0200】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0201】
<6 付記>
以上の各実施形態で説明した事項を以下に付記する。
【0202】
(付記1)
プロセッサとメモリとを備えるコンピュータを動作させるためのプログラムであって、プログラムは、プロセッサに、食料品に含まれる原材料の使用量を取得するステップ(ステップS101)と、第1ユーザと第1仕入先との間の取引に基づき、原材料の仕入価格を取得するステップ(ステップS103、ステップS301)と、原材料の使用量と、仕入価格とに基づいて、食料品の原価を算出するステップ(ステップS104、ステップS302)と、原価を第1ユーザに提示するステップ(ステップS303)と、を実行させる、プログラム。
(付記2)
プロセッサに、所定のタイミングで原材料の使用量を取得し、原材料の仕入価格を取得し、取得した使用量と仕入価格とに基づいて、食料品の原価を新たに算出するステップと、新たに算出された原価が先に算出された原価と異なる場合、食料品の原価が変更されたことを第1ユーザに通知するステップと、を実行させる、付記1に記載のプログラム。
(付記3)
プロセッサに、食料品に対する第1ユーザからの選択を受け付けるステップを実行させ、通知するステップにおいて、選択された食料品について新たに算出された原価が先に算出された原価と異なる場合、選択された食料品の原価が変わったことを第1ユーザに通知する、付記2に記載のプログラム。
(付記4)
選択を受け付けるステップにおいて、第1ユーザからの、第1ユーザによる販売の対象となる食料品の選択を受け付ける、付記3に記載のプログラム。
(付記5)
プロセッサに、原価に基づいて、食料品の推奨販売価格を算出するステップ(ステップS105、ステップS304)を実行させ、提示するステップにおいて、推奨販売価格を第1ユーザに提示する、付記1に記載のプログラム。
(付記6)
プロセッサに、食料品が販売された履歴を取得するステップと、履歴に基づいて、推奨販売価格を算出するステップ(ステップS201)と、履歴に基づいて算出するステップにおいて算出された推奨販売価格を第1ユーザに提示するステップ(ステップS202)と、を実行させる、付記5に記載のプログラム。
(付記7)
プロセッサに、原材料の成分を示す成分情報を取得するステップ(ステップS501)と、食料品の原材料の使用量と、原材料の成分情報とに基づいて、食料品の成分情報を作成するステップ(ステップS102、ステップS502)と、食料品の成分情報を第1ユーザに提示するステップ(ステップS504)と、を実行させる、付記1に記載のプログラム。
(付記8)
プロセッサに、原材料の成分を示す成分情報の変更の内容を取得する(ステップS501)ステップと、変更の内容を第1ユーザに提示するステップ(ステップS503)と、を実行させる、付記7に記載のプログラム。
(付記9)
プロセッサに、食料品に対する第1ユーザからの選択を受け付けるステップと、選択された食料品に含まれる原材料の成分情報が変更された場合、選択された食料品に含まれる原材料の成分情報が変更されたことを第1ユーザに通知するステップ(ステップS503)と、を実行させる、付記8に記載のプログラム。
(付記10)
選択を受け付けるステップにおいて、第1ユーザからの、第1ユーザによる販売の対象となる食料品の選択を受け付ける、付記9に記載のプログラム。
(付記11)
プロセッサとメモリとを備えるコンピュータを動作させるためのプログラムであって、プログラムは、プロセッサに、第1ユーザと第1仕入先との間の取引に基づき、食料品に含まれる原材料の第1仕入価格を取得するステップ(ステップS301)と、第1ユーザとは異なる第2ユーザと第2仕入先との間の取引に基づいて、原材料の第2仕入価格を取得するステップ(ステップS301)と、第1仕入価格と第2仕入価格とを比較するステップ(ステップS402)と、比較の結果を第1ユーザに提示するステップ(ステップS403)と、を実行させる、プログラム。
(付記12)
プロセッサを備えるコンピュータによって実行される方法であって、プロセッサが、食料品に含まれる原材料の使用量を取得するステップ(ステップS101)と、第1ユーザと第1仕入先との間の取引に基づき、原材料の仕入価格を取得するステップ(ステップS103、ステップS301)と、原材料の使用量と、仕入価格とに基づいて、食料品の原価を算出するステップ(ステップS104、ステップS302)と、原価を第1ユーザに提示するステップ(ステップS303)と、を実行する、方法。
(付記13)
制御部を備える情報処理装置であって、制御部が、食料品に含まれる原材料の使用量を取得するステップ(ステップS101)と、第1ユーザと第1仕入先との間の取引に基づき、原材料の仕入価格を取得するステップ(ステップS103、ステップS301)と、原材料の使用量と、仕入価格とに基づいて、食料品の原価を算出するステップ(ステップS104、ステップS302)と、原価を第1ユーザに提示するステップ(ステップS303)と、を実行する、情報処理装置。
【符号の説明】
【0203】
1:システム、10:端末装置、19:プロセッサ、20:サーバ、29:プロセッサ、202:記憶部、203:制御部、2021:アプリケーションプログラム、2022:ユーザテーブル、2023:仕入先テーブル、2024:原材料テーブル、2025:使用量テーブル、2026:商品テーブル、2027:仕入履歴テーブル、2028:販売履歴テーブル、2031:受信制御モジュール、2032:送信制御モジュール、2033:成分取得モジュール、2034:使用量取得モジュール、2035:仕入価格取得モジュール、2036:価格算出モジュール、2037:商品管理モジュール、2038:販売管理モジュール
【要約】
【課題】現在の商品の原価を算出する手間を軽減する。
【解決手段】プロセッサとメモリとを備えるコンピュータを動作させるためのプログラムであって、プログラムは、プロセッサに、食料品に含まれる原材料の使用量を取得するステップと、第1ユーザと第1仕入先との間の取引に基づき、原材料の仕入価格を取得するステップと、原材料の使用量と、仕入価格とに基づいて、食料品の原価を算出するステップと、原価を第1ユーザに提示するステップと、を実行させる。
【選択図】図11
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18