MRPeasy連携ガイド SkyPlanner APSで生産スケジューリング
このガイドでは、コンサルタントやITチームに向けて、MRPeasyとSkyPlanner APSを接続する方法を解説します。SkyPlannerはMRPeasy REST APIを通じて、MRPeasyと双方向に連携します。
- 製造指図、工順、BOM、リソースグループ、リソース、品目、在庫、発注のデータを取り込みます。
- 計画日時と進捗を各Manufacturing Orderに書き戻します。
- スケジュールが変更されると、SkyPlannerのWebhookがその変更を即座に通知します。
SkyPlannerは、顧客プロジェクトでMRPeasyとの連携実績があります。導入時にはSkyPlannerチームがお客様のMRPeasy環境に合わせて連携を設定し、本稼働後もサポートします。このガイドは、連携作業に参加するコンサルタントや開発者、またはSkyPlannerの公開REST API(APIリファレンス)を使って自ら開発する方を対象としています。
MRPeasy REST API:v1とv2
MRPeasyは単一のクラウド製品で、オンプレミス版はありません。そのため、すべての顧客が同じAPIを使用します。APIには二つのバージョンがあります。
- REST API v1(OpenAPI 1.0、サーバー:
https://api.mrpeasy.com/rest/v1)は本番用のAPIです。/items、/boms、/routings、/manufacturing-orders、/work-centers、/work-center-types、/customer-orders、/purchase-orders、/stock/inventory、/lots、/unitsのほか、/report/production/operationsなどの生産レポートに対応しています。 - REST API v2(OpenAPI 2.0.0、サーバー:
https://api.mrpeasy.com/rest/v2)は開発初期の段階にあります。work_hoursとholidaysを持つ/workstation-groups、productivityとidleを持つ/workstations、/inventory、/stock-movement、およびPATCHが追加されています。製造指図には引き続きv1を使用します。
名称の違いに注意してください。MRPeasyの画面上のWorkstation groupは、v1ではwork-center-types(type_id)に対応します。Workstationはwork-centers(center_id)です。工順内の工程はtype_idでグループを参照し、個々の機械を参照するわけではありません。
APIはMRPeasyのUnlimitedプランに含まれ、有料アカウントで利用できます。また、MRPeasyは”Our Support Department cannot help you using the API.”(サポート部門ではAPIの利用を支援できません)と明記しています。そのため、SkyPlanner、MRPeasyのコンサルタント、または開発者のいずれかが連携の責任を担う必要があります。導入時には、SkyPlannerチームがまさにこの作業を担当します。
認証と制限
MRPeasyはHTTP Basic認証を使用します:Authorization: Basic base64(api-key:api-secret)。キーとシークレットはSettings → Integration → API accessで作成します。キーを削除するとAPIは無効になります。
同期の設計では、次の制限を考慮する必要があります。
- クライアントごとの同時リクエスト数は一件です。リクエストは順番に処理されます。
- リクエスト数の上限は10秒あたり100件です。これを超えると、APIは429を返します。
- 一覧の取得件数はデフォルトで100件です。
Rangeヘッダーを指定すると最大1,000件まで取得できます。レスポンスのContent-Rangeで総件数を確認できます。
SkyPlanner側のREST APIは、APIトークン(SkyPlanner Settings > API)で認証します。仕様はSwagger/OpenAPIで公開されています。最初のAPI呼び出しの手順は、連携チュートリアルで解説しています。
イベントとポーリング
MRPeasyの料金ページには”API, webhooks (for paid accounts)”(API、Webhook〈有料アカウント向け〉)と記載されていますが、v1とv2の仕様書には製造指図のWebhookイベントが記載されていません。そのため、連携ではMRPeasyをポーリングし、差分を取得します。
- 製造指図は、Not scheduled(15)、Scheduled(20)、In progress(30)、Paused(35)に絞って取得します。
- 発注と在庫は、定期的に、またはスケジューリングを実行する前に毎回取得します。
- マスタデータは、変更時または毎晩取得します。
対象を絞った逐次ポーリングなら、10秒あたり100リクエストの上限に十分な余裕を持って収まります。逆方向では、SkyPlanner独自のWebhookがスケジュールの変更を即座に通知するため、書き戻しはイベント駆動で行います。
データの対応付け
| MRPeasyのオブジェクト(エンドポイント) | SkyPlannerのオブジェクト | 方向 | 頻度 |
|---|---|---|---|
Item、Unit of measurement(/items、/units) | 製品と材料 | MRPeasy → SkyPlanner | 初回取り込み後、毎晩 |
構成部品を含むBOM(/boms) | 製品構成、子製品、製品ごとの材料 | MRPeasy → SkyPlanner | 初回取り込み後、変更時 |
工順内の工程(/routings):type_id、fixed_time、variable_time、variable_quantity | 工程とその所要時間、段取り時間、バッチサイズ | MRPeasy → SkyPlanner | 初回取り込み後、変更時 |
Workstation group(/work-center-types、v2では/workstation-groups) | リソースグループ、シフト | MRPeasy → SkyPlanner | 初回取り込み後はまれに更新 |
Workstation(/work-centers、v2では/workstations:productivity、idle) | リソース、効率、不稼働期間 | MRPeasy → SkyPlanner | 初回取り込み後、不稼働時間は毎日 |
工程とdue_dateを含むManufacturing Order(/manufacturing-orders) | オーダーと作業 | MRPeasy → SkyPlanner | 数分おきにポーリング |
Inventory、Stock lots(/stock/inventory、/lots) | 在庫残高 | MRPeasy → SkyPlanner | 毎時、またはスケジューリング実行ごと |
Purchase Order(/purchase-orders) | 入荷予定の材料と入荷予定日 | MRPeasy → SkyPlanner | 毎時、またはスケジューリング実行ごと |
Manufacturing Orderのdue_dateフィールドとcustom_<id>フィールド(PUT /manufacturing-orders/{id}) | 開始予定日時、完了予定日時、進捗 | SkyPlanner → MRPeasy | スケジュール変更時にSkyPlannerのWebhook経由で更新 |
| MRPeasyには存在しないデータ | 段取り時間マトリクス、数量制約のあるリソースとして扱う工具、作業者数、代替リソース | SkyPlannerで管理 | 導入時に設定 |
連携パターン
1. マスタデータの初回取り込み。品目、単位、BOM、工順はv1から、リソースグループとリソースはv1またはv2から取得します。カレンダーはv2の/workstation-groups(work_hours、holidays)から取得するか、SkyPlannerでシフトを直接設定します。各Active processingグループをSkyPlannerのリソースグループに対応付け、そのグループに属するリソースをメンバーとして登録します。
2. オーダーの同期。未完了の製造指図とその工程、未完了の発注、在庫を読み込みます。SkyPlannerは発注済みの材料を発注書の納入日に利用可能として扱い、発注のステータスがDeliveredになると在庫を更新します。再スケジューリングのたびに、在庫と入荷予定の両方を確認します。
3. スケジュールの書き戻し。PUT /manufacturing-orders/{id}は、code、quantity、due_date、assigned_idに加え、custom_<id>形式のカスタムフィールドに対応しています。SkyPlannerは、合意した場合に完了予定日時をdue_dateへ書き戻し、開始予定日時、完了予定日時、進捗をMRPeasyのカスタムフィールドへ書き込みます。これにより、営業や購買の担当者はMRPeasyで実際のスケジュールを確認できます。詳細な工程順序と各工程の割り当て先リソースはSkyPlannerで管理し、現場はSkyPlannerで作業指示を確認します。
4. MRPeasy外で作成するオーダー。API経由でオーダーを作成する場合、POST /manufacturing-ordersではno_schedulingとno_bookingsを指定できます。SkyPlannerがすでにスケジュールを組んでいるリソースをMRPeasyが予約しないよう、これらを使用してください。
5. 現場の実績報告。作業者はSkyPlanner Mobile Confirmations、Production Timer、またはQuick Log Modeで作業を記録し、その時間記録によってスケジュールが最新に保たれます。実績の入力先は一つに統一してください。同じ工程についてMRPeasyのInternet-kioskとSkyPlannerを併用すると、正とする実績データが二つに分かれてしまいます。
6. 管理責任と競合時のルール。本稼働前に、次の内容を文書化してください。
| データ | 管理主体 |
|---|---|
| 品目、BOM、工順、数量、在庫、調達 | MRPeasy |
| 工程順序、開始・終了日時、リソースの割り当て | SkyPlanner |
| 段取り時間マトリクス、工具、作業者数、代替リソース | SkyPlanner |
| シフトと欠勤・休暇 | 要件定義で選定する一つのシステム |
| オーダーの進捗と作業実績 | SkyPlannerで管理し、Manufacturing Orderに要約を反映 |
受注設計生産の流れ。納入済みのMRPeasy連携プロジェクトの一例では、顧客案件ごとに主製品一つと半製品一つから三つを作成しています。それぞれに固有のBOMと工順がMRPeasyにあり、製造指図は両システムに存在します。更新時に重複が生じないよう、すべてのオーダーで共通の識別子を維持し、変更しないでください。
一般的な導入手順
導入は通常、オンボーディング開始から数週間で完了します。それに先立ち、MRPeasyのどのプランでも、自社データを使って30日間の無料トライアルを利用できます。MRPeasyの一覧画面から品目、BOM、工順、リソース、未完了の製造オーダーをCSVにエクスポートし、取り込んでスケジュールを検証します。
プロジェクトでは、以下の作業を行います。
- プランの確認。MRPeasyの契約プランでAPIを利用できることを確認し、APIキーとシークレットを作成します。
- マッピング。マッピング表、データの管理責任に関するルール、書き戻し用のカスタムフィールド、実績の入力経路を確定します。
- 初期データの取り込み。品目、単位、BOM、工順、リソースグループ、リソース、カレンダーを取り込みます。
- オーダーと購買オーダーの同期。ステータス別に差分をポーリングし、429への対処も組み込みます。
- SkyPlannerでの制約設定。段取り時間マトリクス、工具、作業者数、代替リソースを設定します。
- 書き戻し。各Manufacturing Orderの納期とカスタムフィールドに書き戻します。
- 並行テスト。現在のProduction scheduleと並行してSkyPlannerを運用し、日付を比較してマスタデータを修正します。
- 本稼働。データの一致を確認したら、書き戻しを有効にします。
MRPeasy連携で事前に検討すべき点
- 時間関連のフィールド名はインターフェースによって異なります。UIのSetup time、Cycle time、Capacityは、APIではそれぞれ
fixed_time、variable_time、variable_quantityに対応します。Capacityが1を超える場合は、オーブンのようなバッチ処理を意味します。サイクル時間を延ばすのではなく、バッチ作業としてマッピングしてください。 - Passive processingグループ。乾燥や冷却のグループは、能力の上限を設けず24/7で処理が進みます。能力に上限のあるリソースではなく、待ち時間としてマッピングしてください。
- v1にはカレンダーがありません。
work-centersが返すのは、center_id、type_id、code、titleのみです。v2を使うか、SkyPlannerでシフトを管理してください。 - 非稼働時間。リソースの非稼働時間には、保守や停止の時間が記録されています。これを同期しないと、SkyPlannerは停止中の設備にも作業を割り当ててしまいます。
- 工順はグループを参照します。MRPeasyは、最も空きのある設備を選びます。SkyPlannerでは、グループ内の各リソースが実際の代替候補となり、エンジンがその中から選択します。
MRPeasy連携の設定とサポートの担当
設定作業では、工順、リソースグループ、オーダーの流れをマッピングします。さらに、MRPeasyでは保持していない制約である段取り時間マトリクス、工具、作業者数、代替リソースも設定します。
- SkyPlannerチームがオンボーディング中に設定し、本稼働後もサポートします。MRPeasyの運用方法は工場ごとに異なります。その実務知識を、この設定に反映します。MRPeasyのサポートはAPI関連の作業を対象としていないため、一つのチームが連携全体に責任を持つことが重要です。
- お客様のMRPeasyコンサルタントや連携パートナーによる構築も可能です。納入済みのMRPeasyプロジェクトでは、連携パートナーが両システムのREST APIを使って接続しました。SkyPlannerはREST API、Swagger/OpenAPIドキュメント、Webhookを提供しています。
- 自社の開発者も、APIトークンを使って連携を構築できます。APIトークンがあれば着手でき、必要に応じてSkyPlannerチームが支援します。購買オーダーや製品・資材APIを含む製品ドキュメントは、SkyPlannerドキュメントで確認できます。
SkyPlannerは5リソースを含み、月額199 €から、月ごとの請求で利用できます。連携費用は、お客様の業務プロセスと要件に合わせて、プランとともに事前にお見積もりします。開始前に総費用を把握できます。料金と機能をご確認ください。MRPeasy標準のスケジューラとの比較は、MRPeasyの生産スケジューリングで紹介しています。概要はMRPeasyのページ、他のERPとの連携はERP連携の一覧をご覧ください。
製造業のお客様によるSkyPlannerの評価
2時間を毎週削減
「SkyPlannerによって、当社の生産計画はExcelの表計算からリアルタイムの生産最適化へと進化しました。」
Kalle Kalliomäki、サプライチェーンスペシャリスト
UTU · 配電盤・開閉装置
生産計画にかかる作業時間を毎週2時間削減し、新しい作業キューは数秒でラインに届きます。
+90%生産効率が向上
「生産効率が90%向上しました。」
Abdul Rucyinga、IT部門責任者
Laboratory & Allied · 医薬品製造
生産効率が90%向上し、全リソースを対象とした三か月分の最適化された生産計画を30分未満で作成できます。
6か月先までの余力を営業が把握
「SkyPlannerは、あらゆる生産計画の基盤となり、信頼性を支えています。」
Anu Järvinen、生産マネージャー
Fredman Operations · 食品用包装紙
営業部門は六か月先までの余力を把握できます。以前は一時間以上かかっていたスケジュール変更の依頼にも、数秒で回答できるようになりました。
よくある質問
MRPeasyにAPIはありますか?どのプランが必要ですか?
はい。MRPeasyでは、有料アカウントのUnlimitedプランでREST APIを提供しています。v1は本番稼働中、v2は開発中です。認証にはHTTP Basicを使用し、Settings → Integration → API accessで取得したAPIキーとシークレットを指定します。
SkyPlannerからMRPeasyにスケジュールを書き戻せますか?
はい。SkyPlannerはPUT /manufacturing-orders/{id}で各Manufacturing Orderを更新し、納期と、開始予定・終了予定・進捗を格納するカスタムフィールドを書き込みます。詳細な工程順序はSkyPlannerで管理し、作業者は各自の作業キューに従って作業します。
MRPeasyは変更をリアルタイムにプッシュ通知しますか?
API仕様には製造オーダーのWebhookイベントが記載されていないため、SkyPlannerは未完了のオーダーをステータス別に数分おきにポーリングします。SkyPlanner自身のWebhookは、スケジュールの変更を発生時にプッシュ通知します。
MRPeasy連携は誰が構築しますか?
SkyPlannerチームがオンボーディング中に双方向連携を設定し、本稼働後もサポートします。お客様のMRPeasyコンサルタント、連携パートナー、自社の開発者も、ドキュメントが整備されたSkyPlannerのREST APIを使って構築できます。