お店の棚卸しノート　配布版 0.8
制作：お店の効率化ナビ https://omiseno.net/

【開き方】
ZIPを展開し、inventory.html をPCのブラウザで開いてください。
アプリのインストールやアカウント登録は不要です。
商品データは入っていません。自店の商品名、単位、単価を登録して使います。
iPhoneでは記事内の「ブラウザで使う」リンクから開き、Safariの共有メニューで「ホーム画面に追加」できます。

【基本の使い方】
1. 商品名、棚卸単位、1単位あたりの単価を登録します。単価が不明なら空欄にします。
2. 店舗名と棚卸日を入力し、新しい棚卸しを開始します。
3. 「棚卸し開始」で、表示された商品の数量を入れます。
4. 連続音声入力では、認識した数量を自動保存し、1秒後に次の商品へ進みます。商品名が切り替わってから数量だけ話してください。
5. 未入力・単価未登録がないか確認し、結果をCSVで保存します。
6. 「全データのバックアップを保存」でJSONファイルも保存します。

【数量と単価】
空欄は未入力です。在庫なしと確認した場合は0を入力します。
「本」「袋」「kg」など、画面に表示した単位にそろえて数量を入力してください。
ケース数やgからkgへの自動換算はありません。
単価は1単位あたり。税込・税抜は同じ基準に統一してください。
過去の記録は開始時点の商品名・単位・単価を保存します。
商品マスターを編集しても、開始済みの記録の単価は変わりません。
単価未登録の商品は合計に含まれず、未確定として表示します。
CSVには数量×単価の計算値を出力し、最終行に棚卸合計または確認済み分の小計を出力します。

【保存と端末間の移行】
保存先は同じ端末・ブラウザです。サーバー共有や複数端末の自動同期はありません。
ブラウザの履歴削除、プライベート閲覧、ファイル移動などで記録を利用できなくなる場合があります。
作業後は必ずJSONのバックアップを保存してください。
復元すると現在の全データが置き換わります。復元前にもバックアップしてください。
PCとiPhoneの間は、JSONバックアップを渡して移行します。

【まとめて商品登録】
・PC入力：「空の入力表を作る」で商品名・単位・単価を表に入力できます。
・CSV/TSV：UTF-8/Shift_JISに対応。文字化け時は文字コードを切り替えます。
・Excel：.xlsx / .xls を選び、商品表のシートと開始行を指定できます。
・Googleスプレッドシート：必要な範囲をコピーし、「表を貼り付け」に貼り付けます。
・PDF：文字入りPDFは文字抽出、画像・スキャンPDFはOCRを使えます。

商品名・単位・単価の列を指定し、確認表で修正した後、確認済みの行だけを登録してください。
PDFとOCRは列ずれ、誤認識、読み取り漏れがあり得ます。必ず原本と1行ずつ照合してください。
単価が空欄の行を0円として確定することはありません。
上限：ファイル20MB、PDF20ページ、元表5000行100列以内、1回2000商品以内、登録商品合計2000件以内。

【音声入力】
音声認識は対応ブラウザとマイク許可が必要です。通信が必要な場合があります。
ブラウザ提供元の音声認識サービスへ音声が送信される場合があります。
認識できないときは手入力、または端末の音声キーボードを利用してください。
連続音声入力は「聞き取りを停止」で止められます。保存失敗や認識できない値では停止します。

【確認状況】
自動テスト29件、XLSX/XLS/PDF/OCR形式検査を実施済みです。
iPhone実機で一連の操作を確認し、確認時にエラーはありませんでした。
機種、ブラウザ、PDFの印字やレイアウトによって結果は異なります。最初は少数の商品で確認してください。
入力値と出力値を照合してから経理処理に利用してください。

【使用ライブラリ】
SheetJS CE 0.20.3（Apache-2.0）、PDF.js 5.6.205 legacy（Apache-2.0）、Tesseract.js 7.0.0（Apache-2.0）。
ライセンス本文は同梱のlicensesフォルダにあります。
