コンテンツにスキップ

在庫・受発注管理アプリ 仕様書(詳細版)

最終更新: 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章にまとめています。より深い技術情報が必要な場合は開発担当までご依頼ください。