Monitor ERP連携ガイド SkyPlanner APSで生産スケジューリング
このガイドでは、パートナーやIT部門に向けて、Monitor ERP(Monitor G5)とSkyPlanner APSを接続する方法を解説します。SkyPlannerはMonitor ERP APIを通じて、Monitor ERPと双方向に連携します。
- 製造オーダー、工程、作業区、工順、資材を取り込みます。
- 工程ごとの開始予定日時、終了予定日時、作業区をMonitorに書き戻します。
- 報告された作業時間と数量を基に、両システムの整合性を保ちます。
- SkyPlannerのWebhookが、スケジュールの変更を発生時に通知します。
SkyPlannerチームは導入時に、お客様のMonitor G5環境に合わせて連携を設定し、本稼働後もサポートします。このガイドは、連携に携わるパートナーや開発者、または公開ドキュメントのあるSkyPlannerのREST API(APIリファレンス)を使って自社で開発したい方を対象としています。
Monitor ERP API
Monitor G5でドキュメントが公開されている連携インターフェースは、Monitor ERP API v1です。CQRSとRESTを組み合わせた方式で、HTTPS経由でJSONを送受信します。(Monitor ERP API)
- クエリはGETでデータを読み取ります。OData形式のオプションとして、
$filter、$select、$expand、$orderby、$top、$skipを使用できます。 - コマンドはPOSTでデータを書き込みます。例えば、
Manufacturing/ManufacturingOrderOperations/Updateがあります。 - Batchは、
POST /api/v1/Batchを通じて複数のコマンドを一つのトランザクションで実行し、すべて成功するか、すべて取り消されるかのいずれかになります。/Simulateまたは/Validateを末尾に付けると、バッチをテストしてロールバックできます。これにより、スケジュール全体を安全に書き込めます。(Batch)
ベースURLはhttps://{host}:8001/{languageCode}/{companyNumber}/api/v1/です。会社番号はデータベース番号と会社IDを組み合わせたもので、例えば004.1となります。
ライセンスについて、Monitorは次のように説明しています。”It is free to query and extract information from the API for all our customers. However, in order to use commands and write data to the ERP system, you need to purchase Monitor ERP API.”(すべてのお客様がAPIから無料で情報を照会・抽出できます。ただし、コマンドを使ってERPシステムにデータを書き込むには、Monitor ERP APIの購入が必要です。)プロジェクトの初期段階から、書き込み用ライセンスの手配を計画に含めてください。(api.monitor.se)
認証
- セッションログイン。Monitorユーザーのユーザー名とパスワードを指定して
POST /{languageCode}/{companyNumber}/loginを呼び出すと、以降の呼び出しで使用するX-Monitor-SessionIdヘッダーが返されます。MFAトークンを使うフローも利用できます。 - OIDC。Monitor 25.8以降では、Authorization CodeとPKCEを使い、Microsoft Entra ID経由でもログインできます。(認証)
- API専用ユーザー。連携専用のユーザーを一つ作成します。このユーザーには、Show manufacturing ordersやReplan existing manufacturing orderなど、Monitor側の権限が適用されます。
SkyPlanner側のREST APIは、APIトークン(SkyPlanner Settings > API)で認証します。仕様はSwagger/OpenAPIで公開されています。最初のAPI呼び出しの手順は、連携チュートリアルで確認できます。
変更検出とポーリング
Monitor ERP APIのリファレンスには、Webhookやイベント購読の記載がありません。変更はポーリングで取得します。
Common/EntityChangeLogs(2.33以降)は、ChangeType(Update、Create、Delete)、EntityTypeId、EntityId、ModifiedTimestampを返します。数分おきにポーリングし、変更されたレコードだけを取得します。(EntityChangeLog)- 製造オーダーのクエリは未完了のオーダーに絞り込み、
$topと$skipでページ分割して取得します。
SkyPlannerは状態やスケジュールが変わるとWebhookを送信するため、書き戻しはイベント駆動で行えます。
データのマッピング
| Monitor ERPのオブジェクト(API) | SkyPlannerのオブジェクト | 連携方向 | 連携頻度 |
|---|---|---|---|
Part(Inventory/Parts) | 製品と資材 | Monitor → SkyPlanner | 初回取り込み後は変更ログに基づいて連携 |
BOMと工順:Manufacturing/MaterialRows、Manufacturing/OperationRows | 製品構成、段取り時間と単位当たり時間を含む工程 | Monitor → SkyPlanner | 初回取り込み後は変更時に連携 |
Manufacturing/AlternativeOperationRows | 工程ごとの代替リソース | Monitor → SkyPlanner | 初回取り込み後は変更時に連携 |
作業区(Manufacturing/WorkCenters):Type、TimePrecision、BasicTime、NumberOfPlanningUnits、AvailabilityFactor | リソース、リソースグループ、作業効率 | Monitor → SkyPlanner | 初回取り込み後の連携はまれ |
Manufacturing/ProductionCalendarExceptions, TimeRecording/Schedules | シフトと欠勤 | Monitor → SkyPlanner | 毎日連携、またはSkyPlanner側で独自にシフトを管理 |
Manufacturing/ManufacturingOrders, ManufacturingOrderNodes | 納期とステータスを含むオーダー | Monitor → SkyPlanner | 数分おきに変更ログをポーリング |
Manufacturing/ManufacturingOrderOperations:Priority、WorkCenterId、PlannedQuantity、RestQuantity、PlannedSetupTime、PlannedUnitTime | 所要時間と残数量を含むジョブ | Monitor → SkyPlanner | 数分おきに変更ログをポーリング |
Manufacturing/ManufacturingOrderMaterials | オーダーごとの資材所要量 | Monitor → SkyPlanner | 変更ログをポーリング |
Inventory/PartLocations(Balance)、Purchase/PurchaseOrderRows(DeliveryDate、RestQuantity) | 在庫、納入日に入荷する資材 | Monitor → SkyPlanner | 毎時またはスケジューリング実行時にポーリング |
ManufacturingOrderOperations/Update:PlannedStartDate、PlannedFinishDate(24.5以降) | 工程ごとの開始・終了予定日時 | SkyPlanner → Monitor | スケジュール変更時にSkyPlannerのWebhook経由で連携 |
ManufacturingOrderOperations/SetWorkCenter | エンジンが選択したリソース | SkyPlanner → Monitor | スケジュール変更時 |
ReportManufacturingOrderOperation / ManufacturingOrderOperationReportings | 作業時間の記録と数量 | 要件定義で選定した一つの報告経路 | 実績報告ごと、またはシフトごと |
| Monitorには該当なし | 段取り時間マトリクス、数量に限りのあるリソースとして扱う工具、複数の作業者を要するジョブ | SkyPlannerで管理 | 導入時に設定 |
連携パターン
1. マスタデータの初回取り込み。作業区、工程行、代替工程行、資材行、品目、シフトスケジュールを読み取ります。各作業区をSkyPlannerのどのリソースに対応付けるか、慎重に決めてください。Pool作業区はリソースグループに、その配下の作業区はエンジンが割り当て先を選ぶ際の候補リソースになります。
2. オーダーの同期。未完了の製造オーダーをノード、工程、資材とともに読み取り、在庫と未完了の購買オーダーも取得します。SkyPlannerは発注済みの資材を購買オーダーの納入日から利用可能とみなし、購買オーダーがDeliveredになると在庫を更新します。初回取り込み後は、Common/EntityChangeLogsに基づいて差分を同期します。
3. スケジュールの書き戻し。エンジンが配置または移動した各工程について、SkyPlannerはPlannedStartDateとPlannedFinishDateを指定してManufacturingOrderOperations/Updateを送信します。プール内の別の機械に工程を移した場合は、先にSetWorkCenterを実行します。一つのオーダーのコマンドを一つのBatchにまとめることで、Monitorはすべてを受け付けるか、すべてを取り消すかのいずれかになります。テスト時は/Validateを使ってバッチを実行してください。
Monitor 24.5より前のバージョンでは、Updateで予定日時を書き込むことはできません。代わりに、StartDateとFinishDateを指定してManufacturingOrders/ReplanOperation(2.40以降)を使用し、運用ルールに合わせてRestrictToOrderBoundsを設定してください。
4. 製造現場の実績報告。報告経路は一つに統一します。
- Monitorでの報告を継続する場合。作業者は従来どおり、Recording terminalまたは機械連携を通じて報告します。SkyPlannerは
ManufacturingOrderOperationReportingsを進捗データとして読み取り、再スケジューリングします。 - SkyPlannerでの報告に切り替える場合。作業者はMobile ConfirmationsまたはProduction Timerで作業を記録し、SkyPlannerがMonitorに
ReportManufacturingOrderOperationをPOSTします。
両方のシステムから報告すると、作業時間と数量が二重計上されます。
5. データの管理主体と競合時のルール。本稼働前に、次の内容を明文化してください。
| データ | 管理主体 |
|---|---|
| 品目、BOMと工順、数量、オーダーステータス | Monitor |
| 工程の実行順序、開始・終了予定日時、プール内の作業区 | SkyPlanner |
| 段取り時間マトリクス、工具、作業者数、代替リソース | SkyPlanner |
| シフトと欠勤 | 要件定義で決めた一つのシステム |
| 工程実績の報告 | 要件定義で決めた一つの報告経路 |
競合の主な原因は、計画担当者が引き続き優先順位計画を変更することです。Rescheduling according to New finishの実行やPriority planningでの行のドラッグ操作は、SkyPlannerが書き込んだ日時を上書きします。SkyPlannerで工程順序を管理するようになったら、Priority planningは参照用として使います。Autopilotを使えば、生産状況が変わるとSkyPlannerが自動で再スケジューリングします。
標準的なプロジェクトの流れ
通常、オンボーディングの開始から数週間で導入が完了します。その前に、30日間の無料トライアルで自社データを使って検証できます。Monitorから未完了の製造オーダーの工程と作業区をExcelにエクスポートし、SkyPlannerに取り込んでください。連携作業を始める前に、スケジュールを検証します。
プロジェクトでは、以下の作業を行います。
- 要件定義。マッピング表、データの管理主体に関するルール、ポーリング間隔、実績報告の経路、Monitorのバージョンを確定します。
- アクセスの準備。APIユーザーを作成し、Monitor ERP APIの書き込みライセンスを購入して、ポート8001へのネットワークアクセスを許可します。
- 初期データの取り込み。品目、作業区、工程行、代替候補、資材、スケジュールを取り込みます。
- 変更ログに基づき、オーダーと購買オーダーを同期します。
- SkyPlannerでの制約条件の設定。段取り時間マトリクス、工具、作業者数、代替可能な機械や人員を設定します。
- スケジュールの書き戻し。バッチ単位で書き戻し、
/Validateでテストします。 - 並行テスト。SkyPlannerと優先順位計画を並行運用して日時を比較し、マスタデータを修正します。
- 本稼働。データの一致を確認したら、書き戻しを有効にします。
Monitor ERP連携で事前に検討すべきこと
- 稼働率。Monitorは稼働率を使い、総能力から正味能力を算出します。新規作業区の初期値は80 %です。SkyPlannerの効率に反映するか、シフト時間を短くするか、どちらか一方で適用し、二重に適用しないでください。
- 計画の時間単位。Day planningの作業区では、能力を一日当たりの基本時間で管理し、シフトの時刻は保持していません。作業が勤務時間内に収まるよう、生産スケジュールを基に実際のシフトをSkyPlannerに設定してください。
- 待ち時間とオーバーラップ。工程行には待ち時間とオーバーラップ率(%)が保持されています。それぞれをSkyPlannerにどう対応付けるか、要件定義で決めてください。決めておかないと、本稼働後にリードタイムが変わってしまいます。
- プール。プール作業区の計画には、Priority planningではなくPool planningを使います。プールの行だけでなく、そのプールに含まれる作業区も読み取ってください。
- バージョン要件。Updateによる計画日時の更新には24.5が必要です。APIの作業区能力フィールドには24.3、OIDCには25.8が必要です。要件定義の前にビルドを確認してください。
- ネットワークと証明書。オンプレミスのMonitorは、自己署名証明書を使ってポート8001でAPIを提供します。SkyPlannerはクラウドで動作するため、ファイアウォールルールか中継手段を用意し、証明書を明示的に信頼する設定が必要です。
- ライセンス。書き込みを行うサードパーティーアプリケーションごとに、APIライセンスを割り当てた専用ユーザーが必要です。すべてのシステムに、読み取り専用のAPIユーザーが一つ付属します。
Monitor ERP連携の設定とサポートの担当
設定作業では、自社の作業区、工程行、オーダーの流れに合わせてデータを対応付けます。さらに、Monitorが保持していない制約条件として、段取り時間マトリクス、工具、作業者数、代替リソースを設定します。
- SkyPlannerチームがオンボーディング中に設定し、本稼働後もサポートします。対象はSkyPlanner側の設定と、合意したMonitor ERP API呼び出しです。Monitor G5の運用は工場ごとに異なり、その運用ノウハウをここで設定に反映します。
- ご契約のMonitorパートナーも参加できます。パートナーはお客様の設定、バージョン、権限を把握しており、APIユーザー、ライセンス、ネットワークアクセスを準備できます。SkyPlannerはREST API、Swagger/OpenAPIドキュメント、Webhookを提供します。
- 自社の開発者による開発も可能です。同じ公開仕様のREST APIを、APIトークンで利用できます。APIトークンがあれば着手でき、必要に応じてSkyPlannerチームが支援します。公開ドキュメントはSkyPlannerドキュメントをご覧ください。
接続後は、ArcturusエンジンがMonitorの最新オーダーを基にスケジュールを作成し、製造オーダーの工程に計画日時を書き込みます。SkyPlannerは5リソース込みで月額199 €から利用でき、月次請求です。連携費用は、自社の業務プロセスと要件に合わせて、ご利用プランとともに事前に見積もるため、開始前に総費用を確認できます。料金、Monitor標準の計画機能との比較を紹介するMonitor ERPの生産スケジューリング、概要をまとめたMonitor ERPページをご覧ください。他のERPについてはERP連携一覧で紹介しています。
製造業のお客様によるSkyPlannerの評価
2時間毎週の作業時間を削減
「SkyPlannerによって、当社の生産計画はExcelでの管理から、リアルタイムで生産を最適化する仕組みへと変わりました。」
Kalle Kalliomäki、サプライチェーンスペシャリスト
UTU · 配電盤・開閉装置
生産計画にかかる作業時間を毎週2時間削減し、新しい作業キューも数秒で生産ラインに届きます。
+90%生産効率が向上
「生産効率が90%向上しました。」
Abdul Rucyinga、IT部門責任者
Laboratory & Allied · 医薬品製造
生産効率が90%向上し、全リソースを対象に三か月分の最適化された計画を30分未満で作成できます。
数千件の作業指示を自動でスケジューリング
「生産をこれまでとは違う形で管理できるようになり、生産能力への理解もまったく別のレベルに達しました。」
Hannu Ryynänen、CEO
Mamec · 産業用ミキサー、ポンプ、ハイテク製品の受託製造
数千件の作業指示を自動でスケジューリングし、組織全体で生産状況をリアルタイムに把握できます。
6か月先までの余力を営業部門が把握
「SkyPlannerは、生産計画全体の基盤を築き、その信頼性を支えています。」
Anu Järvinen、生産マネージャー
Fredman Operations · 食品用包装紙
営業部門は六か月先までの余力を把握できます。以前は一時間以上かかっていたスケジュール変更の依頼にも、数秒で回答できるようになりました。
よくある質問
Monitor ERPには製造オーダー用のAPIがありますか?
はい。Monitor ERP APIでは、Manufacturing/ManufacturingOrders、ManufacturingOrderNodes、ManufacturingOrderOperations、ManufacturingOrderMaterialsをクエリで取得できます。計画日時の書き戻しには、ManufacturingOrderOperations/UpdateやReplanOperationなどのコマンドを使います。
API経由でMonitorに書き込むには、追加ライセンスが必要ですか?
はい。API経由の読み取りは、すべてのMonitorユーザーが無料で利用できます。データを書き込むコマンドには、Monitorが販売するMonitor ERP APIが必要です。見積もりは、ご契約のMonitorパートナーまたはMonitorの営業チームが提示します。
Monitor ERP APIはWebhookに対応していますか?
Webhookについての記載はドキュメントにありません。この連携では、Common/EntityChangeLogsを数分ごとにポーリングし、変更されたレコードだけを取得します。逆方向では、SkyPlanner独自のWebhookがスケジュールの変更を発生時にプッシュ通知します。
Monitorのどのバージョンが必要ですか?
ManufacturingOrderOperations/Updateによる計画開始日時と終了日時の書き込みには、Monitor 24.5以降が必要です。2.40以降の旧G5ビルドではReplanOperationを使います。要件定義の際に、ご利用のビルドに適した方法を確認します。
Monitor ERP連携は誰が構築しますか?
SkyPlannerチームがオンボーディング中に、ご利用のMonitor G5環境に合わせて双方向連携を設定し、本稼働後もサポートします。ご契約のMonitorパートナーや自社の開発者も、SkyPlannerの公開仕様のREST APIを使って開発できます。APIトークンがあれば着手できます。