在庫・受発注管理アプリ 仕様書(詳細版)¶
最終更新: 2026-09-29
本書は「アプリ仕様(概要)」の詳細版です。各機能のデータ項目・計算ルール・処理の流れ・具体例・注意点まで、これ一つで確認できるようにまとめています。専門用語は言い換え・例を添えていますが、概要版より踏み込んだ内容です。
- 概要版: まず全体像をつかむ用
- 詳細版(本書): 数字のルールや各機能の中身まで確認する用(担当者・責任者向け)
読み方のコツ: 各章は「何をする → 使うデータ → ルール(式・判定)→ 具体例 → 注意点」の順で書いています。
1. システム構成(このアプリの作り)¶
| 部品 | 役割 | たとえると |
|---|---|---|
| AppSheet | 画面・操作(ノーコードの業務アプリ土台) | 入口・操作パネル |
| Googleスプレッドシート | データの保存場所(表) | 倉庫の帳簿 |
| GAS(プログラム) | 複雑な計算・自動処理 | 裏方の計算係 |
流れ: 担当者が AppSheetの画面で操作 → データが スプレッドシートに保存 → 在庫増減や書類作成など複雑な処理は GASが自動実行 → 結果がスプレッドシート/画面に反映。
置き場所: データ(メインのスプレッドシート)と帳票のひな形は、共有ドライブ「在庫管理アプリ」にあります。出力した書類の多くは同じ共有ドライブの 04.アプリ出力データ に、仕様書・操作マニュアルは 03.仕様書・操作マニュアル に置いています。
日付の扱い: メインのスプレッドシートのタイムゾーンは日本時間(Asia/Tokyo)です。
なぜGASを使うか: 「発注の残数だけ在庫に足す」「分納後の一括納品で二重計上しない」など、画面の自動処理(Bot)だけでは崩れやすい計算を、確実に一括処理するためです。
2. アプリのメニュー構成(画面ごとに何ができるか)¶
アプリの左メニューは、上から 発注データ/出荷データ/倉庫間移動データ/在庫一覧/入出庫一覧/棚卸データ/マスタ一覧/各集計データ一覧/各帳票出力/外部アプリ/アプリ情報/フィードバック の順です(PC で見たとき)。各メニューで「何ができるか」を示します(各機能の詳しいルールは第4章以降を参照)。
2-1. 業務データ(日々の入力・確認)¶
| メニュー | 何ができるか |
|---|---|
| 発注データ | メーカーへの発注を登録・確認し、納品処理(一括/個別/分納)を行う。一覧はステータスごとのまとまりで表示(→第4・5章) |
| 出荷データ | お客様への出荷を確認・出荷完了にする(移動中対応)。出荷明細の「在庫数」欄で在庫を確認しながら数量を入れる。出荷データは在庫一覧の「出荷データを作成」で作る(→第7章) |
| 倉庫間移動データ | 倉庫から倉庫への在庫移動を登録・確認(→第8章) |
| 在庫一覧 | 商品×倉庫ごとの在庫(現在庫・有効在庫・移動中)を確認。有効在庫数が0以下の在庫は「商品ID」の欄に色が付く。出荷データの作成・棚卸調整もここから(→第6・7・9章) |
| 入出庫一覧 | すべての入出庫の履歴(入庫/出庫/返品/棚卸調整)を確認 |
| 棚卸データ | 棚卸の記録を確認 |
2-2. マスタ一覧(台帳)¶
「マスタ一覧」から各台帳を開いて登録・編集できます。
| マスタ | 何のため |
|---|---|
| 商品マスタ | 取り扱う全商品(名前・JANコード・入数・価格・サイズ・素材など)。「CSV一括取込」でまとめて登録できる |
| 従業員マスタ | 担当者(処理者の記録に使用) |
| 発注元マスタ | 自社側の発注窓口 |
| 発注先情報マスタ | 仕入先(メーカー)と支払条件(前払/通常・支払サイト) |
| 出荷先情報マスタ | 送り先(「移動中対象」の判定を含む) |
| 得意先情報マスタ | 売る相手(お客様) |
| 倉庫情報マスタ | 商品を置く倉庫 |
| 金種マスタ | 通貨と、円への換算レート |
| (原材料マスタ) | 素材の日本語↔英語対応。貿易書類の自動英訳に内部利用(メニュー非表示) |
2-3. 各集計データ一覧¶
「各集計データ一覧」から、目的別の集計・確認画面を開けます。
| 集計データ | 何ができるか |
|---|---|
| 発注集計データ(月別) | 発注明細を発注月別に一覧。仕入先別・総合計の月次発注金額を出力(以前あった毎月20日のメール通知は、現在は使っていない) |
| 納品予定データ(月別) | 発注明細を納品予定で月別集計。入荷スケジュールの把握(予定日があれば予定日を優先)。対象は、発注書を出した発注(ステータスが納品前・一部納品)の明細のうち、まだ納品されていない明細(納品完了が「納品前」)。一部だけ届いた明細は含めない |
| 請求照合データ(月別) | 発注先別に各月の納品合計件数と仕切金額(税別/税込)を集計。仕入先の請求金額との照合に使用 |
| 納品前商品データ一覧 | ステータスが「納品前」「一部納品」の発注(親)を一覧(発注日・発注先・発注点数・納品点数)。納品処理の対象を確認 |
| 出荷前商品データ一覧 | ステータスが「出荷前」「一部出荷」の出荷データ(親)を一覧(注文日・納期・出荷先・注文点数・出荷点数など)。出荷処理の対象を確認 |
| 移動中在庫データ一覧 | 輸送中(所有権移転前)の在庫を一覧。期末の「各倉庫資産=現在庫数+移動中数」確認に使用 |
| 棚卸データ一覧(月別) | 倉庫別の在庫評価を月別に出力(在庫評価額を月末時点で記録) |
| 取扱商品履歴(発注先別) | 発注先別の過去取扱商品履歴(発注実績・在庫直接入力の両方。期間・メーカーで絞込) |
2-4. 各帳票出力¶
「各帳票出力」から、必要な書類・データを作成できます(ボタンを押すとGASが生成し、スプレッドシート/PDFのURLを返します)。
| 帳票 | 何ができるか |
|---|---|
| 受注表作成 | 受注内容の確認表を作成 |
| 発注書作成 | メーカーへの発注書を作成 |
| 納品書作成 | 納品書を作成 |
| 請求書作成 | 請求書を作成 |
| 発注集計表作成 | 月次の発注集計を出力 |
| 納品予定表作成 | 納品予定の集計を出力。発注書を出していない明細(数量が空欄・総入数が0)は含めない |
| 支払予定表作成 | 支払予定額を出力(→第12章) |
| 在庫集計表作成 | 現在庫の集計を出力 |
| 棚卸集計表作成 | 月末時点の在庫の集計を出力。「過去データを一括作成」(棚卸データ作成)→「棚卸データを一括出力」の2段階(→第14章) |
| 貿易資料抽出データ作成 | 貿易書類用の在庫データ(21項目・倉庫別)を出力(→第14章) |
- 出力した書類は、帳票ごとの保存フォルダに入ります(各画面の「保存フォルダ」ボタンで開けます)。発注書・納品書・請求書・納品予定表・発注集計表・在庫集計表・受注表・支払予定額のフォルダは、共有ドライブ「在庫管理アプリ」の
04.アプリ出力データの中です。 - 誰が出力したか(実行者)は3か所に残ります。①アプリ画面の管理テーブル、②出力ファイルの「出力情報」タブ(スプレッドシートで出力する帳票)、③ファイル名の末尾(例:
…_山田太郎)。発注書などの紙面には印字しません。紙面の「作成者・確認者」は、出力ボタンを押した人ではなく、その発注の担当者です。
2-5. 外部アプリ・その他¶
| メニュー | 何ができるか |
|---|---|
| 外部アプリ > 納品書・請求書OCR照合 | PDFをアップロードしてAIで照合(→第11章) |
| 外部アプリ > ヘルプチャット | 仕様書と操作マニュアルをもとに、質問に答えるAIチャット。困ったときはまずここで質問する |
| 外部アプリ > 操作マニュアル | 操作マニュアル(Google ドキュメント版と PDF 版。PDF 版は一部の章が画面写真つき) |
| 外部アプリ > アプリ仕様書 | アプリの仕様書 |
| アプリ情報/フィードバック | アプリの情報表示/要望の送信 |
3. データ構成(何を記録しているか)¶
データは3種類に分かれます。ここではテーブル単位で説明します。
列(項目)ごとの詳細は、AppSheet の定義書(Application Documentation)を PDF にしたものをご覧ください。仕様書・操作マニュアルと同じ共有ドライブ「在庫管理アプリ/03.仕様書・操作マニュアル」に置いています。
3-1. 台帳(マスタ)=くり返し使う基本情報¶
| 台帳 | 主キー | 主な項目 |
|---|---|---|
| 商品マスタ | 商品ID | 商品名(日/英)・JANコード・総入数・袋入数・上代・仕切・仕切@CT・発売年月・サイズ・重量・原材料・カテゴリー・NG国・対象年齢 |
| 発注先情報マスタ | 発注先ID | 企業名・コード・連絡先・支払区分(前払/通常)・支払サイト(翌月末/翌々月末/当月末) |
| 発注元マスタ | 発注元ID | 会社名 |
| 得意先情報マスタ | 得意先ID | 企業名・連絡先 |
| 出荷先情報マスタ | 出荷先ID | 送り先名・移動中対象フラグ |
| 倉庫情報マスタ | 倉庫ID | 倉庫名・企業名 |
| 従業員マスタ | 従業員ID | 氏名・メール |
| 原材料マスタ | 原材料ID | 日本語名・英語表記 |
3-2. 日々の記録(トランザクション)=取引のたびに増える¶
| テーブル | 主キー | 役割 |
|---|---|---|
| 発注管理データ(親) | 発注ID | 1件の発注(ステータス・発注日・納品予定月・発注点数/納品点数) |
| 明細テーブル(子) | 明細ID | 発注の商品ごとの行(数量・金額・納品数・納品完了・納品日) |
| 出荷管理テーブル(親) | 出荷ID | 1件の出荷(注文日・出荷日・出荷点数) |
| 出荷明細テーブル(子) | 出荷明細ID | 出荷の商品ごとの行(出荷数・出荷完了・在庫反映済み) |
| 在庫移動管理/明細 | 移動ID/移動明細ID | 倉庫間の移動(出荷→入荷) |
| 在庫管理テーブル | 在庫ID | 在庫のコア(現在庫数・出荷予定数・有効在庫数・移動中数・在庫評価額) |
| 入出庫テーブル | 入出庫ID | すべての入出庫の履歴ログ(入庫/出庫/返品/棚卸調整) |
| 棚卸/棚卸履歴 | 棚卸ID | 棚卸の記録 |
3-3. 集計・管理テーブル¶
帳票作成や進捗管理の「作業台」。例:支払予定管理テーブル・帳票出力管理テーブル・各種集計管理。ボタンを押すとGASが対象データを集計し、結果のスプレッドシートを作ってURLを書き戻す、という使い方をします。
3-4. テーブルの関係(親子・参照)¶
発注管理データ(親) 1 ─── N 明細テーブル(子) ── 参照 → 商品マスタ / 発注先 / 倉庫 …
出荷管理テーブル(親) 1 ── N 出荷明細テーブル(子) ── 参照 → 在庫管理 / 出荷先 …
在庫管理テーブル ←── 納品・出荷・返品・棚卸で増減 ──→ 入出庫テーブル(履歴)
3-5. データが変わると自動で動く処理¶
ボタンを押したり入力を保存したりしてデータが変わると、アプリの自動処理(Bot)が動きます。自動処理は、アプリの中だけで行うものと、GAS(プログラム)を呼び出すものがあります。いま動いているものは次のとおりです。
| きっかけ(どのデータがどう変わったとき) | 自動で行われること | 処理する所 |
|---|---|---|
| 発注・納品 | ||
| 発注のステータスが「発注確認済み」になった | その発注の明細に、発注書の対象日(その日の日付)を入れる | アプリ |
| 「各帳票出力」の「発注書作成」で発注書を作成した | 明細に納品予定月を反映 → 発注書を作成 → 明細と発注に発注日(その日)を入れ、発注のステータスを「納品前」にする | アプリ |
| 発注の「納品予定日を入力」で日付を入れた | その発注の明細に納品予定日を入れる | アプリ |
| 「一括納品」「納品完了」「分納入力」で入力を保存した | 納品の処理(在庫を増やす・入庫の履歴・納品完了とステータスの更新。第5章) | GAS |
| 明細の納品完了を「納品前」に戻した | 入庫の履歴を消し、在庫を減らし、明細と発注の状態を戻す | アプリ |
| 明細が追加・更新された | 請求照合データ(月別)の集計行が無ければ追加する | アプリ |
| 出荷 | ||
| 在庫一覧で「出荷データを作成」を押した | 出荷データと、選んだ在庫ごとの出荷明細(数量0)を作り、在庫の選択を外す | アプリ |
| 出荷データを新しく追加するときに CSV ファイル(見積データ)を付けた | その CSV から出荷明細を作る | GAS |
| 出荷データの出荷単位(「数量単位選択」)を変えた | その出荷データの全部の明細に、同じ単位を反映する | アプリ |
| 出荷データの確認flgが変わった(「確認」を押した) | その出荷の明細について、在庫の出荷予定数を計算し直す | アプリ |
| 「一括出荷」「出荷完了」で入力を保存した | 出荷の処理(在庫を減らす・出庫の履歴・出荷完了とステータスの更新。第7章) | GAS |
| 出荷明細を「出荷前へ戻す」で戻した | 出荷の取り消し(在庫を戻す・出庫の履歴を消す・ステータスを戻す) | GAS |
| 「入庫完了」を押した | 移動中数を減らし、ステータスを「入庫完了」にする | GAS |
| 返品・キャンセル | ||
| メーカー返品・発注キャンセル・販売先返品の入力を保存した、または「一括返品」「一括キャンセル」を押した | 返品・キャンセルの処理(第10章) | GAS |
| 在庫・入出庫・棚卸 | ||
| 棚卸調整フォームで実在数を入れて保存した | 棚卸調整の処理(第9章) | GAS |
| 入出庫のデータを追加した(在庫の指定があるもの) | 入出庫の区分に応じて、その在庫の現在庫数を足す・引く | アプリ |
| 入出庫の数量(入庫のカートン数・出荷の袋数)を直した | 直す前の数を取り消し、直したあとの数で在庫を足し引きし直す | アプリ |
| 入出庫のデータを削除した | 入庫なら在庫を減らし、出庫なら在庫を増やす(取り消し) | アプリ |
| 在庫のデータが更新された | 在庫と各マスタの「更新日」を更新する | GAS |
| 倉庫間移動 | ||
| 在庫一覧で「移動データを作成」を押した | 在庫移動データと、選んだ在庫ごとの移動明細を作る | アプリ |
| 移動の出荷を登録した | 移動元の在庫を減らし、出庫の履歴を追加し、移動データと明細を更新する | アプリ |
| 移動の入荷を登録した | 移動先の在庫を増やし(無ければ新しく作る)、入庫の履歴を追加し、移動データと明細を更新する | アプリ |
| 移動明細を出荷完了から出荷前に戻した | 出庫の履歴を消し、在庫を戻し、移動明細と移動データを戻す | アプリ |
| 帳票・定期処理 | ||
| 「各帳票出力」で出力を押した | 書類を作る。発注書・納品書・請求書・棚卸集計表(倉庫別・倉庫全体)はアプリが作り、受注表・発注集計・納品予定・支払予定額・在庫集計・貿易資料は GAS が作る。棚卸データの一括作成・一括削除はアプリが行う | アプリ/GAS |
| 「取扱商品履歴(発注先別)」で出力を依頼した | メーカー別の取扱商品履歴を作る | GAS |
| 毎月1日 0時 | 作ってから30日を過ぎ、発注明細が1件も無い商品を、商品マスタで非表示にする | アプリ |
- GAS(プログラム)がスプレッドシートに直接書き込んだ変更では、この表のアプリの自動処理は動きません。たとえば納品・出荷で GAS が追加した入出庫の履歴では、「入出庫のデータを追加した」の処理は動かず、在庫の増減は GAS がまとめて行います。
- このほか、以前の方式の自動処理がいくつか残っていますが、止めてあり動きません。
4. 発注(メーカーへ注文する)¶
- 何をする: メーカー(発注先)へ、商品ごとに数量(カートン)を注文。発注書を出力。
- 使うデータ: 発注管理データ(親)+明細テーブル(子)。
- ルール:
- 発注データを作るときに入れるのは、発注先・倉庫・締切日・納品予定月・担当者。発注日は、発注書を作成した日が自動で入る。
- 親のステータスは7段階。ボタンと納品の進み具合で変わる。
| ステータス | 変わるきっかけ |
|---|---|
| 発注作成中 | 発注データを作ったとき(初期値)。「作成中へ戻す」でも戻る(発注確認済み・納品前のとき) |
| 発注確認中 | 「発注確認依頼」を押した(発注作成中・発注修正中のとき) |
| 発注修正中(差戻し) | 確認する人が「差戻し」を押した(発注確認中のとき) |
| 発注確認済み | 確認する人が「確認」を押して確認者を入れた(発注確認中のとき)。確認flg・確認時間も入る |
| 納品前 | 「各帳票出力」の「発注書作成」で発注書を作成した。発注日も入る |
| 一部納品 | 納品処理で1つでも納品があり、まだ終わっていない明細が残っている |
| 納品完了 | 全明細が「完了」または「キャンセル」になった |
- 一覧では「納品前」と「一部納品」を1グループにまとめて表示(表示用ステータスという表示専用の列)。
- 発注点数 = 明細件数、納品点数 = 完了した明細数。
- 具体例: 「ピーナッツクラブ 5月発注」の中に「お風呂大好き 2箱」「耳ワンこ 2箱」…。
- 注意点: 発注先IDは正しいIDに変換してから取り込む。名前のまま取り込むと、金額集計でメーカー名が空欄になる等の不具合(過去に発生・恒久対応済み)。
- CSVで取り込むときは、CSV変換シートのメニュー「商品マスタCSVを書き出す」「発注明細CSVを書き出す」を使う(→第16章)。
- 発注書を出していない発注の明細は、納品予定データ(画面)には出ない(画面はステータスが納品前・一部納品の発注だけを対象にするため)。納品予定表(出力)は、数量が空欄・総入数が0の明細を含めない。
5. 納品・入荷(商品が届く → 在庫が増える)¶
- 何をする: 届いた商品を在庫に反映(在庫が増える)。3モード(一括/個別/分納)。
- 使うデータ: 明細テーブル(納品数・納品完了・納品日)/在庫管理テーブル(現在庫数)/入出庫テーブル(入庫履歴)。
- ルール(自動計算):
- 対象: 一括=発注の未完了の全明細/個別・分納=指定した1明細。
- 残数 = 発注数 −(キャンセル分)−(納品済み数)。この残数を超える納品はできない(過剰入荷を構造的に防止)。
- 納品する数: 一括・個別=残数全部/分納=入力した一部(残数でクランプ)。
- 在庫増 = 納品カートン数 × 総入数(個)。在庫は「商品 × 発売年月 × 倉庫 × 発注元」が同じ在庫に足し、まだ無ければ新しい在庫を作る。
- 納品完了判定: その明細の納品数が「発注数 − キャンセル」に達したら「完了」、途中なら「一部納品」。
- 納品日 = 実際に届いた日。優先順: 明細に既に入っていればそれを保持(上書きしない)→(一括のみ)発注ヘッダで入力した納品日 → 納品予定日 → 本日。
- 入庫履歴(入出庫テーブル)を1件追加(区分=入庫)。担当者も記録。
- 発注(親)の更新: 全明細が「完了」または「キャンセル」になったら「納品完了」、1つでも納品があれば「一部納品」、それ以外は「納品前」。納品完了になったときの親の納品日は、完了した明細のうち一番新しい納品日。
- 3つのモードの違い(例: 発注3箱):
| やったこと | 在庫に入る数 | 明細の状態 |
|---|---|---|
| 一括納品(まだ何も届いていない) | 3箱分 | 完了 |
| 分納で1箱 → あとで一括納品 | 1箱分 → 残りの2箱分 | 一部納品 → 完了 |
| 分納で5箱と入力 | 3箱分(残数で止まる) | 完了 |
- 具体例: 発注2箱のうち先に1箱届いた→分納で1箱納品(在庫+150個、明細=一部納品)。残り1箱が後日→完了。
- 注意点(重要): 納品日が実際とズレると支払予定額の支払月がズレます(第12章)。以前は「処理日」が自動で入る不具合がありましたが、実納品日を入力・保持するよう修正済み。
- 入荷取込: ハートランド社等の入荷情報(Excel)を取り込んで在庫反映する仕組みもあり。
6. 在庫管理(在庫のコア)¶
- 何をする: 在庫数を「商品 × 倉庫 × 発売年月 × 発注元」の組合せごとに管理。
- 主な数字:
| 数字 | 意味 | 計算・増減 |
|---|---|---|
| 現在庫数 | 今ある数 | 納品で増、出荷・メーカー返品・棚卸減で減 |
| 出荷予定数 | 出す予定の数 | 確認flgがONの出荷の、まだ出荷完了していない明細の個数の合計 |
| 有効在庫数 | 自由に使える数 | 現在庫数 − 出荷予定数 |
| 移動中数 | 送っている途中の数 | 移動中対象の出荷で +、入庫完了で − |
| 在庫評価額 | 金額換算 | 現在庫数 × 仕切(1個あたりの卸値) |
- いつ増えて、いつ減るか:
| 操作 | 現在庫数 | 出荷予定数 | 移動中数 |
|---|---|---|---|
| 納品(一括・個別・分納) | + | 変わらない | 変わらない |
| 出荷データを確認(「確認」で確認flgがON) | 変わらない | +(その出荷の明細の分) | 変わらない |
| 出荷完了(通常の送り先) | − | −(出荷した明細が外れる) | 変わらない |
| 出荷完了(移動中対象の送り先) | − | −(出荷した明細が外れる) | + |
| 入庫完了(移動中対象) | 変わらない | 変わらない | − |
| 出荷明細を「出荷前へ戻す」 | +(戻す) | +(また積まれる) | −(移動中対象のとき) |
| メーカー返品 | − | 変わらない | 変わらない |
| 販売先返品 | +(その出荷明細の在庫へ戻す) | 変わらない | 変わらない |
| 発注キャンセル | 変わらない | 変わらない | 変わらない |
| 棚卸調整 | 実在数に合わせて +/− | 変わらない | 変わらない |
- ルール: 有効在庫数はGASが在庫更新のたびに明示的に計算し直します(プログラムが直接書き込むと自動計算式が働かないため)。
- 移動中数を使うのは、移動中対象の送り先(海外法人など・出荷先マスタで設定)への出荷だけです。倉庫間移動では使いません。有効在庫数の計算にも移動中数は入りません。
- 仕切は1個あたりの卸値です(1箱あたりは「仕切@CT」)。
- 在庫一覧の色分け: 有効在庫数が0以下の在庫は、「商品ID」の欄に色が付きます(0はオレンジ、マイナスは赤)。
- 注意点: 同じ商品でも倉庫が違えば別在庫として数えます。期末の自社資産 = 現在庫数 + 移動中数。ただし、月末の棚卸データ(棚卸集計表)の評価には移動中数は含めません。
7. 出荷(お客様へ送る)¶
- 何をする: 受注→出荷。出荷完了にすると在庫が減る。
- 使うデータ: 出荷管理(親)+出荷明細(子)/在庫管理(現在庫数・移動中数)/入出庫(出庫履歴)。
- 流れ:
- 在庫一覧で在庫を選び「出荷データを作成」を押す。出荷データと、選んだ在庫ごとの出荷明細(数量0)ができる。この時点では出荷先などは入っていない。
- 出荷データを開き、「出荷情報入力」で出荷先・注文日などを入れる。納期は「納期を入力」でも入れられる。
- 「数量単位選択」で単位を選び、明細に数量を入れる。
- 作成した人が「出荷確認依頼」を押す。確認する人が「確認」を押して確認者を入れると、ステータスが「出荷前」になり、確認flgがONになる(出荷予定数に積まれる)。直してほしいときは「差戻し」を押す。
- 「一括出荷」(出荷データ)または「出荷完了」(出荷明細)を押し、入力画面で出荷日と担当者を入れる。
- ステータス(8段階):
| ステータス | 変わるきっかけ |
|---|---|
| 出荷データ作成中 | 出荷データを作ったとき(初期値)。「作成中へ戻す」でも戻る |
| 出荷データ確認中 | 「出荷確認依頼」を押した(出荷データ作成中・出荷データ修正中のとき) |
| 出荷データ修正中(差戻し) | 確認する人が「差戻し」を押した(出荷データ確認中のとき) |
| 出荷前 | 確認する人が「確認」を押した(出荷データ確認中のとき)。出荷完了の明細を全部戻したときも出荷前に戻る |
| 一部出荷 | 出荷完了の明細と、まだの明細がある |
| 出荷完了 | すべての明細が出荷完了(通常の送り先) |
| 移動中 | 移動中対象の送り先で、すべての明細が出荷完了 |
| 入庫完了 | 移動中の出荷で「入庫完了」を押した |
- ルール:
- 単位: ケース単位/袋単位の2つから選択。在庫増減は「個」ベース(総入数・袋入数で換算)。
- 通常出荷: 現在庫数 −X。
- 移動中対象(海外法人など・出荷先マスタのフラグで判定): 出荷時に 現在庫数 −X/移動中数 +X、入庫完了で 移動中数 −X(送り先は在庫管理外)。
- 在庫反映済み フラグで二重反映を防止。取消(出荷明細の「出荷前へ戻す」)は出荷明細IDで出庫を正確に削除。「出荷前へ戻す」は、出荷のステータスが出荷完了・一部出荷のときだけ出る(移動中・入庫完了では出ない)。販売先返品の記録がある明細は、押してもエラーで止まる。
- 出荷予定数: 出荷データが確認済み(確認flgがON)になると、その出荷の明細の数が在庫の出荷予定数に積まれ、出荷完了で外れる(→第6章)。
- 出荷日: 「一括出荷」の入力画面で入れた出荷日が、出荷データに入る。明細と出庫の履歴の日付には出荷データの出荷日が使われ、空欄なら処理した日が入る。
- 在庫数の欄: 出荷明細の「数量(袋)」の前に「在庫数」の欄があり、その在庫の有効在庫数(個数)を表示する。0以下のときは色が付く。
- 在庫がゼロ・マイナスのとき: 在庫を選んで出荷データを作ると、在庫がゼロ・マイナスの商品を含めても明細は作られる。数量(ケース・袋のどちらでも)を入れた時点で、有効在庫数を超えていればその欄に赤字でエラー(例:「在庫数が足りません」)が出て、保存できない。
- 具体例: Tamateco韓国へ100個出荷→現在庫−100・移動中+100。到着(入庫完了)→移動中−100。
- 注意点: 似た名前でも、初版と再販版は別の商品(別の在庫)として登録されている。在庫がゼロの行を選んでいないか、在庫数の欄で確認する。
8. 倉庫間移動¶
- 国内⇄海外など、倉庫から倉庫へ在庫を移す処理(移動管理+明細)。
- 移動元から出て(出荷)、移動先に入る(入荷)まで、途中経過を管理。数量はケース/個で扱う。
- 出荷処理で移動元の在庫が減り、入荷処理で移動先の在庫が増える(移動先にまだ在庫が無ければ新しく作る)。在庫の「移動中数」は使わない。
9. 棚卸調整(実数に合わせる)¶
- 何をする: 実際に数えた在庫(実在数)にアプリを合わせる。返品でもキャンセルでもない補正。
- ルール: 差分 = 実在数 − 現在庫数。
- 差分 > 0 → 現在庫数を増やし「棚卸調整入庫」を履歴に記録。
- 差分 < 0 → 現在庫数を減らし「棚卸調整出庫」を記録。
- 差分 = 0 → 何もしない。
- 有効在庫数も再計算。担当者・理由を記録。単位はカートン/袋/個(自動換算)。
- 具体例: 現在庫300・実在数250 → 差−50 →「棚卸調整出庫50個」・現在庫250。
- 注意点: 担当者を必ず選ぶ(誰が調整したかを残すため)。入力が必須の設定にはなっていないので、空欄のまま保存しないよう注意する。
10. 返品・キャンセル¶
- 何をする: 返品・取消を記録し在庫を調整。仕入数・返品数の内訳を保持(例: 仕入100 − 返品10 = 正味90)。
- 6パターン:
| 種類 | 個別/一括 | 在庫 | 履歴 |
|---|---|---|---|
| メーカー返品 | 両方 | 減る | 返品出庫 |
| 販売先返品 | 両方 | 増える | 返品入庫 |
| 発注キャンセル | 両方 | 動かない(数量減) | なし |
- 戻す先の在庫: 販売先返品は、その出荷明細で使った在庫(出荷元の在庫)に戻す。メーカー返品は、その発注明細の在庫から減らす。
- 一括処理はまとめて実行し、結果(成功/エラー)を行に書き戻して可視化。在庫不足時は事前検証で全体中止(安全弁)。
- 注意点: 海外(在庫管理外への販売)の返品は別要件で対応。移動中/入庫完了の販売先返品は非対応(ボタンが出ない)。
11. 納品書・請求書 OCR照合¶
- 何をする: 紙・PDFの納品書/請求書を読み取り、アプリの発注データと突き合わせて正しさを確認。
- 仕組み:
- 読み取り(OCR): PDFをアップロード → AIが日付・商品・数量・金額などを構造化して抽出。1PDFに複数伝票があれば自動分離。受領書セクションは自動除外。
- 候補マッチング: 抽出伝票に対し、発注先・日付・金額の近さをスコア化して対応する発注候補を提示。手動検索での追加も可。
- 照合ステータス(3段階): 明細ごとに 未照合/部分照合/照合済。分納は残数量ベースで累計。
- 判定は「個」で行う。照合した数の累計が0なら「未照合」、目標の数に届いていなければ「部分照合」、届いたら「照合済」。
- 目標の数は、納品書の照合では納品済みの数、前払いの請求書の照合では発注した数。
- 全明細が照合済の発注は候補に出さない。部分照合の発注は残りの数で候補に出す。
- 複数発注にまたがる納品書にも対応(候補の複数選択・明細統合)。
- 支払突合: 納品書↔請求書の2者を、取引先ごと・全体合計で差異表示。請求書は1PDF=1レコードで管理。
- 金額はすべて税抜で比べる。納品書・請求書の明細の「金額」(税抜)の合計どうしを比べる。伝票末尾の「今回御買上額」は、メーカーによって税込・税抜が違うため使わない。
- 書き戻し: 照合結果を発注データへ反映。履歴の読み取り専用ビューで確認、一括やり直しも可能。
- 読み取りに使うAI: Google の Gemini 3.5 Flash(2026年9月に Gemini 2.5 Flash から切り替え)。
- 注意点: 先方アカウントでも動くよう認証方式を調整済み。運用は「1PDF=1仕入先」でスキャン。
12. 支払予定額(いつ・いくら払うか)¶
- 何をする: ある支払月に、メーカーへ合計いくら払う見込みかを算出。
- ルール(3区分):
| 区分 | 対象 | 支払月の基準 |
|---|---|---|
| 確定済み | 納品完了の明細 | 実際の納品日 + 支払サイト |
| 納品前予定 | 納品前の明細(一部納品の明細を含む) | 納品予定 + 支払サイト |
| 前払 | 前払い取引先 | 発注月(サイト無視) |
- 区分の決め方(明細ごと):
- 発注先の支払区分が「前払」なら、納品の状態に関係なく前払(支払月=発注した月)。
- それ以外で、明細の納品完了が「完了」なら確定済み。
- それ以外(納品前・一部納品)は納品前予定。一部納品の明細は、届いた分と残りに分けず、明細まるごと納品前予定に入る。
- 基準の月の選び方:
- 確定済み: 納品日 → (納品日が空なら)納品予定 → (それも空なら)発注した月。納品日が空で推定した明細は、出力ファイルの「要確認_支払月推定」タブに一覧で出る。
- 納品前予定: 納品予定 → (空なら)発注した月。
- 「納品予定」は、納品予定日があればその月、無ければ納品予定月(例:「7月」)を使う。納品予定月が発注した月より前なら翌年の月とみなす。
- 支払サイトのずれ(発注先マスタの支払サイト。空欄は翌月末として扱う): 当月末=0 / 翌月末=+1か月 / 翌々月末=+2か月。支払月 = 基準月 + ずれ。
- 金額: 明細の「仕切_合計金額」(仕切@CT × 数量)を、区分 × 発注先ごとに合計する。
- 仕切未入力の明細は金額0で埋もれないよう「要確認」として件数可視化。
- キャンセル明細は対象外。
- 「すでに支払ったかどうか」は追っていない。対象の月に支払月が来る明細をすべて合計する。
- 具体例: 5月納品完了・翌月末 → 6月末支払。前払い先を6月発注 → 6月支払。
- 注意点(最重要): 計算は「納品日」を使う。納品日が実際とズレると支払月がズレる。
- 実例: 5月出荷の商品を、アプリの納品処理を6/6に行うと納品日=6/6となり、本来6月末払いが7月末払いに見えた(不具合として発見)。対策として実納品日を保持する修正+確認用リストを用意済み。
13. 前払い(先払い)照合¶
- 前払い取引先(発注先マスタの支払区分=前払)は、在庫に波及させず、発注月に支払い計上。納品が済んでいても済んでいなくても、支払予定額では「前払」の区分に入る。
- 前払い請求書は商品内訳ありの様式で照合(通常の納品書と同形式)。商品が実際に届いたら通常の納品処理で在庫計上。
14. 帳票(書類の出力)¶
| 書類 | 入力 | 出力の主な内容 |
|---|---|---|
| 受注表 | 受注データ | 注文内容の確認表 |
| 発注書 | 発注データ | メーカーへの発注書 |
| 納品書・請求書 | 出荷・受注 | 取引の証憑 |
| インボイス | 出荷・商品 | 貿易書類(原材料を自動英訳) |
| 貿易資料(現在在庫) | 有効在庫>0の在庫 | 発売予定月・納品日・メーカー名(日本語/英語)・商品名(日本名/英語名)・JAN CODE・素材(英)・ジャンル・入り数・箱/袋数・現在個数(箱/袋)・上代・1商品の単価・1箱販売価格・仕入れ価格(箱)・箱サイズ・箱重量・対象年齢・輸出禁止国(21項目・倉庫別タブ) |
| 納品予定表 | 発注明細 | 納品予定の月別・倉庫別の一覧。発注書を出していない明細(数量が空欄・総入数が0)は含めない |
| 現在庫集計 | 在庫 | 今の在庫一覧 |
| 棚卸集計表 | 棚卸データ(棚卸履歴) | 月末時点の在庫の数と在庫評価額(倉庫全体・倉庫別)。2段階で出す(下記) |
| メーカー別 取扱商品履歴 | 明細+在庫 | メーカーごとの過去取扱全商品(26項目・個別/複数/一括・期間絞込) |
| 支払予定額 | 明細+支払条件 | 3区分の集計(第12章) |
棚卸集計表の出し方(2段階) 1. 「棚卸集計表作成」の画面で、確認基準日を対象月の月末にする。 2. 「過去データを一括作成」(棚卸データ作成)を押す。その月末時点の在庫数が計算され、棚卸データが作られる。過去の月も、基準日より後の入出庫を差し引いてその時点の数に戻して作れる(ただし棚卸調整の入出庫は差し引かれない)。 3. 「棚卸データを一括出力」を押す。棚卸データをもとに棚卸集計表が作られる。 - 2を飛ばして3だけ行うと、明細0件・0円の表になる(読むデータが無いため)。 - 棚卸データの評価には、在庫の移動中数は含めない。
出力先と実行者
- 出力した書類は、帳票ごとの保存フォルダに入る(多くは共有ドライブ「在庫管理アプリ」の 04.アプリ出力データ の中。第2-4章)。
- 実行者は、管理テーブル・出力情報タブ・ファイル名の末尾の3か所に残る(第2-4章)。紙面には印字しない。
15. 数量・単位の仕組み¶
- カートン(箱/C/S)=仕入れ基本単位/総入数=1カートンの個数/袋=1カートンの袋数。
- 換算: 個 = カートン × 総入数、袋 → 個 = 袋数 × 袋入数。
- 例: 150個入りを2カートン → 300個。
- 在庫増減・照合は「個」基準。入力はカートン/袋/個のいずれでも可。
16. 業務ルール・安全設計・主な修正履歴¶
業務ルール(要点) - 有効在庫数 = 現在庫数 − 出荷予定数。 - 納品日は「実際に届いた日」を入れる(支払予定額が依存)。 - 在庫は「商品 × 倉庫 × 発売年月 × 発注元」ごと。 - 発注先IDは正しいIDに変換してから取り込む。 - 海外向けは「移動中」で所有権移転を管理。前払いは在庫波及なし・発注月計上。 - 棚卸集計表は「棚卸データ作成 → 出力」の2段階で出す。
CSV変換シート(商品マスタ・発注明細の取り込み)
- アプリへ取り込むCSVは、CSV変換シートのメニュー「データ変換」から受け取る。
- 「商品マスタCSVを書き出す」「発注明細CSVを書き出す」: 変換 → 出力用シートのID(発注先ID・発注元ID・倉庫ID)の確認 → ダウンロード、を1回の操作で行う。
- 変換できない値や、マスタと一致しないIDが1件でもあれば、書き出さずに止まり、該当する行を表示する。
- 入力用のタブは名前に「(DLしない)」が付いている(商品マスタ_入力用(DLしない)・発注明細_入力用(DLしない))。このタブを「ファイル → ダウンロード」でCSVにして取り込むと、会社名のままのIDが入ってしまうため、使わない。
安全設計 - 在庫がマイナスになる返品はエラーで停止。 - 出荷は、在庫がゼロ・マイナスでも明細は作られる。数量を入れた時点で、有効在庫数を超えていれば赤字のエラーになり保存できない。 - 一括処理は在庫不足なら全体中止+結果を可視化。 - 納品は残数でクランプ(過剰入荷を防止)。二重反映はフラグで防止。
現在は使っていない機能(仕組みは残っているが、動かしていない) - 発注集計メール: 毎月20日に発注集計を担当者へメールで送る機能。定期実行を止めている。発注集計データ(月別)・発注集計表の出力は使える。 - 在庫アラート: 在庫数がしきい値を下回るとメールで知らせる機能。代わりに、在庫一覧の色分け(有効在庫数が0以下)と、出荷明細の「在庫数」の欄で確認する。
主な修正履歴(品質改善の記録)
- 発注ステータスが「一部納品」で止まる不具合を修正。
- 分納後に一括納品すると過剰計上する不具合を修正。
- 納品日が「処理日」で上書きされ支払月がズレる不具合を修正(実納品日を保持)。
- 貿易資料の対象年齢が全て「x」になる不具合を修正(2026-07-16 にいったん項目を削除し、2026-07-23 から商品マスタの入力値をそのまま出す形で出力を再開)。
- 発注先IDが日本語のまま取り込まれる不具合の恒久対応。
- 2026-08-18: 納品予定データ・納品予定表に、発注書を出していない明細(数量が空欄・総入数が0)が混ざる不具合を修正。
- 2026-08-18: 貿易書類のうち、梱包明細の自動作成を廃止(使わないとのご回答により)。
- 2026-08-18: 仕様書・操作マニュアルを Google ドキュメントにし、ヘルプチャット(AIチャット)を用意。
- 2026-08-30: 在庫がマイナスの商品を含むと出荷明細が1件も作られない不具合を修正。明細は作り、数量を入れた時点でエラーを出す形に変更。ケース単位で入力したときに在庫の確認が抜けていた点も修正。在庫一覧で有効在庫数が0以下の行に色を付けた。
- 2026-08-31: アプリのデータと出力先を、共有ドライブ「在庫管理アプリ」へ移した(出力先は 04.アプリ出力データ)。
- 2026-08-31: 帳票の実行者を、管理テーブル・出力情報タブ・ファイル名の末尾に残すようにした(紙面には印字しない)。
- 2026-09-06: 受注表でメーカー名が空欄になった明細(発注元ID・発注先ID・倉庫IDが会社名のまま取り込まれていた)のデータを修正。
- 2026-09-07: CSV変換シートに「商品マスタCSVを書き出す」「発注明細CSVを書き出す」のメニューを追加し、入力用のタブ名を「(DLしない)」付きに変更。
- 2026-09-15: 出荷明細に「在庫数」の欄を追加(0以下で色付け)。
- 2026-09-22〜23: ご依頼により、7月の棚卸調整を調整前の数に戻した(データの修正)。
- 2026-09-23: メインのスプレッドシートのタイムゾーンを日本時間(Asia/Tokyo)に変更。発注集計メールの定期実行を停止。
- 2026-09-26: OCR照合で使うAIを Gemini 2.5 Flash から Gemini 3.5 Flash に切り替え(2.5 Flash の提供終了への対応)。
17. やさしい用語辞典¶
| 言葉 | 言い換え |
|---|---|
| マスタ | くり返し使う情報の台帳 |
| トランザクション | 日々の取引の記録 |
| 明細 | 注文・出荷の中の商品ごとの行 |
| 発注先/得意先/出荷先 | 仕入先/売る相手/送り先 |
| 現在庫数/有効在庫数 | 今ある数/自由に使える数(今ある数−出荷予定) |
| 出荷予定数/移動中 | 出す予定の数/送っている途中 |
| 納品・入荷/出荷 | 届く(在庫増)/送り出す(在庫減) |
| 分納 | 注文の一部だけ先に届くこと |
| 棚卸 | 実数を数え直して合わせること |
| 照合(OCR照合) | 納品書・請求書を読み取り正しいか突き合わせる |
| 支払サイト | 支払いの期日ルール(翌月末など) |
| 上代/仕切/仕切@CT | 定価/卸値/1箱あたりの卸値 |
| 総入数/袋入数 | 1箱の個数/1袋の個数 |
| JANコード | 商品のバーコード番号 |
| GAS/AppSheet | 裏側の自動計算プログラム/アプリの土台 |
付録:関連資料¶
- 操作マニュアル: 返品・キャンセル/納品書・請求書OCR照合/棚卸調整/棚卸集計表/発注・納品・出荷 の操作手順をまとめています。Google ドキュメント版(ヘルプチャットが参照しているもの)と、PDF 版(一部の章は画面写真つき)があり、どちらも共有ドライブ「在庫管理アプリ/03.仕様書・操作マニュアル」に置いています。
- 列(項目)ごとの詳細: AppSheet の定義書を PDF にしたもの(同じフォルダ)。
- 在庫数・納品処理・支払予定額・OCR照合の計算の仕組みは、本書の第5〜12章にまとめています。より深い技術情報が必要な場合は開発担当までご依頼ください。