はじめに:移動タイプはSAP在庫転記の文法
SAPで在庫を扱っていると、必ず「移動タイプ(Movement Type)」という言葉に出会います。MIGOで入庫する時は101、出庫する時は201、生産消費は261、外注先への支給は541──といった具合に、3桁の数字がいたるところに登場します。最初は「呪文みたい」と感じるかもしれませんが、これはSAPの在庫転記を支配する非常に重要な「文法」です。
なぜ移動タイプが必要なのか(why so)。在庫転記には「数量がどう動くか」「金額がどの勘定に落ちるか」「ステータスがどう変わるか」「特殊在庫はどう扱うか」という複数の側面があり、これを毎回手動で指定していたら膨大な選択肢になります。SAPは「典型的な業務パターンを3桁コードに圧縮し、コード1つで複数の動きを一括指定する」設計思想を採用しました。
ではどう向き合えばよいか(so what)。移動タイプを「ただの番号」ではなく「業務パターンを表す文法」として読めるようになると、SAP在庫管理の理解が一気に深まります。本記事では移動タイプの基本概念、3桁コードの読み方、代表的な番号の意味、SAP標準カバー範囲、アドオン事例までを整理します。MM全体の流れはMM業務フローもあわせて参照してください。
移動タイプとは何か
移動タイプは「在庫の動き方を1つの3桁コードで表現するSAPのマスタ設定」です。MIGOやMB1A/MB1Bなどの在庫転記トランザクションを実行する際、必ず移動タイプを指定します。移動タイプには次の情報が紐づいています。
- 在庫数量の増減方向(増える/減る/移送される)
- 金額の動き先(どの勘定に計上されるか)
- 対応する業務(購買入庫/生産消費/棚卸調整 など)
- 特殊在庫タイプとの組合せ可否(K:仕入先預託、O:外注支給 など)
- 入力必須項目(原価センタ/指図番号/受払先 など)
- 文書タイプ・ステータス変化
つまり1つの番号が「業務パターン+会計仕訳+必須項目」をまとめて指定する役割を持ちます。移動タイプの設定はOMJJ(Tコード)でカスタマイズでき、SAP標準の番号を流用するか、企業独自の番号(900〜999など)を作るかを選べます。
3桁コードの読み方
移動タイプの3桁にはおおまかな規則性があります。完全な体系ではありませんが、これを知っておくと「初めて見る番号でも何の業務か想像がつく」ようになります。
| 範囲 | おおよその意味 |
|---|---|
| 101〜199 | 購買・生産関連の入庫系 |
| 201〜299 | 出庫・消費系(原価センタ・指図への引落) |
| 301〜399 | 移動・移送系(プラント間・保管場所間) |
| 401〜499 | 入転送・所有者変更系 |
| 501〜599 | 受領なし入庫・特殊在庫からの転記 |
| 601〜699 | 出荷・引渡系 |
| 701〜799 | 棚卸差異・調整系 |
| 901〜999 | 顧客カスタム移動タイプ用に開放 |
さらに各番号には「逆転記」が用意されています。たとえば101の逆は102、201の逆は202、というように+1した番号がキャンセル/取消用です。これを知っていれば「102って何?」と思った瞬間に「101の取消ね」と読めます。
代表的な移動タイプの早見表
実務でほぼ必ず出てくる代表的な番号を整理します。
| 番号 | 業務 | 説明 |
|---|---|---|
| 101 | 購買入庫 | 発注に対する標準入庫。最頻出 |
| 102 | 入庫取消 | 101の取消 |
| 103 | 検査保留入庫 | 受入検査エリアへの一時受入 |
| 105 | 検査保留からの本入庫 | 103の在庫を本在庫に振替 |
| 122 | 仕入先返品 | 入庫済品の仕入先返品 |
| 161 | 返品PO入庫 | 顧客返品を購買発注経由で受入 |
| 201 | 原価センタへの出庫 | 消耗品・経費品の払出 |
| 202 | 201の取消 | 原価センタ出庫の取消 |
| 261 | 製造指図への出庫 | 生産指図向けの原料消費 |
| 262 | 261の取消 | 生産消費の取消 |
| 281 | ネットワーク/PSへの出庫 | プロジェクト原価への引落 |
| 301 | プラント間移送 | カンパニーコードまたぎの移送 |
| 311 | 保管場所間移送 | 同一プラント内の場所移動 |
| 321 | 検査在庫→使用可能在庫 | QM検査合格時の振替 |
| 343 | 凍結在庫→使用可能在庫 | ブロック解除 |
| 411 | 自社在庫→預託在庫の振替 | 所有権変更を伴う振替(預託在庫の仕組み) |
| 501 | 受領なし入庫 | 発注なしでの直接入庫(要承認) |
| 521 | 受領なし入庫(生産) | 指図なしの製品入庫 |
| 541 | 外注先への支給 | 自社→外注先支給品(特殊在庫O)。詳細は外注加工(サブコントラクト)参照 |
| 543 | 外注消費 | 外注完成品入庫時の原料自動消費 |
| 601 | 出荷出庫(販売) | SD出荷伝票連動の引渡 |
| 602 | 601の取消 | 出荷出庫の取消 |
| 633 | 顧客預託出庫 | 顧客預託からの消費 |
| 701 | 棚卸差異(増) | 棚卸で実在庫が多かった分の計上 |
| 702 | 棚卸差異(減) | 棚卸で実在庫が少なかった分の計上 |
なぜここまで番号を覚える必要があるのか。SAPの操作画面・帳票・エラーメッセージ・カスタマイズ設定すべてに移動タイプが登場するからです。主要20番号を読めるようになるだけで、SAP在庫運用のトラブルシューティング能力が劇的に上がります。
移動タイプと勘定決定の関係
移動タイプの最も重要な側面が「勘定決定」との結びつきです。在庫転記が起きた瞬間、SAPは次の流れで仕訳を組み立てます。
flowchart LR A[転記実行
MIGO/MB1A] --> B[移動タイプ] B --> C[品目マスタ
評価分類] C --> D[勘定決定
OBYC] D --> E((借方勘定)) D --> F((貸方勘定))
ポイントは、同じ品目を入庫しても移動タイプが違えば借方勘定が変わるという点です。たとえば101なら通常の在庫勘定、103なら検査在庫の中間勘定、501なら受領なし入庫専用の勘定、といった具合です。これにより会計上の「在庫の状態」が常に正しく分類されます。在庫評価そのものは在庫評価方法入門も参照してください。
なぜここを理解すべきか(why so)。移動タイプの選択を間違えると、数量は合っているのに勘定が間違っていて、決算時に「在庫差異」として現れるからです。在庫数量と会計勘定は移動タイプを介して繋がっており、片方だけ正しくても意味がないと認識することが重要です。
SAP標準でカバーできる範囲
標準でできること
- 数百種類の標準移動タイプが事前定義済み
- OMJJでの移動タイプカスタマイズ(許可特殊在庫、必須項目、勘定分岐)
- 移動タイプごとの逆転記(取消)番号の自動生成
- 移動タイプ別の認可設定(A_M_BWART権限オブジェクト)
- BAPI/IDoc経由での自動転記(BAPI_GOODSMVT_CREATE)
- 移動タイプ別の理由コード設定(MMIM_REASON)
- 集計表示・分析用のレポート(MB51:転記履歴、MB59:分析)
標準が強い理由
SAPの移動タイプは「世界中の製造業・小売業・サービス業の業務パターンを30年かけて吸収してきた集合体」とも言えます。新規プロジェクトでも、たいていの業務は標準番号で表現できます。逆に言えば、独自移動タイプを作る前に「本当に既存番号で表現できないか」を必ず検討すべきです。
SAP標準でカバーできない範囲
1. 業界独自の特殊フロー
医薬品の隔離プロセス、化学品の危険物管理、自動車部品の特定ロット限定使用など、業界独自の特殊な状態管理を、標準移動タイプの枠内で表現しきれない場合があります。独自移動タイプ(901〜999)を新設し、勘定決定と権限を整備して対応します。
2. 動的な必須項目チェック
「特定の保管場所への入庫時のみ、品質検査ロット番号を必須にしたい」のような条件付きの必須項目は標準では設定できず、BAdIまたはユーザー出口でのチェックロジックが必要です。
3. 移動タイプ別の動的勘定分岐
「同じ移動タイプでも、特定の品目グループだけ別勘定に振る」といった条件付き勘定決定は、OBYCの標準枠を超えた要件で、勘定決定BAdI(BADI_FAGL_DERIVE_GLT0など)が必要です。
4. 新規移動タイプの大量作成
業界特化テンプレートを多数作る場合、OMJJで1つずつ作ると保守困難になります。マスタ移送や設定スクリプトでまとめて管理するアドオンを作ることがあります。
5. 監査向けの移動タイプ別証跡レポート
特定の移動タイプ(特に701/702棚卸調整、501受領なし入庫など)の利用状況を、誰がいつ何のために実行したかまで含めて出力する独自レポートは標準では弱く、CDSビュー+Fioriで作るケースが多いです。
現場で頻出するアドオン事例
事例1:独自移動タイプの新設
業界固有の業務(例:医薬品の温度逸脱品の隔離)に対応するため、901番台で独自移動タイプを作成。OMJJで設定し、勘定決定(OBYC)・権限(PFCG)・帳票出力(Smart Forms)を整備します。
事例2:移動タイプ別の事前承認ワークフロー
501(受領なし入庫)や701/702(棚卸調整)など影響が大きい移動タイプを使う際、事前にワークフロー承認を必須化するアドオン。MM側のBAdI(MB_MIGO_BADIなど)でチェックを入れ、承認が下りていない場合はエラーで止めます。
事例3:移動タイプ別の異常検知ダッシュボード
特定の移動タイプの利用頻度が普段より急激に増えた場合(例:大量の501)にアラートを出すFioriダッシュボード。CDSビューで日次集計し、閾値を超えたらメール通知します。
事例4:移動タイプ+理由コードの強制セット
移動タイプ701/702(棚卸差異)を使う際、理由コードの入力を強制するアドオン。標準では理由コードはオプションですが、内部統制の観点から必須化したい現場で重宝されます。
事例5:移動タイプ別の権限分離
通常の入出庫は現場担当者、501・701・702など特殊な移動タイプは管理職のみ、というように権限を分離するロール設計。標準のA_M_BWART権限オブジェクトで実現できますが、ロール設計のアドオンとして整備する企業が多いです。
なぜアドオンを最小化すべきか。移動タイプは在庫数量・会計勘定・特殊在庫の3つに同時に影響するため、改造ミスの影響範囲が極めて広いからです。独自移動タイプを作る前に、必ず「標準で表現できないか」を3回は問い直すのが運用品質を守る鉄則です。BAdIで実装する場合の基本はMM BAdI実装ガイドを参照してください。
移動タイプを使いこなすコツ
- 主要20番号(101/102/201/261/301/311/541/543/601/701など)を最初に覚える
- 「+1すると逆転記」の規則を覚えると応用が利く
- OMJJで設定を見て「許可特殊在庫」「勘定分岐」「必須項目」を確認する習慣をつける
- MB51で実際の転記履歴を移動タイプ別に集計し、現場の実態を把握する
- 独自移動タイプを作るときは必ず901〜999の範囲で、命名と用途を文書化する
- 移動タイプを変更すると過去伝票には影響しないが、未来の運用に大きく影響することを意識する
よくある疑問(FAQ)
Q. 101と501の違いは何ですか? A. 101は発注(PO)に基づく入庫、501は発注なしでの直接入庫です。501は内部統制上リスクが高いため、通常は権限を絞ります。
Q. 261と201の使い分けは? A. 261は製造指図への引落(CO側で指図に集計)、201は原価センタへの引落(CO側で原価センタに集計)です。原価の集計先が違うため、必ず正しく使い分けます。
Q. 独自移動タイプを作るとアップグレードに影響しますか? A. 901〜999の範囲なら影響は小さいです。標準番号を改変するとアップグレード時に上書きされる可能性があるため絶対NGです。
Q. 移動タイプはS/4HANAで変わりましたか? A. 番号体系は基本的に同じですが、Fiori対応や新しい移動タイプ(501Q:参照ベース受領なし入庫など)が追加されています。
Q. 移動タイプの一覧はどこで確認できますか? A. OMJJで全件確認でき、OMBA(移動タイプの簡易表示)でも見られます。SAP公式ドキュメントにも一覧があります。
まとめ
- 移動タイプはSAP在庫転記を支配する3桁コードで、業務パターン+勘定仕訳+必須項目をまとめて指定する文法
- 範囲別の規則(101系:入庫、201系:出庫、301系:移送、541系:外注、701系:棚卸など)を押さえると初見の番号も読める
- 主要20番号を覚えれば日常運用の理解が一気に進む
- 勘定決定(OBYC)と必ずセットで動き、数量と会計勘定を同時に正しくする
- 標準で世界中の業務パターンが網羅されている、独自作成は最後の手段
- 独自移動タイプは901〜999の範囲で、勘定・権限・帳票を整備してから本番投入する
- 影響範囲が広い移動タイプ(501・701・702など)はワークフロー承認・権限分離で守る
移動タイプは「ただの数字」ではなく「業務と会計をつなぐ言葉」です。最初は数の多さに圧倒されますが、規則性と代表番号を押さえれば誰でも読めるようになります。SAPで在庫を扱う以上、避けては通れない基礎知識として、ぜひ早い段階で身につけておきたい領域です。
移動タイプを含むMM領域の業務フローをより深く理解するには、S/4HANAの全体像を先につかんでおくのが近道です。約2時間の動画で主要機能と特徴を一通り押さえられます。