まず結論を言います。ERP と WMS を統合するなら、マスタデータが先です。常に。私は 30 件以上の本番稼働を回してきましたが、「まず受注系のインターフェースを立ち上げて、マスタデータの整備は後で」やったプロジェクトは、例外なく本番稼働の夜に爆発しました。うまくいった例外は一つありますが、運が良かったのではなく、マスタデータの仕事を誰かがちゃんと終わらせるまで、単に開始が遅れただけでした。

道路と交通にたとえてみましょう。統合は、ERP と WMS の間で購買発注と販売受注を動かす — これが道路です。マスタデータは道路標識です。品目コード、ロケーションコード、顧客マスタ。ERP の標識が「SKU-48213」で、WMS が「SKU48213」と読めば、交通は衝突します。インターフェースが動いていることは、本番稼働の準備ができたことではありません。この脚本どおりの展開を、私は三度見てきました。

マスタデータを後回しにすると必ず爆発する理由

2024 年夏。カリフォルニア州リバーサイドに自社倉庫を持つビューティーブランド — 50,000平方フィート、約4,000オーダー/日。顧客の IT 責任者はこう決めました。「マスタデータの整理は時間がかかりすぎる。まず PO と SO のインターフェースを立てて、マスタデータは本番後に埋め合わせよう。」

本番稼働の三日前、ERP が購買発注を WMS に送りました。エラー:品目が見つかりません。ERP の品目番号は「SKU-48213」、WMS は「SKU48213」として取り込んでいた — ハイフンが一つ足りない。どちらも引かない。インターフェース仕様には「品目番号をそのまま渡す」としか書かれていなかったからです。ゴミを入れれば、ゴミが出てくる。

さらに悪化しました。ERP には 6,000 件以上の有効 SKU があり、そのうち 400 件以上はゾンビ品目 — 廃番になり、復活し、また廃番になり、それでも価格テーブルに残っていた。本番稼働の朝、最初の入荷波が、ドックで「品目が未保守」エラーの山にぶつかりました。トラックが積み上がる。午後4時にようやく稼働開始、ドアには 12 台のトレーラーが渋滞。その夜の対応:ERP 側の品目新規作成を凍結し、WMS を品目マスタに宣言して、ERP に逆方向で同期。本番稼働は二週間ずれ込み、コンサル三週間分が余分に燃えました。

対照的に、翌年のオハイオ州のホームグッズ 3PL。初日に三つのコード体系 — 品目、顧客、ロケーション — を、本番稼働の八週間前にロックしました。倉庫に入ってくる新しい SKU は、まずマスタデータの審査を通さなければならない。受注系インターフェースの統合は最後、残りの二週間でやりました。本番稼働の夜に起きた問題は、ちょうど二つだけ。一つはフィールド長の不一致 — ERP で 20 文字、WMS で 30 文字 — 切捨てルールを入れて半時間で修正しました。私が回した中で一番スムーズな本番稼働の一つでした。

並べてみれば答えは明らかです。マスタデータ先行は慎重な選択肢ではなく、現実に触れても生き残れる唯一の選択肢です。マスタデータは二つのシステムの共通言語です。言語が統一されていなければ、会話が速くなるほど誤解は大きくなるだけです。

私の ERP-WMS 統合の回し方:七つのステップの手順

毎回同じプレイブックです。これに従えば大丈夫です。

  1. 何よりも先にコード体系をロックする。本番稼働の八〜十週間前に、品目コード体系、ロケーションコード体系、顧客/仕入先コード体系を確定 — 三者で署名。署名した者が、その後の変更に責任を持つ。署名後は凍結:特例は変更申請を通す。廊下での立ち話では済ませない。

  2. マスタデータの各ドメインに、オーナーを一人ずつ決める。ERP も WMS も品目データを必要とするが、真実の源は一つだけ。私のいつもの分担:品目は ERP(財務と購買がそこにいる)、ロケーションは WMS(倉庫は自分の棚を知っている)、顧客は ERP、仕入先は ERP。オーナーが作って保守する。下流システムは読むだけ。

  3. マスタデータの全件突合を一度やる。近道なし:ERP の有効品目を、WMS の実在庫と一本ずつ突き合わせる。狩るのは三つ — コードの不一致、名称/仕様の不一致、そして、業務実態はないのに帳票に出てくるゾンビ品目。あるプロジェクトでは整理でゾンビが 7% 見つかった。生かしたまま本番に入れば、時限爆弾です。

  4. フィールドマッピング文書に、一つひとつ署名する。「だいたい動いてる」はなし — ヘッダ、明細、品目コード、数量単位、ロット番号、有効期限のすべてに、送り元、送り先、変換ルールを書く。特に数量単位:ERP がケース、WMS がピースだったプロジェクトを、私は四つ経験している。変換係数を一度でも間違えれば、一つのドキュメントバッチが丸ごとゴミになる。

  5. マスタデータ系のインターフェースを、トランザクション系より先に立ち上げる。順序は譲れない:品目マスタ同期を稼働・突合完了 → ロケーション/顧客/仕入先を稼働 → 業務文書(PO、ASN、SO、返品)は最後。この順序を逆にすると、偽陽性に対してテストすることになる。

  6. 本物の汚いデータでテストする。テストシナリオにはいつもの容疑者を入れる:桁が一つ多い品目コード、末尾に空白のある顧客名、長すぎるロット番号。きれいなデータでしかテストしていない統合は、テストしていないのと同じ。

  7. 本番稼働前夜のチェックリスト(毎回使っています):

    • 三つのコード体系は凍結され、未処理の変更申請はゼロか?
    • ERP→WMS の品目全件突合は完了し、差異ゼロか?
    • ロケーションマスタは WMS と同期され、空ロケーションは検証済みか?
    • ゾンビ品目は無効化され、新規文書が参照できなくなっているか?
    • 数量変換係数は品目ごとにレビュー済みか?
    • 業務一日のフルリハーサル(PO → 入荷 → 格納 → 波動 → 出荷 → コールバック)は、エンドツーエンドでグリーンか?
    • 本番当日にインターフェースが大量障害を起こした場合のロールバック計画は?

マスタデータの同期頻度も、決めておく価値があります。品目・顧客・仕入先はほぼリアルタイムで動かすべきです。ERP で作られた品目は、夜間バッチではなく数分で WMS に届かなければならない。ロケーションマスタは WMS の中にあり、即時反映される。あるプロジェクトは品目同期を深夜に回していた。10 AM に、倉庫が新商品を出荷する必要ができたのに、その品目がまだ届いていなかった。ピック作業が作れませんでした。ほぼリアルタイムが最低ライン:遅延が 15 分を超えたら、インターフェースはアラートを上げるべきです。

倉庫での統合テストの様子

トランザクション先行が許されるとき:ハイブリッド戦略

例外はあります。条件がこうなら:新設倉庫、レガシー在庫ゼロ、品目 500 件未満、文書タイプは二つだけ — ならハイブリッドで行きます。マスタデータのルールとトランザクション系インターフェースを並行で進めるが、マスタデータ系のインターフェースはやはり先に稼働させる。これは実質、マスタデータ先行の圧縮版です。

私が見た唯一の本物の例外:ERP は誰も触れないレガシーシステム、WMS は新築で、古い ERP にはマスタデータのガバナンスがまったくない。この場合の私の手は、すべてのマスタデータ権限を WMS に渡すことです — 品目・ロケーション・顧客は WMS が作る。ERP は文書を送り、コールバックを受けるだけ。「マスタデータは新しいシステムに従う」も、会話を始める前に言語を統一するという同じことです。

爆発注意:本番稼働の夜に爆発する罠

罠その一:フィールド長の不一致。ERP は顧客略称に 50 文字を許可、WMS は 30 文字しか受け付けない。本番前に誰も確認しなかった。顧客名は転送中に切断され、同じ顧客が二つのシステムで別名になる — 突合不能。対策:すべてのフィールドについて長さをマッピング表に書き、オーバーフロー方針(切捨てかエラー)を決める — どちらかにする。

罠その二:コードに埋め込まれた変換係数。一部のインテグレーターは「1 ケース = 24 ピース」をハードコーディングする。顧客が包装仕様を変える。インターフェースはエラーにならない。データは静かに三か月間おかしくなる。対策:係数は品目マスタのフィールドにし、品目と一緒に旅させる — ハードコーディングは絶対にしない。

罠その三:死んだ品目を参照する返品文書。品目は ERP で無効化されたのに、WMS の返品がまだそれを参照している。文書が届き、インターフェースは「品目が見つかりません」を投げ、返品処理が止まる。対策:品目を無効化する前に、WMS 側でそれを参照する未処理文書がないか確認する — 事前検証ゲート。

罠その四:組織次元の不一致。ERP の組織構造は WMS の倉庫コードと一対一にならない。インターフェースが組織コードを渡し、WMS はそれを間違った建物に解決する。対策:組織マッピングは専用のテーブルを持つ。品目マッピングに混ぜない。

次の ERP-WMS 統合プロジェクトでは、キックオフのホワイトボードの一行目を「マスタデータが先」にしてください — そして三者に署名させてください。感謝されるでしょう。この順序で回したプロジェクトは、どれも本番稼働の夜が静かでした。逆の順序で回したプロジェクトは、どれも深夜にパニックの電話をかけてきました。

Lin Xiao(WMS 実装コンサルタント)著

英語版からの翻訳。内容に相違がある場合は英語版を優先します。