連携は7本のインターフェースに分解して考える

まず束をほどきます。実際のプロジェクトで設計対象になるのは、おおむね次の7本です。

#インターフェース方向代表的な頻度粒度
1品目マスタERP → MES変更時/日次品目コード単位
2製造BOM・工程表ERP・PLM → MES変更時品目 × 版数
3製造オーダ(指示)ERP → MES都度/時間単位オーダ単位
4出来高・完成実績MES → ERP工程完了時/日次締めオーダ × 工程
5材料消費(払出)MES → ERP投入時/日次オーダ × 品目 × ロット
6作業時間・稼働実績MES → ERP日次オーダ × 作業区
7品質判定・不適合MES → ERP判定時ロット単位

この7本は、ISA-95(IEC 62264)が定義する Production Schedule、Production Performance、Material Information、Personnel Information といった情報モデルにほぼ対応します。2025年4月10日に発行された ANSI/ISA-95.00.01-2025 は、2010年版以来15年ぶりの Part 1 改訂で、標準化された統合インターフェースとメタデータによるコンテキスト化を前面に出しました(ISA公式リリース、2025年4月10日)。詳しくはISA-95 2025年改訂の記事で扱っています。

実装フォーマットとしては、MESA International の B2MML があります。B2MML/BatchML Version 7 は2020年11月24日リリースで、初めて JSON スキーマ定義を提供しました(MESA International)。ERPベンダー独自のIDocやBAPIを使う場合でも、B2MMLの項目定義を「何を渡すべきかのチェックリスト」として使う価値があります。

粒度:ERPが使わない細かさで返さない

実績連携の設計で最初に決めるのは粒度です。原則はひとつです。

ERPが会計・計画で実際に使う粒度より細かく返さない。 ERPが原価を作業区単位でしか持たないのに設備単位で実績を送っても、ERP側で集約されて消えるだけです。消えるだけならまだしも、集約ロジックがERPのカスタマイズとして残り、以後の保守対象になります。

一方で、あとから細かくできない項目は、MES側で最初から細かく持ちます。 代表がロットの紐付けです。「どの製造オーダにどの原材料ロットを使ったか」は、実績を取った瞬間にしか記録できません。ERPに返す粒度が粗くても、MESの内部では常に最小単位で保持しておきます。

粒度の判断は、次の2問で整理できます。

  1. この数字を、ERPのどの伝票・どの帳票が使うか。 使い先が言えないなら、その粒度はERPに返さない
  2. この数字は、あとから細かく分解できるか。 できないなら、ERPに返すかどうかと無関係にMESで保持する

タイミング:リアルタイム連携は目的ではない

「リアルタイム連携」は提案書の常套句ですが、実績連携をリアルタイムにする必然性はほとんどありません。方式は3つあり、インターフェースごとに使い分けます。

同期API、キュー経由の準リアルタイム、日次バッチという3つの連携方式の比較図 方式A:同期API(都度呼び出し) MES ERP ERP停止=MES停止 在庫引当など同期必須の処理のみ 方式B:キュー経由(準リアルタイム) MES キュー ERP ERP停止でも現場は止まらない 出来高・材料消費の既定解 方式C:日次バッチ MES ファイル ERP 締め処理と歩調が合う 作業時間・原価要素の既定解
MES-ERP連携の3方式。実績はキュー経由の準リアルタイムか日次バッチが現実解になる。

同期API(方式A)が必要なのは、ERP側の在庫を引き当ててからでないと現場が次に進めない処理だけです。典型は、出庫指示と在庫引当が一体になっている場合です。それ以外の実績は、キューを挟む方式Bにします。方式Bの本質は速度ではなく、ERPの計画停止・障害・月次締めのあいだも現場が動き続けられることです。

作業時間や原価要素の連携は、無理に細かくせず日次バッチ(方式C)で十分なことが多くあります。ERP側の締め処理は日単位で回るため、それより細かく送っても会計上の意味がありません。

キー:連携が壊れるのは、たいていキー設計

稼働後に「MESとERPで数が合わない」と言われる原因の多くは、粒度でもタイミングでもなく、キー設計です。設計時に必ず決めておく項目は4つです。

1. 製造オーダ番号を採番するのはどちらか。 ERP採番が基本ですが、MES側で計画外の作業(試作、手直し、再作業)が発生する運用なら、MES採番の番号体系をあらかじめ用意し、ERPへ返す際の扱いを決めておきます。

2. オーダの分割・統合をどう表現するか。 1つのERPオーダを現場で2ロットに分けた、あるいは2オーダを合流させた場合に、実績をどう返すか。ERPが分割を受け付けない設計なら、MES側で按分ロジックを持つことになります。按分の根拠が説明できないと、原価監査で必ず指摘されます。

3. MESの主キーをERPのオーダ番号にしない。 ERP側の再採番、システム更改、番号体系変更が起きたときに、MESの履歴が全部つながらなくなります。MESは自前のIDを主キーにし、ERPオーダ番号は「参照する属性」として持ちます。

4. 品目コードの改番をどう扱うか。 品目コードは変わります。変わったときに、過去の製造実績が旧コードのままでよいのか、新コードに読み替えるのか。トレーサビリティの要件から逆算して決めます。マスタ全般の設計はMESのマスタ設計で扱います。

統合できている企業は23%しかいない

連携設計を軽く見ると何が起きるか、数字が示しています。

MESを導入済みの製造業
93%
Rockwell調査(17カ国1,560名、2026年7月28日公開)
ERP・PLM・品質・OTと完全統合できている
23%
同調査
MES購買要件の第1位に「統合性」を挙げた
44%
同調査

Rockwell の Anthony Murphy 副社長は同調査について「MESの導入はもはや障壁ではない。障壁は全社スケールだ」と述べています。導入率93%に対して完全統合率23%という開きは、多くの企業が「MESは入れたが、ERPとつながりきっていない」状態で止まっていることを意味します詳細はこちらの記事)。

ERPのアドオンで実績管理を作るのと、MESを入れるのはどう違いますか?

ERPアドオンは会計との整合が取りやすい反面、秒〜分単位の現場処理には向きません。ERPのトランザクション設計は日〜月の業務を前提にしており、1日数万件の実績を捌く構造になっていないためです。また、ERPのバージョンアップのたびにアドオンの回帰テストが発生します。工程数が少なく実績件数も限られるなら、ERPアドオンで足りることはあります。判断の分かれ目は、1日あたりの実績件数と、計画変更の頻度です。

B2MMLを使えばベンダーを問わず連携できますか?

できません。B2MMLは「何をどういう構造で渡すか」の共通語彙であって、通信方式やエラー処理までは決めません。実務では、ERPベンダー独自のインターフェース(SAPのIDocなど)を使い、項目の設計だけB2MMLを参照するという使い方が現実的です。それでも価値はあります。項目定義が標準に沿っていれば、将来ERPやMESを入れ替えるときに、マッピング表の作り直しが最小で済みます。