こんにちは、笹川です。
データコレクトでやってみたいと思っていたのが在庫管理です。ご相談を頂くことは多いのですが、kintoneの標準機能だけでは完全な自動化が難しいというのが現状です。
データコレクトはリアルタイムにデータが集計できるので、それなら「使った分だけ在庫を減らす」ことができるはず!さっそく挑戦してみましょう。
注文と在庫はそれぞれ管理しているけれど…
このような場面を想定してみました。
・カトラリー専門店で、商品は「フォーク」「スプーン」「ナイフ」の3種類
・注文はフォームブリッジを使ったwebフォームから『注文受付』アプリへ登録される
・在庫は『在庫管理』アプリに登録し、手動で都度更新する
ポータルに現在の在庫数と新規の注文数を貼り付けておき、それぞれを見比べながら状況を確認するという運用です。
これでも業務を行う上では問題ないのですが、手作業なので在庫の更新を忘れてしまうリスクが有りますし、商品数が増えると目視での確認が大変になりそうです。
まずは注文があった数だけ在庫を減らしてみよう!
それではまず、在庫の更新をワンクリックで出来るように設定してみます。
①アプリの準備
それぞれのアプリをこのように作成します。
『注文受付』アプリには、日付、商品名と商品ID、個数が入ります。
『在庫管理』アプリには、商品名と商品ID、期初の個数と消費した数、在庫数のフィールドを用意します。在庫数は期初の個数から消費した数を引いた値になるよう計算式を設定します。
この「消費した数」フィールドに注文された数が集計されるようになれば、正しい在庫数がすぐに分かるようになります。
②データコレクトの設定
アプリが用意できたらデータコレクトを設定していきます。詳しい設定方法は前回のブログをご覧ください。
『在庫管理』アプリの「消費した数」フィールドに関数を設定します。今回は商品ごとに集計をしたいので、SUMIF関数を使います。
SUMIF関数は条件に一致する数値の合計を返してくれる関数で、SUMIF(検索範囲,検索条件,[合計範囲])のように記述します。
今回は『注文受付』アプリに登録されているレコードの「商品ID」を検索範囲に、『在庫管理』アプリの「商品ID」を検索条件として、『注文受付』アプリの「個数」を合計するので
=SUMIF(注文受付!商品ID,商品ID,注文受付!個数)
という式になります。
なんだか難しいように感じますが、使いたいフィールドをクリックすれば式を記述出来るようになっているのでご安心ください。使用可能な関数一覧のヘルプも用意されているので、関数を覚えていなくても大丈夫です。
③データコレクトの実行
設定が出来たのでさっそく集計してみましょう!一覧画面に「まとめてDataCollectする」ボタンが表示されているのでクリックします。
ばっちり集計されました!『注文受付』アプリで集計した値とも一致しています。
リアルタイムに反映させるには?
これでも十分ですが、出来れば注文が入ったタイミングで在庫数を更新してほしいですよね。
そこで、データコレクトの「自動更新(Webhook連携)」を設定します。Webhookはwebサービスを連携するための仕組みです。詳しくはkintoneヘルプをご覧ください。
注文が入ると『注文受付』アプリにレコードが追加されるので、そのタイミングで自動更新をするようにします。更新対象は商品IDが一致するレコードとします。
表示されたWebhook URLをコピーします。
コピーしたURLを、kintoneの『注文受付』アプリのwebhook設定画面に貼り付けたら設定完了です。
フォークを20個注文してみます。
現在の在庫は130個なので、110個に更新されればOKです!
レコードを保存してから『在庫管理』アプリの一覧を見てみると…
フォークが20個消費され、在庫数が110になりました!自動更新成功です!(少しだけタイムラグがあるので反映していない場合は画面をリロードしてみてください。)
おわりに
『在庫管理』アプリに「在庫数が〇個になったら担当者に通知する」という設定をすれば発注忘れが防止できますね。新たに『入庫管理』アプリを作成し、入庫数も在庫管理にデータコレクトで反映させれば入出庫管理システムを作ることも可能です。
データの自動更新をプログラミング無しで設定できるのは画期的だと思います。ぜひデータコレクト(DataCollect)を試してみてくださいね!