音声入力で棚卸できるアプリ作ってみました。まずは実際に使えるところまでを優先して公開しました。基本機能は動きますが、UIはまだ改善途中です。実際に棚卸で使いながら使いにくいところを一つずつ直していきます。
棚卸しは、数えるだけで終わりません。商品名をそろえる、単位を確認する、数量を書き写す。最後には、数えていない商品が残っていないかも確かめます。
お店の効率化ナビでは、以前作った店舗用の音声棚卸しアプリをもとに、読者が自分のお店の商品を登録して使える「お店の棚卸しノート」を作りました。
商品を画面に表示し、数量を入力し、最後にCSVで保存する。アカウント登録は不要です。iPhoneではブラウザから、PCではブラウザ版またはダウンロード版を利用できます。
配布版0.8。利用前に少数の商品で動作を確認し、入力値と出力値を照合してください。
最初に、自分のお店の商品を登録する
配布版には、私のお店の商品名や仕入単価、専用の管理表へのリンクを入れていません。読者が自分のお店の商品を登録するための空の状態です。
登録する項目は、商品名、棚卸単位、1単位あたりの単価です。
たとえば、1袋300円の商品なら「袋」「300」と登録します。棚卸しで2袋あれば数量は「2」、金額は600円です。これは操作説明用の例で、実際の仕入価格ではありません。
単位は登録時と数える時でそろえてください。「1ケースの価格」を登録し、数量を「本」で数えると金額が合いません。この版は単位を自動換算しません。税込・税抜も、お店の管理方法に合わせて統一します。
単価が分からない商品は空欄で登録できます。分からない数字を仮に入れず、未登録として残して後から確認できます。
CSV・Excel・スプレッドシート・PDFから商品を移す
すでに商品表がある場合は、一つずつ打ち直す代わりに、表から商品を取り込めます。
- CSV・TSV:ファイルを選択して取り込みます
- Excel:.xlsxと.xlsに対応し、商品表のシートと開始行を選べます
- Googleスプレッドシート:商品表の範囲をコピーし、「表を貼り付け」に貼り付けます
- PDF:文字を抽出し、画像やスキャンのPDFはOCRで読み取ります
どの形式でも、商品名・単位・単価の列を選び、確認表で内容を直してから登録します。同じ名前の商品が登録済みなら、更新先を選びます。商品表を更新しても、開始済みの棚卸し記録は変わりません。
PDFやOCRは、列がずれたり、文字や数字を読み間違えたりする場合があります。原本を表示して1行ずつ照合してください。単価が空欄の行を自動で0円にすることはありません。
ファイルは20MB、PDFは20ページまでです。PDFの補助フォントやOCR用データの取得には通信を使う場合がありますが、商品ファイル自体をアプリから外部サーバーへアップロードする処理はありません。
棚卸し開始から数量入力まで
店舗名と棚卸日を入れて新しい棚卸しを開始すると、登録した商品が並びます。「棚卸し開始」を押すと、未入力の商品を順番に表示します。
数量は手入力できます。音声入力に対応した環境では、商品名を見ながら数量だけを話すこともできます。
「連続音声入力を開始」を一度押すと、認識した数量を自動保存し、1秒後に次の商品へ進みます。商品名が切り替わったことを確認してから、次の数量を話してください。「聞き取りを停止」で止められます。1商品ずつ認識値を確認して保存する方法もあります。
「在庫なし」と「まだ数えていない」は分けました。在庫がなければ0、まだ数えていなければ未入力のままです。空欄を勝手に0として扱わないため、数え忘れを確認できます。
途中で別の作業へ移っても、保存済みの棚卸しから開き直せます。ただし、保存場所はその端末のブラウザです。別の端末へ自動共有する機能はありません。
iPhoneではホーム画面に追加して使える
iPhoneでは、上の「ブラウザで使う」ボタンからSafariで開けます。Safariの共有メニューから「ホーム画面に追加」すると、次回からアイコンで開けます。詳しい操作はAppleの案内で確認できます。
PCで商品をまとめて登録した後、「全データのバックアップを保存」でJSONファイルを作り、iPhoneへ渡して読み込むこともできます。iPhoneからPCへ戻す場合も同じ手順です。
今回、iPhone実機で一連の操作を確認し、確認時にエラーはありませんでした。ただし、すべてのiPhone、iOS、ブラウザでの動作を保証するものではありません。Android実機は今回の確認対象に含めていません。
音声入力は対応環境で補助として使う
音声認識の対応状況はブラウザによって異なります。ブラウザの認識サービスへ音声を送信し、通信を使って認識する場合があります。ダウンロード版でも、音声が必ずオフラインで動くわけではありません。
認識できないときは、数量の手入力や端末の音声キーボードを使ってください。対応状況や仕組みはMDNのSpeechRecognitionの説明でも確認できます。
終わったらCSVとバックアップを保存する
入力が終わったら、未入力件数と単価未登録の商品を確認します。未入力や単価未登録がある場合、表示される金額は「確認済み分の小計」です。
CSVには、店舗名、棚卸日、商品名、単位、単価、数量、金額、確認状態を出力します。最終行には「棚卸合計」、未確定項目がある場合は「確認済み分の小計」を出力します。
経理確認用のCSVとは別に、「全データのバックアップを保存」も実行してください。こちらは商品登録と棚卸し記録をまとめたJSONファイルで、アプリに読み込んで復元できます。
ブラウザの保存内容は、履歴削除やプライベート閲覧などで利用できなくなる場合があります。棚卸しが終わったら、CSVとJSONバックアップの保存までを一組にしてください。
単価を変更しても、開始済みの棚卸しは変わらない
仕入価格が変わったときは商品登録を編集します。変更が反映されるのは、次に始める棚卸しからです。
開始済みの棚卸しは、その時点の商品名・単位・単価を保持します。今月の単価を直した結果、先月の金額まで変わることを防ぎます。
PC用ZIPの開き方
- 上の「PC用ZIPをダウンロードする」を押します
- ZIPファイルを展開します
- フォルダ内のinventory.htmlをChromeやEdgeで開きます
- 商品を数件登録し、数量入力、CSV保存、JSONバックアップまで試します
ZIPにはアプリ本体、使い方、利用ライブラリのライセンスを同梱しています。サーバーへの設置やアプリのインストールは不要です。
最初は少数の商品で確認してください
この版は、発注や仕入の自動連携、複数人の同時入力には対応していません。PDFから文字を読み取れても、納品書の数量や合計金額を棚卸単価として自動確定しません。
自動テスト29件とXLSX・XLS・PDF・OCRの形式検査を行い、iPhone実機でも確認しました。それでも、店舗ごとの商品表やPDFの作り、利用する端末とブラウザによって結果は変わります。
いきなり全商品を入れず、数品だけ登録して、数量入力、CSV保存、バックアップ復元まで試してください。経理処理に利用する前に、入力値と出力値を必ず照合してください。
AIに渡す商品名や単位をそろえる考え方は、飲食店のAI活用に向けたデータ整理の記事でも紹介しています。棚卸しでも、最初の登録内容をそろえることが土台になります。

