ロット管理と容器管理

ロット(Lot)管理と容器(Container)管理の仕組み。ロットNo命名規則、工程別トレーサビリティ、容器ステータスの遷移を解説します。

5分

概要

ロット管理と容器管理は、製造工程における 仕掛品(WIP)の追跡とトレーサビリティ を実現するための仕組みです。ERPNextの標準 Batch 機能に加え、独自の Container(容器) DocType を用いた「Shadow WIP」アーキテクチャで、工程ごとのロット追跡を行います。

画面URL:

  • ロット実績入力: /app/lot-work-entry
  • 容器台帳: /app/container-commit-view
  • トレーサビリティグラフ: /app/commit-link-graph
  • 容器在庫台帳: Container Stock Ledger レポート

ロットNo の命名規則

ロットNoは、製造段階に応じて3種類の命名体系を使い分けます。

種類Prefixフォーマット解説
原料ロットRR{YYMMDD}-{seq}R260302-01R(Raw) + 年月日 + 入庫順連番
仕掛品ロットWW{YYMMDD}-{WSPrefix}{seq}W260302-A1W(WIP) + 年月日 + 設備Prefix + 連番
完成品ロットなし{YYMMDD}-{WSPrefix}-{seq}260302-A-01年月日 + ラインPrefix + 連番

WSPrefix は Workstation マスタの custom_lot_prefix(または container_prefix)フィールドで定義します。

例:

  • 浸漬ライン = A
  • 蒸煮ライン = B
  • 接種室 = C
  • 発酵室 = D

容器(Container)の概念

Container DocType

Container は物理的な「容器」ではなく、ロット単位のWIP状態を追跡する仮想的なエンティティ です。

フィールド説明
container_id一意の識別子(= ロットNo)
container_type種別(Lot / Receipt 等)
status現在のステータス
qty数量
uom単位
batch_noERPNext の Batch とのリンク
lot_noロット番号
wip_cdWIP品目コード(例: FG-BLK-WARA-SHINSEKI
final_item_cd最終製品の品目コード
work_order紐づく Work Order
previous_operation直前に完了した工程名
parent_lot_no前工程のロットNo(トレーサビリティ用)
fermenting_since発酵開始日時(バッチ工程用)
fermenting_location発酵場所(バッチ工程用)

Container のステータス遷移

AVAILABLE → STUCK → AVAILABLE → CONSUME
              ↑        ↓
              └─ STUCK ─┘(非連続工程の繰り返し)
ステータス意味状況
AVAILABLE利用可能工程完了後、次の工程で使用可能
STUCK処理中非連続工程(発酵等)で投入中。払出まで待機
CONSUME消費済み次工程で消費された、または出荷済み

製造フロー(工程別ロット追跡)

全体の流れ

graph LR
  subgraph RM受入
    A["R260302-01<br/>(黒豆 3000g)"]
  end
  subgraph 初工程_浸漬
    B["W260302-A1<br/>(浸漬完了 60個)"]
  end
  subgraph 中間工程_蒸煮
    C["W260302-B1<br/>(蒸煮完了 60個)"]
  end
  subgraph 中間工程_接種
    D["W260302-C1<br/>(接種完了 60個)"]
  end
  subgraph 最終工程_発酵
    E["260302-D-01<br/>(発酵完了 60個)"]
  end
  A -->|parent| B
  B -->|parent| C
  C -->|parent| D
  D -->|parent| E

各ステップの詳細

1. 原材料受入(RM受入)

項目動作
ロットNoR{YYMMDD}-{seq} で自動発番
Container受入Container を AVAILABLE で作成
ERPNextPurchase Receipt / Stock Entry で在庫計上

2. 初工程(complete_lot_operation, idx=1)

項目動作
ロットNoW{YYMMDD}-{WSPrefix}{seq} で新規発番
新Container新規 Lot Container を AVAILABLE で作成
前Container受入Container → CONSUME に遷移
RM消費Material Issue Stock Entry を自動作成
親ロットparent_lot_no = 原料ロットNo

3. 中間工程(complete_lot_operation, idx=2,3,...)

項目動作
ロットNoW{YYMMDD}-{WSPrefix}{seq}新規発番
新Container新規 Lot Container を AVAILABLE で作成
前Container前工程の Container → CONSUME に遷移
親ロットparent_lot_no = 前工程のロットNo

4. 非連続工程(バッチ工程:発酵等)

非連続工程は IN(投入)OUT(払出) の2段階で処理します。

INフェーズ(start_batch_operation):

項目動作
ロットNoW{YYMMDD}-{WSPrefix}{seq} で発番
ContainerSTUCK ステータスで作成
メタデータfermenting_since(開始日時)、fermenting_location(場所)を記録

OUTフェーズ(complete_batch_operation):

項目動作
STUCK ContainerCONSUME に遷移
新Container新規 AVAILABLE Container を作成
親ロットparent_lot_no = STUCK ロットNo

5. 最終工程(complete_lot_work)

項目動作
ロットNo{YYMMDD}-{WSPrefix}-{seq} で完成品ルールで発番
Container完成品 Container を AVAILABLE で作成
前Container→ CONSUME に遷移
ERPNextManufacture Stock Entry を自動作成
BatchERPNext Batch を自動作成・ロットNoと紐付け

6. 出荷

項目動作
FG Container→ CONSUME に遷移

ロット実績入力画面の操作

画面構成(Lot Work Entry)

URL: /app/lot-work-entry

  1. Work Order 選択: 対象の製造指図を選択
  2. 工程一覧: BOM に登録された工程が順序付きで表示
  3. 工程別操作: 各工程にて

連続工程の完了操作

  1. 工程を選択
  2. 完了数量を入力
  3. (初工程のみ)消費材料を選択(バーコードスキャンまたはリストから選択)
  4. 「工程完了」ボタンをクリック
  5. ロットNoが画面に表示され、ラベル印刷ボタンも表示される

非連続工程(バッチ工程)の操作

投入(IN)操作:

  1. 工程を選択(バッチ工程アイコンが表示されている工程)
  2. 投入数量を入力
  3. 場所(発酵室の位置等)を入力(任意)
  4. 「投入」ボタンをクリック
  5. STUCK 状態のロットが作成される

払出(OUT)操作:

  1. 投入中の工程を選択(「処理中」表示)
  2. 良品数量を入力
  3. 「完了」ボタンをクリック
  4. 新しいロットNoが発番される

最終工程の完了操作

  1. 全中間工程が完了していることを確認
  2. 最終工程を選択
  3. 完成数量を入力
  4. 「製造完了」ボタンをクリック
  5. Manufacture Stock Entry が自動作成される
  6. 完成品ロットNoとラベル印刷URLが表示される

取消(Undo)操作

直前の工程完了を取り消すことができます:

  1. 設備IDを指定
  2. 「取消」ボタンをクリック
  3. 最後のContainer Commitが取消される

トレーサビリティ

親子関係の追跡

各ロットには parent_lot_no フィールドがあり、前工程のロットを参照します。これにより、原料から完成品までの完全なトレーサビリティチェーンが構築されます。

R260302-01 (原料:黒豆)
  └─ W260302-A1 (浸漬) ← parent_lot_no = R260302-01
       └─ W260302-B1 (蒸煮) ← parent_lot_no = W260302-A1
            └─ W260302-C1 (接種) ← parent_lot_no = W260302-B1
                 └─ 260302-D-01 (発酵) ← parent_lot_no = W260302-C1

Container の状態変更は Container Commit として記録されます。各 Commit には Container Link が紐づき、どの Container がどのように変化したかが追跡可能です。

Commit イベント説明
PRODUCE新しい Container の作成(工程完了)
CONSUMEContainer の消費(次工程への投入)
STUCKContainer の一時停止(非連続工程の投入)

グラフ表示

/app/commit-link-graph で、ロットNo を起点に前後の工程を視覚的にたどることができます。原料の仕入先情報、各工程での数量変化、最終製品の出荷先まで、一つのグラフで確認可能です。


原価計算との関係

Container Commit と Link は、月次原価計算のパイプラインで以下のように使用されます:

Step使用するデータ目的
Step 1Container Commit + LinkWIPイベントの抽出
Step 2Container.final_item_cd最終製品の特定
Step 3CONSUME/PRODUCE LinkFIFO転がし計算の入出庫イベント
Step 4Container Link.consumed_wip_cd材料別コスト按分

Tips

  • ラベル印刷: 工程完了時に表示されるラベルURLから、バーコード付きラベルを印刷できます(Code39形式)
  • バーコードスキャン: ロットNo のバーコードをスキャンして、前工程ロットの自動解決が可能です
  • 冪等性: 同じ工程を2回完了しても重複作成されません(冪等チェック機能)
  • 工程飛ばし防止: 前工程が未完了の状態で次工程を完了しようとするとエラーになります
  • 品質データ: 各工程完了時に品質メモ(quality_note)とスクラップ数量を記録できます

もっと詳しく知りたいですか?

操作方法でお困りの場合は、お気軽にお問い合わせください。ERPNext導入の専門家が直接サポートします。