STEP 01 — 業務システムの素材を投入
マニュアルでも、メールでも、Excelでも、録音でも。
マニュアルでも、メールでも、Excelでも、録音でも。
AIが、あなたの業務システムを組み上げます。
形式や種類は問いません。複数まとめて投入するほど、構築の精度は高まります。
手元のファイルを投入する
ファイルをドラッグ&ドロップ または クリックで選択
業務マニュアル・メール・議事録・録音・図表 など何でも
PDF · DOCX · XLSX · XLSM · TXT · MP3 · WAV · PNG · JPG · …
サンプル素材から選ぶ
FORMAT · PDF
業務マニュアル
在庫管理業務マニュアル_v3.2.pdf
発注ルール・棚卸手順・ABC運用方針 全28ページ
+ 投入リストに追加
FORMAT · MBOX
メールスレッド
在庫担当_やりとり_2026Q1.mbox
在庫担当 × 購買部 × 製造部の発注・入庫メール142通
+ 投入リストに追加
FORMAT · XLSM
Excelファイル
在庫管理表_マクロ付.xlsm
現場で長年使われてきたマクロ入り台帳・発注点計算VBA
+ 投入リストに追加
FORMAT · MP3
会議の録音
在庫業務見直しMTG_2026-04-22.mp3
関係者で在庫課題を議論した47分のMTG録音
+ 投入リストに追加
投入する素材
まだ投入された素材はありません。上のドロップゾーンからファイルを投入してください。
素材を1つ以上投入すると、構築できます
STEP 02 — 解析中
投入された情報から業務システムを組み立てています
業務上のオブジェクト・操作・ルールを抽出し、画面とデータ構造を構築します
SOURCE — 投入された素材
1
入力資料を読み取り、業務領域を特定
2
登場するオブジェクト(品目・在庫・発注など)を抽出
3
業務ルール(発注点・ABC区分・アラート条件)を構造化
4
画面レイアウトとデータベース設計を生成
5
業務システムを起動準備
同時生成される成果物
画面プレビュー
UI / 動作可能アプリ
待機
機能一覧
業務画面・マスタ・バッチ
待機
業務マニュアル
運用手順 / ルール / FAQ
待機
画面定義書
項目 / イベント / API
待機
バッチ定義書
在庫アラート / 滞留評価
待機
データモデル
テーブル / リレーション / ER
待機
STEP 03 — 完成
投入素材 0件 から構築
在庫管理アプリ ができました。
投入された素材から、業務上のオブジェクト・操作・ルールをAIが抽出し、画面とデータ構造を組み上げました。
下のチャット欄に日本語で書くだけで、画面を自由に修正できます。
下のチャット欄に日本語で書くだけで、画面を自由に修正できます。
画面プレビュー 自動生成
機能一覧 20
業務マニュアル
画面定義書
バッチ定義書
データモデル
総品目数
247SKU
アクティブ品目のみ集計
在庫アラート
5件
発注点を下回る品目
今月出庫額
¥48.2M
2026年5月(速報値)
| 品目コード | 品目名 | 在庫数 | 安全在庫 | ABC | ステータス |
|---|
20
機能 合計
5
業務画面
8
マスタ管理
4
モーダル
3
バッチ
業務画面 5
| ID | 機能名 | 種別 | 概要 |
|---|---|---|---|
| INV1SC1001 | 在庫管理 / 品目一覧 | 画面 | 品目の一覧・検索・ABC/ステータス絞込、発注書自動作成 |
| INV1SC1002 | 品目詳細 | 画面 | 1品目の在庫推移・発注履歴・滞留判定の確認 |
| INV1SC2001 | 入出庫履歴 | 画面 | 入出庫の一覧・期間絞込・参照番号トレース |
| INV1SC3001 | 発注管理 | 画面 | 発注ドラフトの確認・承認、ステータス管理 |
| INV1SC4001 | レポート・分析 | 画面 | ABC分析・滞留TOP10・月次出庫推移、PDF/Excel出力 |
マスタ管理画面 8
| ID | 機能名 | 種別 | メンテナ |
|---|---|---|---|
| INV1MS1001 | 品目マスタ一覧 | 画面 | 在庫管理 |
| INV1MS1002 | 品目マスタ編集 | モーダル | 在庫管理 |
| INV1MS2001 | 倉庫マスタ一覧 | 画面 | 物流管理 |
| INV1MS2002 | 倉庫マスタ編集 | モーダル | 物流管理 |
| INV1MS3001 | 仕入先マスタ一覧 | 画面 | 購買 |
| INV1MS3002 | 仕入先マスタ編集 | モーダル | 購買 |
| INV1MS4001 | ユーザーマスタ一覧 | 画面 | システム管理 |
| INV1MS4002 | ユーザーマスタ編集 | モーダル | システム管理 |
モーダル 4
| ID | 機能名 | 種別 | 起動元 |
|---|---|---|---|
| INV1MD1001 | 新規品目の登録 | モーダル | 在庫管理 |
| INV1MD2001 | 入出庫の登録 | モーダル | 入出庫履歴 |
| INV1MD3001 | 新規発注の起票 | モーダル | 発注管理 |
| INV1MD4001 | 業務ルール編集 | モーダル | 設定 |
バッチ 3
| ID | 機能名 | 種別 | トリガー | 概要 |
|---|---|---|---|---|
| BAT_INV_001 | 在庫アラート評価 | バッチ | 1時間毎 | 全品目の在庫数を発注点と比較し、ドラフト発注書を生成 |
| BAT_INV_002 | 滞留在庫レポート配信 | バッチ | 毎週月曜 09:00 | 30日以上動きのない品目を抽出 → メール/Slack配信 |
| BAT_INV_003 | データクリーンアップ | バッチ | 月次 第1日曜 02:00 | 1年超の入出庫履歴を t_io_archive へ移動 |
#manual #user-guide #operations
document_id: INV1_OPS_MANUAL_v1.0
title: 在庫管理アプリ 業務マニュアル
target: 在庫管理担当・購買担当・倉庫担当
last_update: 2026-05-11
document_id: INV1_OPS_MANUAL_v1.0
title: 在庫管理アプリ 業務マニュアル
target: 在庫管理担当・購買担当・倉庫担当
last_update: 2026-05-11
在庫管理アプリ 業務マニュアル
📘
このマニュアルの読み方
まず 「2. よくある操作シナリオ」 から、自分の仕事に近いカードを開いてください。
詳しい画面の見方は 「3. 画面別 操作ガイド」、ルール/自動処理/FAQ は 「4〜7章」 にあります。
詳しい画面の見方は 「3. 画面別 操作ガイド」、ルール/自動処理/FAQ は 「4〜7章」 にあります。
1. はじめに
1.1 このアプリで何ができるか
- 現品在庫の見える化: 今いくつ・どこにあるかを即座に把握
- 発注タイミングの自動判定: 在庫が減ったらアプリが先に気づいてドラフトを起票
- 入出庫の記録: 入庫・出庫を登録するだけで在庫数が自動更新
- 滞留品目の早期発見: 30日動いていない在庫を毎週月曜に通知
- 月次レポートの自動作成: ABC分析・出庫推移を PDF/Excel で出力
1.2 担当別 やること早見表
| 担当 | 毎日 | 毎週 | 毎月 |
|---|---|---|---|
| 倉庫担当 | 入出庫の登録 | — | 棚卸(差異があれば逆伝票で調整) |
| 在庫管理担当 | 在庫アラート確認 | 月曜: 滞留在庫レポート確認 | 第1営業日: ABC区分の再判定確認 / 月末: レポート出力 |
| 購買担当 | 発注ドラフトの承認 | — | 四半期: 仕入先マスタ棚卸 |
1.3 業務全体フロー
① 入庫
→
② 在庫自動更新
→
③ 出庫
→
④ アラート判定
→
⑤ 発注ドラフト自動起票
→
⑥ 承認・発注
2. よくある操作シナリオ
日常業務の場面別に、何をどう操作するかを示します。青の番号は順番、オレンジの番号は画面上の位置を表します。
1
朝のルーティン(在庫アラート確認)
- サイドバーの「在庫」アイコンをクリック → 在庫管理 / 品目一覧 が開く
- 「ステータス」から 発注必要 を選択 → アラート品目だけが残る
- 件数を確認(画面上部「在庫アラート ◯件」KPI) → 例: 5件あれば、5件分のフォローが必要
-
発注書 自動作成 をクリック
→ 発注必要な品目の発注ドラフトが一括生成される
✓ 完了: 購買担当へ承認待ちで引き継ぎ
💡
ヒント
発注書を作る前に、件数が普段より極端に多い日は「業務ルール」設定(安全係数など)を見直すサインです。
2
入庫が来たら登録する
- サイドバーから「入出庫履歴」を開く
- 右上の + 入出庫登録 をクリック
-
モーダルで以下を入力:
・種別: 入庫
・品目コード(一部入力で候補表示)
・数量
・参照番号(発注書番号があれば入力) -
登録する をクリック
✓ 在庫数が即時に更新される
⚠️
注意
登録した伝票の直接削除はできません。間違えた場合は、同じ品目で逆方向(出庫)の伝票を切って打ち消してください。
3
出庫指示が来たら登録する
- 「入出庫履歴」を開き、+ 入出庫登録
- 種別を 出庫 に切替
- 品目・数量・参照番号(出荷指示番号)を入力 → 登録する
-
出庫後、在庫がアラート水準に達したか確認
→ 達した場合は画面上部の「在庫アラート」KPIが増える
✓ 1時間以内に発注ドラフトが自動起票
4
発注ドラフトを承認する
- サイドバーから「発注」を開く
- 「ステータス」を 起票中 に絞る → 承認待ちの自動起票ドラフトが一覧表示
- 各行の発注数量・納期・仕入先を確認 → 違和感があれば数量を編集
-
問題なければ 一括発注承認 をクリック
✓ ステータスが「発注済」に変わる
💡
ヒント
起票区分が auto のものはバッチ自動起票、manual は人が起票したものです。両方とも同じ画面で承認できます。
5
新しい品目を取扱開始する
- 「在庫管理 / 品目一覧」を開く
- 右上の + 新規品目 をクリック
- モーダルで品目コード・品目名・ABC区分・初期在庫数・安全在庫数・保管場所・標準仕入先を入力 ⚠️ 安全在庫数の入力を忘れるとアラート判定が機能しません
-
登録する をクリック
✓ 一覧の先頭に新規品目が追加される
6
滞留品目を見つけたら(月曜朝)
- 月曜朝に メール / Slack #inventory-alerts で滞留レポートが届く
- 「レポート・分析」画面で 滞留在庫 KPIを確認
- 該当品目をクリック → 過去出庫推移と 在庫金額を確認
-
次のいずれかを判断:
・廃棄: 上長承認の上、出庫伝票(種別=出庫, 参照=「廃棄」)
・値引き販売: 営業へ連携
・他倉庫転送: 倉庫担当へ依頼
3. 画面別 操作ガイド
各画面の「どこに何があるか」を視覚的に示します。番号は下の凡例と対応しています。
3.1 在庫管理 / 品目一覧(INV1SC1001)
用途: 全品目の現在庫を一覧で確認し、発注必要品目を素早く特定する。
画面構成(在庫管理 / 品目一覧)
2
3
| コード ▼ | 品目名 | 在庫 | 安全 | ABC | 状態 |
|---|---|---|---|---|---|
| A-1020 | 真鍮丸棒 φ10 | 85 | 100 | A | ● 発注必要 |
| A-1031 | SUS304 シート 2.0t | 240 | 150 | A | ● 適正 |
| B-2014 | M6 ステンレスナット | 1,820 | 1,500 | B | ● 注意 |
| C-3005 | 梱包用 PE 袋 大 | 12,400 | 5,000 | C | ● 適正 |
5
247件中 4件表示 · Last sync: 2026-05-11 09:00
1
パンくず・タイトル今いる画面の位置を表示
2
検索・絞り込み品目コード/品目名の部分一致、ABC区分、ステータスで絞る
3
絞り込み解除条件をすべてクリア
4
アクションボタン+新規品目 / 発注書 自動作成
5
件数・同期時刻バッチ最終同期の時刻を確認
| やりたいこと | 操作 |
|---|---|
| 品目を検索する | ②の検索欄に品目コード or 品目名の一部を入力(部分一致) |
| ABC区分で絞り込む | ②の「ABC区分」プルダウンから A / B / C を選択 |
| 発注必要品目だけ見る | ②の「ステータス」プルダウンから「発注必要」を選択 |
| 列で並べ替える | テーブル列見出し(コード・品目名・在庫数 等)をクリック 1回目=昇順 / 2回目=降順 / 3回目=解除 |
| 新規品目を登録 | ④の + 新規品目 → モーダル入力 → 登録 |
| 発注書を自動作成 | ④の 発注書 自動作成 → 発注点割れ品目のドラフトを一括起票 |
3.2 入出庫履歴(INV1SC2001)
用途: 過去の入庫・出庫履歴を確認し、参照番号で発注書や出荷指示と突合する。
画面構成(入出庫履歴)
2
| 日時 | 種別 | 品目コード | 品目名 | 数量 | 参照 |
|---|---|---|---|---|---|
| 05-11 09:15 | 入庫 | A-1020 | 真鍮丸棒 φ10 | 500 | PO-2026-0418 |
| 05-11 11:32 | 出庫 | B-2014 | M6 ステンレスナット | 300 | SO-2026-0507 |
| 05-10 16:48 | 出庫 | A-1020 | 真鍮丸棒 φ10 | 120 | SO-2026-0506 |
1
画面タイトル入出庫履歴 画面の表示位置
2
絞り込み参照番号でのトレース / 期間(本日・7日・30日)/ 種別(入庫・出庫)
3
新規登録+ 入出庫登録 から伝票を起票
⚠️
この画面で絶対やってはいけないこと
登録済み伝票の直接削除は不可です。誤登録は逆伝票で打ち消してください(例: 入庫500を間違えた → 出庫500を同じ参照番号で起票)。
3.3 発注管理(INV1SC3001)
用途: 自動起票された発注ドラフトを確認・承認し、仕入先へ発注を確定する。
画面構成(発注管理)
2
| 発注番号 | 品目 | 数量 | 仕入先 | 納期 | 起票 | 状態 |
|---|---|---|---|---|---|---|
| PO-2026-0512 | 真鍮丸棒 φ10 | 500 | 中部金属工業 | 05-18 | auto | ● 起票中 |
| PO-2026-0508 | SUS304 シート 2.0t | 200 | 東邦電線 | 05-15 | manual | ● 発注済 |
1
画面タイトル発注管理 画面の表示位置
2
絞り込みステータス(起票中/発注済/入荷待ち/完了)/ 仕入先で絞る
3
アクション+新規発注 / 一括発注承認(起票中をまとめて発注済へ)
| ステータス | 意味 | 担当者の対応 |
|---|---|---|
| ● 起票中 | 自動 or 手動でドラフトが作られた状態 | 内容確認 → 承認 or 修正 |
| ● 発注済 | 仕入先へ発注書を送付済 | 納期管理 |
| ● 入荷待ち | 仕入先から納期回答受領済 | 入荷時に「入出庫履歴」で入庫登録 |
| ● 完了 | 全数入庫完了 | — |
📋
承認時のチェック観点
起票区分が auto のドラフトは、発注数量・納期・仕入先の3点を確認してから承認してください。
発注点・安全在庫の設定が古いと過剰発注の原因になります(→ 設定 → 業務ルール)。
3.4 レポート・分析(INV1SC4001)
用途: 在庫金額・ABC構成比・滞留在庫・月次出庫推移を可視化する。月次の経営報告に利用。
- 4つのKPI: 総在庫金額 / 欠品リスク / 月次出庫額 / 滞留在庫 — 画面上部に常時表示
- 月次出庫額推移: 過去12ヶ月のグラフ(百万円単位)
- ABC分析テーブル: 区分別の品目数・在庫金額・回転率
- 滞留TOP10: 30日以上動きがない品目を金額順で表示
- 右上 ⤓ PDF出力 / ⤓ Excel出力 で帳票として配布可能
3.5 マスタ管理(品目・倉庫・仕入先・ユーザー)
| マスタ | 主な保守タイミング | 担当 |
|---|---|---|
| 品目マスタ | 新規取扱開始 / 仕様変更時 | 在庫管理担当 |
| 倉庫マスタ | 倉庫追加・閉鎖時 | 物流管理担当 |
| 仕入先マスタ | 新規取引開始 / リードタイム変更時 | 購買担当 |
| ユーザーマスタ | 入退社時 / 権限変更時 | システム管理担当 |
4. 業務ルール
4.1 ABC区分
月次出庫額に基づき、品目を A / B / C に自動分類します。区分により管理の手間配分が変わります。
| 区分 | 判定基準 | 運用方針 |
|---|---|---|
| A | 月次出庫額 累積構成比 上位70% | 毎日在庫確認、欠品厳禁、安全在庫を厚めに設定 |
| B | 累積構成比 70〜90% | 週次で在庫確認、標準的な安全在庫設定 |
| C | 累積構成比 90〜100% | 月次で在庫確認、安全在庫は最小限 |
再判定タイミング: 月次第1営業日にバッチで自動再判定。
4.2 安全在庫と発注点
発注点 (reorder_point):
= 平均日次出庫数 × リードタイム × 安全係数
# 安全係数の既定値: 1.65(サービス率95%相当)
発注数量 (order_qty):
= 発注点 × 1.5 - 現在庫
# 標準仕入先のロットサイズに丸めて発注
= 平均日次出庫数 × リードタイム × 安全係数
# 安全係数の既定値: 1.65(サービス率95%相当)
発注数量 (order_qty):
= 発注点 × 1.5 - 現在庫
# 標準仕入先のロットサイズに丸めて発注
4.3 アラート判定
| ステータス | 判定条件 | 表示 |
|---|---|---|
| alert(発注必要) | 在庫数 ≤ 安全在庫 | ● 赤 |
| warn(注意) | 在庫数 ≤ 安全在庫 × 1.2 | ● 黄 |
| ok(適正) | それ以外 | ● 緑 |
5. 自動処理(バッチ)の運用
| バッチ | 実行頻度 | 担当者の確認事項 |
|---|---|---|
| 在庫アラート評価 | 営業時間中 1時間毎 + 日次03:00 | 翌朝、発注管理画面で「起票中(auto)」を承認 |
| 滞留在庫レポート配信 | 毎週月曜 09:00 | 滞留品目について廃棄 / 値引き / 転送を判断 |
| データクリーンアップ | 月次 第1日曜 02:00 | 通常は操作不要。エラー時のみシステム管理担当へ通知 |
6. 月次運用カレンダー
| タイミング | 作業 | 担当 |
|---|---|---|
| 第1営業日 | ABC区分の再判定結果を確認、業務ルール設定の見直し | 在庫管理担当 |
| 毎週月曜 | 滞留在庫レポート確認 → アクション決定 | 在庫管理担当・購買担当 |
| 毎日朝 | 発注ドラフト承認、欠品リスク品目の確認 | 購買担当 |
| 月末 | レポート・分析画面から PDF / Excel 出力 → 経営報告 | 在庫管理担当 |
| 四半期 | 仕入先マスタの棚卸(リードタイム・ロットサイズの実績見直し) | 購買担当 |
7. トラブルシューティング(FAQ)
| 症状 | 原因の可能性 | 対応 |
|---|---|---|
| 在庫数が実物と合わない | 入出庫登録漏れ・誤登録 | 入出庫履歴で当該品目を検索 → 不整合伝票を特定 → 逆伝票で訂正 |
| 発注ドラフトが生成されない | 業務ルール「自動発注」がOFF | 設定 → 業務ルール画面で確認・有効化 |
| 同じ品目で発注ドラフトが重複生成 | 既存ドラフトが「起票中」のまま放置 | 古いドラフトを確認 → 統合 or 削除してから再評価 |
| アラートが表示されない | 安全在庫が0または未設定 | 品目マスタ編集で安全在庫を設定 |
| 滞留在庫メールが届かない | ユーザーマスタのメールアドレス未登録 | システム管理担当に通知先設定を依頼 |
| 検索しても品目が出てこない | 絞り込み条件が残っている | 「絞り込みを解除」ボタンで条件をクリア |
8. 関連ドキュメント
- 機能一覧: 業務画面・マスタ・モーダル・バッチの全機能インデックス
- 画面定義書: 各画面の項目・イベント・API仕様(情シス向け)
- バッチ定義書: 自動処理の入出力・処理フロー・通知設定(情シス向け)
- データモデル定義: テーブル設計・リレーション・ER図(情シス向け)
このマニュアルは投入された素材(業務マニュアル・メール・録音・Excel)から自動生成されました。
現場の運用と齟齬がある場合は、チャット欄に「〇〇の手順を△△に変更して」と指示することで、AIが再生成します。
現場の運用と齟齬がある場合は、チャット欄に「〇〇の手順を△△に変更して」と指示することで、AIが再生成します。
#spec #screen
screen_id: INV1SC1001
screen_name: 在庫管理 / 品目一覧
pattern: 検索・絞込型一覧
last_update: 2026-05-11
screen_id: INV1SC1001
screen_name: 在庫管理 / 品目一覧
pattern: 検索・絞込型一覧
last_update: 2026-05-11
INV1SC1001 在庫管理 / 品目一覧
画面概要
- 目的: 全品目の在庫状況を一覧表示し、ABC区分・ステータスで絞込
- できること: 検索、ABC/ステータス絞込、ソート、新規品目登録、発注書自動作成
- 利用者: 在庫管理担当・購買担当
- セクション構成: ヘッダー(A)、検索条件(B)、品目一覧(C)、フッター(D)
項目定義
セクションA: ヘッダー
items:
- id: "A-1" type: label label: "在庫管理"
- id: "A-2" type: button label: "+ 新規品目"
- id: "A-3" type: button label: "発注書 自動作成" # primary
- id: "A-1" type: label label: "在庫管理"
- id: "A-2" type: button label: "+ 新規品目"
- id: "A-3" type: button label: "発注書 自動作成" # primary
セクションB: 検索条件
filters:
- 品目コード・品目名 (text / partial match)
- ABC区分 (select: A / B / C)
- ステータス (select: 発注必要 / 注意 / 適正)
- 品目コード・品目名 (text / partial match)
- ABC区分 (select: A / B / C)
- ステータス (select: 発注必要 / 注意 / 適正)
セクションC: 品目一覧
columns:
- 品目コード sortable
- 品目名 sortable
- 保管場所 ref: m_warehouse
- 在庫数 format: #,### / unit, align: right
- 安全在庫 format: #,### / unit, align: right
- ABC区分 format: badge (A/B/C)
- ステータス format: badge (alert/warn/ok)
- 品目コード sortable
- 品目名 sortable
- 保管場所 ref: m_warehouse
- 在庫数 format: #,### / unit, align: right
- 安全在庫 format: #,### / unit, align: right
- ABC区分 format: badge (A/B/C)
- ステータス format: badge (alert/warn/ok)
イベント定義
events:
- id: search trigger: 検索条件変更 action: AC_INV_SEARCH
- id: sort trigger: 列ヘッダクリック action: 在庫数 / 安全在庫 / ABC等でソート
- id: new_item trigger: "+ 新規品目" クリック action: INV1MD1001 起動
- id: auto_po trigger: "発注書 自動作成" クリック action: AC_INV_AUTO_PO
- id: search trigger: 検索条件変更 action: AC_INV_SEARCH
- id: sort trigger: 列ヘッダクリック action: 在庫数 / 安全在庫 / ABC等でソート
- id: new_item trigger: "+ 新規品目" クリック action: INV1MD1001 起動
- id: auto_po trigger: "発注書 自動作成" クリック action: AC_INV_AUTO_PO
API一覧
| API ID | 用途 | METHOD |
|---|---|---|
| AC_INV_SEARCH | 品目一覧の検索取得 | GET /api/inventory |
| AC_INV_COUNT | ステータス別件数取得 | GET /api/inventory/count |
| AC_INV_AUTO_PO | 発注点割れ品目の発注ドラフト一括生成 | POST /api/orders/auto |
| AC_INV_EXPORT | CSVエクスポート | GET /api/inventory/export |
バリデーション
- 在庫数: 0以上の整数 (発注点割れ判定対象)
- 安全在庫: 0以上の整数。空欄時はマスタ既定値を使用
- ABC区分: 業務ルール「ABC分析」の構成比率に基づき自動再判定
#spec #batch
batch_id: BAT_INV_001
batch_name: 在庫アラート評価バッチ
last_update: 2026-05-11
batch_id: BAT_INV_001
batch_name: 在庫アラート評価バッチ
last_update: 2026-05-11
BAT_INV_001 在庫アラート評価バッチ
バッチ概要
| 項目 | 内容 |
|---|---|
| バッチID | BAT_INV_001 |
| 処理名 | 在庫アラート評価バッチ |
| トリガー | 1時間毎(営業時間中: 08:00〜20:00)/ 日次 03:00 |
| タイムアウト | 180秒 |
| リトライ | 最大3回(指数バックオフ: 30s → 60s → 120s) |
| 異常時通知 | システム管理担当にメール + Slack #inventory-alerts |
処理フロー
steps:
1. 対象品目の取得
source: t_item WHERE active = TRUE
latest stock: t_inventory(最新スナップショット)
2. 発注点の算定
reorder_point = avg_daily_out × lead_time × safety_factor
safety_factor: 設定値(既定 1.65 = 95%サービス率)
3. 閾値判定
在庫数 ≤ 安全在庫 → alert
在庫数 ≤ 安全在庫 × 1.2 → warn
それ以外 → ok
4. 発注ドラフト生成(自動発注ON時)
alert品目 → t_order INSERT (status='起票中', source='auto')
発注数量 = 発注点 × 1.5 - 現在庫(標準仕入先のロットに丸め)
5. 通知 / ログ
alertが新規発生 → Slack/メール通知
実行ログ → t_batch_log INSERT
1. 対象品目の取得
source: t_item WHERE active = TRUE
latest stock: t_inventory(最新スナップショット)
2. 発注点の算定
reorder_point = avg_daily_out × lead_time × safety_factor
safety_factor: 設定値(既定 1.65 = 95%サービス率)
3. 閾値判定
在庫数 ≤ 安全在庫 → alert
在庫数 ≤ 安全在庫 × 1.2 → warn
それ以外 → ok
4. 発注ドラフト生成(自動発注ON時)
alert品目 → t_order INSERT (status='起票中', source='auto')
発注数量 = 発注点 × 1.5 - 現在庫(標準仕入先のロットに丸め)
5. 通知 / ログ
alertが新規発生 → Slack/メール通知
実行ログ → t_batch_log INSERT
入出力
| 区分 | 対象 | 操作 |
|---|---|---|
| 入力 | t_item(品目マスタ) | SELECT |
| 入力 | t_inventory(在庫スナップショット) | SELECT |
| 参照 | m_supplier(仕入先マスタ) | SELECT |
| 参照 | m_setting(業務ルール設定) | SELECT |
| 出力 | t_order(発注ドラフト) | INSERT |
| 出力 | t_alert_log(アラート履歴) | INSERT |
| 出力 | t_batch_log(バッチ実行ログ) | INSERT |
他バッチ定義
| ID | 名称 | 概要 |
|---|---|---|
| BAT_INV_002 | 滞留在庫レポート配信 | 30日以上動きのない品目を抽出し、関係者へメール/Slack配信。毎週月曜09:00 |
| BAT_INV_003 | データクリーンアップ | 1年超の入出庫履歴を t_io_archive へ移動。月次第1日曜02:00 |
#spec #data-model
domain: 在庫管理 (INV1)
tables: 11
last_update: 2026-05-11
domain: 在庫管理 (INV1)
tables: 11
last_update: 2026-05-11
データモデル定義
投入された業務マニュアル・メール・録音・Excelから抽出された業務オブジェクトと関係性から自動導出されたテーブル設計。正規化済み。
業務テーブル
t_item(品目)
| カラム | 型 | 制約 | 説明 |
|---|---|---|---|
| id | BIGINT | PK, AUTO | 内部ID |
| item_code | VARCHAR(20) | UNIQUE, NOT NULL | 品目コード |
| item_name | VARCHAR(120) | NOT NULL | 品目名 |
| unit | VARCHAR(10) | 単位(個 / kg / m 等) | |
| warehouse_code | VARCHAR(10) | FK → m_warehouse | 標準保管場所 |
| supplier_code | VARCHAR(10) | FK → m_supplier | 標準仕入先 |
| safety_stock | INT | DEFAULT 0 | 安全在庫数 |
| lead_time_days | INT | DEFAULT 7 | リードタイム(日) |
| abc_class | ENUM | A / B / C | ABC区分(自動再判定) |
| active | BOOLEAN | DEFAULT TRUE | アクティブ品目フラグ |
| created_at / updated_at | TIMESTAMP | 監査列 |
t_inventory(在庫スナップショット)
| カラム | 型 | 制約 | 説明 |
|---|---|---|---|
| id | BIGINT | PK, AUTO | 内部ID |
| item_id | BIGINT | FK → t_item, NOT NULL | 品目ID |
| warehouse_code | VARCHAR(10) | FK → m_warehouse | 保管場所 |
| quantity | INT | NOT NULL | 在庫数 |
| status | ENUM | alert / warn / ok | 在庫ステータス(バッチで更新) |
| snapshot_at | TIMESTAMP | NOT NULL | スナップショット時刻 |
t_io_history(入出庫履歴)
| カラム | 型 | 制約 | 説明 |
|---|---|---|---|
| id | BIGINT | PK, AUTO | 内部ID |
| item_id | BIGINT | FK → t_item | 品目ID |
| io_type | ENUM | in / out | 入庫 / 出庫 |
| quantity | INT | NOT NULL | 数量 |
| warehouse_code | VARCHAR(10) | FK → m_warehouse | 保管場所 |
| user_code | VARCHAR(20) | FK → m_user | 担当者 |
| reference_no | VARCHAR(30) | 参照番号(発注番号 / 出荷指示番号 等) | |
| occurred_at | TIMESTAMP | NOT NULL | 発生時刻 |
t_order(発注)
| カラム | 型 | 制約 | 説明 |
|---|---|---|---|
| id | BIGINT | PK, AUTO | 内部ID |
| order_no | VARCHAR(20) | UNIQUE | 発注番号 |
| item_id | BIGINT | FK → t_item | 品目ID |
| quantity | INT | NOT NULL | 発注数量 |
| supplier_code | VARCHAR(10) | FK → m_supplier | 仕入先 |
| due_date | DATE | 納期 | |
| source | ENUM | auto / manual | 起票区分(バッチ自動 / 手動) |
| status | ENUM | pending / ordered / arriving / done | 発注ステータス |
| approved_by | VARCHAR(20) | 承認者(承認フロー設定に従う) |
マスタテーブル
| テーブル | PK | 主要カラム | レコード目安 |
|---|---|---|---|
| m_warehouse | warehouse_code | name, address, type | 〜10 |
| m_supplier | supplier_code | name, contact, lead_time, lot_size | 〜30 |
| m_user | user_code | name, role, dept, email | 〜50 |
| m_setting | key | safety_factor, alert_threshold, stagnant_days, auto_po_enabled | 業務ルール |
システムテーブル
| テーブル | 用途 |
|---|---|
| t_alert_log | アラート履歴。品目ID・発生種別・通知有無・解消時刻 |
| t_batch_log | バッチ実行ログ。開始/終了時刻・処理件数・エラー件数 |
| t_io_archive | 1年超の入出庫履歴のアーカイブ先。t_io_history と同一スキーマ |
ER図(主要リレーション)
m_warehouse ──┐
m_supplier ───┤
m_user ───────┤──→ t_item ←── t_alert_log
m_setting ────┘ │ │ │
├──→ t_inventory
├──→ t_io_history → t_io_archive
└──→ t_order
t_batch_log (独立) t_alert_log (独立)
