Exact Online連携ガイド SkyPlanner APSで生産スケジューリング
この連携ガイドでは、ExactのパートナーやITチームに向けて、Exact Online ManufacturingとSkyPlanner APSを接続する方法を説明します。SkyPlannerはExact Onlineと双方向で連携します。
- 製造指図、工順の各工程、資材計画、作業区、工程、部品表をExact Online REST API経由で取り込みます。
- 品目、在庫状況、発注、受注を取り込み、変更はExact OnlineのWebhookで受信します。
- 計画開始日と計画終了日を、工順の各工程と製造指図に書き戻します。
- 作業者の時間記録は工数実績として、完成数量は製造指図の入庫実績として登録します。
導入時には、SkyPlannerチームがお客様のExact Online環境に合わせて連携を設定し、本稼働後もサポートします。このガイドは、連携に参加するパートナーや開発者、またはSkyPlannerの公開REST API(APIリファレンス)を使って独自に開発したい方を対象としています。末尾では、Exact Globe+についても簡単に説明します。
製造向けのExact Online REST API
Exact Onlineは単一のREST APIを通じてデータを公開しており、リソースはサービスごとに分類されています。ベースパスは/api/v1/{division}/<service>/<resource>で、divisionはExact Onlineの会社を表します。REST APIリファレンスでは、manufacturingサービスに、スケジューリングで使用する以下のリソースが記載されています。
| リソース | 格納される情報 | メソッド |
|---|---|---|
manufacturing/ShopOrders | 製造指図番号、品目、PlannedQuantity、PlannedStartDate、PlannedDate、ステータス、リリース済みフラグ | GET, POST, PUT, DELETE |
manufacturing/ShopOrderRoutingStepPlans | 製造指図ごとの工順の各工程:工程、Workcenter、LineNumber、PlannedStartDate、PlannedEndDate、PlannedSetupHours、PlannedRunHours | GET, POST, PUT, DELETE |
manufacturing/ShopOrderMaterialPlans | 製造指図ごとの資材明細 | GET, POST, PUT, DELETE |
manufacturing/Workcenters | コード、種別、生産エリア、能力値、単価 | GET, POST, PUT, DELETE |
manufacturing/Operations, OperationResources | 工程と各工程を実行する作業区、段取り時間、加工時間 | GET, POST, PUT, DELETE |
manufacturing/BillOfMaterialVersions, BillOfMaterialMaterials, BillOfMaterialRoutings | BOMのバージョン、構成部品、工順 | GET, POST, PUT, DELETE |
manufacturing/TimeTransactions | 製造指図および工順の各工程に計上された工数 | GET, POST, PUT, DELETE |
manufacturing/ShopOrderReceipts | 製造指図に対して入庫された完成数量 | GET, POST |
manufacturing/MaterialIssues | 製造指図に払い出された資材 | GET, POST |
manufacturing/ShopOrderPriorities | 製造指図ごとの優先順位モード | GET, PUT |
他のサービスからは、以下のリソースを使用します。
| リソース | 格納される情報 |
|---|---|
logistics/Items | 品目マスタ |
inventory/ItemWarehouses | 品目・倉庫別の在庫 |
purchaseorder/PurchaseOrders, PurchaseOrderLines | 未完了の発注と入庫日 |
salesorder/SalesOrders, SalesOrderLines | 顧客の需要と納期 |
認証とアクセス
Exact Onlineは、認可コードフローとリフレッシュトークンを用いたOAuth 2.0を採用しています。Exactの説明では、”Before you can start integration with Exact Online, you must first register your app in the App Store.”(Exact Onlineとの連携を開始するには、まずApp Storeにアプリを登録する必要があります。)とされています(Exact Onlineヘルプ)。アプリの登録にはExact Online Developerのサブスクリプションが必要です(Exact App Store)。
- 連携をアプリとして登録し、リダイレクトURIを設定します。
- 製造、在庫、購買へのアクセス権を持つExact Onlineユーザーが、一度同意を行います。
- すべてのリクエストで
Authorization: Bearer <access_token>を送信し、パスにdivisionを含めます。 - アクセストークンはリフレッシュトークンを使って更新します。Exactは新しいトークンを要求できる頻度を制限しているため、有効期限が切れるまでトークンをキャッシュしてください。
Exactはアプリ・会社ごとに、分あたりおよび日あたりの呼び出し回数にも上限を設け、並列ではなく逐次呼び出すよう求めています。現在の制限はExactのAPI制限に関する記事に記載されています。連携はこれらの制限を考慮して設計されており、$filterと$selectで読み取り対象を絞り込み、大量の変更にはSync APIを使用します。
SkyPlanner側のREST APIは、Authorization-Tokenヘッダーに指定するAPIトークン(SkyPlanner Settings > API)で認証します。仕様はSwagger/OpenAPIで公開されています。最初の呼び出し手順は連携チュートリアルで説明しています。
Webhookとポーリング
Exact OnlineのWebhookは、購読中のトピックに変更があると、HMAC SHA256ハッシュで署名したPOSTリクエストをコールバックURLに送信します(Webhook)。トピックにはItems、StockPosition、PurchaseOrders、PurchaseOrderLines、SalesOrders、SalesOrderLinesなどがあります。これにより、在庫、購買、需要の変更が発生するたびにSkyPlannerへ通知されます。
製造指図と工順の各工程は、定期的に読み取ります。ShopOrdersとShopOrderRoutingStepPlansをModifiedで絞り込み、一括読み取りにはSync APIを使用してください(APIの制約)。
SkyPlannerはスケジュールが変更されると独自のWebhookを送信するため、Exact Onlineへの書き戻しはイベント駆動で行われます。
データマッピング
| Exact Onlineのリソース | SkyPlannerのオブジェクト | 連携方向 | 連携頻度 |
|---|---|---|---|
Items | 製品と資材 | Exact Online → SkyPlanner | 初回取り込み後、Webhook |
BillOfMaterialVersions, BillOfMaterialMaterials | 製品構成、子製品、製品ごとの資材 | Exact Online → SkyPlanner | 変更時 |
Workcenters, OperationResources | リソース、リソースグループ | Exact Online → SkyPlanner | 初回取り込み時 |
Operations, BillOfMaterialRoutings | 段取り時間と加工時間を含む工程 | Exact Online → SkyPlanner | 変更時 |
ShopOrders | 数量と納期を含む製造指図 | Exact Online → SkyPlanner | 数分ごと |
ShopOrderRoutingStepPlans | 順序、作業区、段取り時間、加工時間を含む作業 | Exact Online → SkyPlanner | 数分ごと |
ShopOrderMaterialPlans | 作業ごとの資材 | Exact Online → SkyPlanner | 数分ごと |
ItemWarehouses, StockPosition | 在庫残高 | Exact Online → SkyPlanner | Webhook通知時 |
PurchaseOrderLines | 入荷予定日を含む発注情報 | Exact Online → SkyPlanner | Webhook |
SalesOrderLines | 顧客への納期と優先度 | Exact Online → SkyPlanner | Webhook |
ShopOrderRoutingStepPlans: PlannedStartDate, PlannedEndDate, Workcenter (PUT) | 工程ごとの開始・終了予定とリソース | SkyPlanner → Exact Online | 変更時にWebhook経由で送信 |
ShopOrders: PlannedStartDate, PlannedDate (PUT) | 製造指図の開始・完了予定 | SkyPlanner → Exact Online | 変更時にWebhook経由で送信 |
TimeTransactions (POST) | 作業時間の記録と作業者の実績報告 | SkyPlanner → Exact Online | 実績報告ごと、またはシフトごと |
ShopOrderReceipts (POST) | 最終工程の完成数量 | SkyPlanner → Exact Online | 実績報告ごと |
| Exact Onlineでは保持しないデータ | 段取り時間マトリクス、有限リソースとして扱う工具、作業ごとの作業者、代替リソース、シフト | SkyPlannerで管理 | 導入支援時 |
連携の流れ
1. マスタデータの初回取り込み。 Workcenters、Operations、OperationResourcesを読み込み、続いて品目とBOMの各バージョンを工順とともに取り込みます。設備が三台ある作業区は、三つのリソース、または一つのリソースグループとして設定します。Exactの作業区には能力値が一つしかないため、シフト、欠勤、残業はSkyPlannerで設定します。
2. 製造指図の同期。 未完了のShopOrdersを、対応するShopOrderRoutingStepPlans、ShopOrderMaterialPlansとともに読み込み、在庫と発注明細も取り込みます。スケジューリングでは、在庫と発注済みの入荷予定の両方を確認します。Exact OnlineのMRPは引き続き発注・製造の提案を行い、SkyPlannerは作成された製造指図をスケジューリングします。
3. スケジュールの書き戻し。 エンジンが配置または移動した各工程について、SkyPlannerはPlannedStartDate、PlannedEndDate、Workcenterを含むPUTリクエストをShopOrderRoutingStepPlansに送信します。製造指図のPlannedStartDateとPlannedDateは、それぞれ最初と最後の工程に合わせて更新されます。数量、資材計画、原価計算はExact Onlineで引き続き管理します。
4. 製造現場からの実績報告。 作業者はSkyPlanner Mobile ConfirmationsまたはProduction Timerで作業を記録し、その時間実績によってスケジュールが最新に保たれます。記録した時間は、製造指図と工程に紐づく段取り時間または実行時間として、TimeTransactionsに登録されます。最終の実績報告では、完成数量のShopOrderReceiptsレコードを登録します。すでに工場でShop Floor Controlを使って時間を記録している場合は、入力経路をどちらかに統一してください。
5. データの管理主体と競合時のルール。 本稼働前に、以下を明文化してください。
| データ | 管理主体 |
|---|---|
| 品目、BOM、製造指図の数量、資材計画、原価 | Exact Online |
| 工程の順序、開始・終了時刻、作業区の割り当て | SkyPlanner |
| 段取り時間マトリクス、工具、作業ごとの作業者、代替リソース、シフト | SkyPlanner |
| 時間実績と完成品の入庫実績 | Exact Online(SkyPlannerからデータを送信) |
競合の主な原因は、日付の手動変更です。計画担当者がExact Onlineで製造指図の日付を変更し続けると、日付を二つのシステムで管理することになります。工程の日付はSkyPlannerに一元管理させてください。Autopilotを使えば、生産状況が変わるとSkyPlannerが自動でスケジュールを再計算します。
標準的な導入手順
導入は通常、導入支援の開始から数週間で完了します。その前に、未完了の製造指図と工程をCSVまたはExcelにエクスポートし、30日間の無料トライアルでスケジュールを検証してください。その後、次の手順でプロジェクトを進めます。
- 要件定義。 エディション、事業体、同期頻度、作業時間の入力経路、入庫実績の登録方法を確認します。
- アプリの登録と同意。 アプリを登録した後、Exact Onlineのユーザーが事業体ごとにOAuthの同意を付与します。
- 初回取り込み。 作業区、工程、品目、BOMの各バージョン、工順を取り込みます。
- 製造指図の同期。 製造指図、工程計画、資材計画は定期的に同期し、在庫と購買情報はWebhookで同期します。
- SkyPlannerでの制約設定。 シフト、段取り時間マトリクス、工具、作業ごとの作業者数、代替設備・要員を設定します。
- スケジュールの書き戻し。 各工程の予定日をExact Onlineに書き戻し、続いて時間実績と入庫実績を登録します。
- 並行テストと本稼働。 現行計画と日付を比較し、マスタデータを修正してから書き戻しを有効にします。
Exact Online連携で事前に検討すべきこと
- 各工程の所要時間。
PlannedSetupHoursとPlannedRunHoursはBOMの工順から取得します。まず実際の作業時間と照合してください。 - 作業区のグループ化。 Exactでは、作業区ごとに一つの能力値を保持します。各作業区を一つのリソース、複数のリソース、リソースグループのどれとして扱うか決めてください。
- カレンダー。 シフト、休日、欠勤はSkyPlannerで管理します。初回のスケジューリング前に設定してください。
- API呼び出し回数の上限。 Exactはアプリ・会社ごとに呼び出し回数を制限し、逐次呼び出しを前提としています。対応するトピックがある場合はWebhookを利用し、
Modifiedに$filterを適用してください。大量のデータを読み込む際はSync APIを使います。 - 複数の事業体。 Exact Onlineの各事業体は一つの会社に相当し、個別のパスがあり、それぞれ同意が必要です。各工場を対応する事業体に紐づけてください。
- リリース済みの製造指図。 SkyPlannerによる日付変更を、未リリースとリリース済みの両方に認めるか、未リリースの指図だけに認めるか、対象ステータスを合意してください。
- 日付の管理を一元化。 SkyPlannerで工程の日付を管理し始めたら、Exact Onlineで日付を手動変更しないでください。
Exact Globe+
Exact Globe+は、Exact Globe+パートナーを通じて販売・導入されるExactのERPです。Exactは「koppelt eenvoudig en snel met andere systemen」(他のシステムと簡単かつ迅速に連携できる)と説明しています(Exact Globe+)。SkyPlannerはExact Globe+の製造指図も同じ仕組みでスケジューリングします。製造指図、工順、リソース、在庫を取り込み、予定日と記録した作業時間を書き戻します。インターフェースと書き戻し対象のオブジェクトは、要件定義でExact Globe+パートナーとSkyPlannerチームが合意します。
Exact Online連携の設定・サポート担当
- SkyPlannerチームが導入支援時に設定し、本稼働後もサポートします。
- ご契約のExactパートナーも参加できます。 パートナーは、ご利用のエディション、事業体、製造関連の設定を把握しています。
- 自社の開発者による拡張も可能です。 ドキュメントが整備されたSkyPlannerのREST APIを利用できます。APIトークンがあれば着手でき、必要に応じてSkyPlannerチームが支援します。
接続すると、ArcturusエンジンがExact Onlineの最新の製造指図をもとにスケジューリングし、各工程に予定日を反映します。SkyPlannerは5リソースを含めて月額199 €から利用でき、月ごとの請求です。連携費用は、お客様の業務プロセスと要件に応じて、利用プランとともに事前にお見積もりします。開始前に費用の全体を把握できます。料金と機能をご覧ください。Exact Online標準の計画機能との比較は、Exact Onlineの生産スケジューリングで紹介しています。概要はExact Onlineのページに、その他のERPはERP連携一覧に掲載しています。
製造業のお客様によるSkyPlannerの評価
資材不足による生産停止を削減
「SkyPlannerの価値は、日々の業務で実際に役立つツールであることです。特に納期の設定で役立っています。」
Tommi Männistö、生産計画マネージャー
Eskomatic · 機械加工受託
負荷を自動でスケジューリングすることで納期の精度が向上し、資材不足による生産停止が大幅に減少しました。
1,000件単位の作業指図を自動スケジューリング
「生産管理のあり方が変わり、生産能力への理解もまったく違う水準になりました。」
Hannu Ryynänen、CEO
Mamec · 産業用ミキサー、ポンプ、ハイテク製品の受託製造
数千件の作業指図を自動でスケジューリングし、組織全体で生産状況をリアルタイムに把握しています。
よくある質問
Exact Online APIは製造指図や工順の各工程に対応していますか?
はい。製造サービスにはShopOrders、ShopOrderRoutingStepPlans、ShopOrderMaterialPlans、Workcenters、Operations、BOMリソースがあり、いずれも読み取りと書き込みが可能です。時間実績はTimeTransactions、完成数量はShopOrderReceiptsを通じて登録します。
計画日時はどのようにExact Onlineに書き戻されますか?
SkyPlannerは、工程を配置または移動するたびに、その工程のPlannedStartDate、PlannedEndDate、Workcenterを含むPUTリクエストをShopOrderRoutingStepPlansに送信します。製造指図のPlannedStartDateとPlannedDateも、それに合わせて更新されます。
Exact Onlineとの連携は誰が構築しますか?
SkyPlannerチームが導入時に、お客様のExact Online環境に合わせて双方向連携を設定し、本稼働後もサポートします。ご契約のExactパートナーも参加できます。また、ドキュメントが公開されているSkyPlannerのREST APIを使い、自社の開発者が連携を構築することも可能です。APIトークンがあれば開発を始められます。
Exact Onlineから変更をリアルタイムでプッシュ通知できますか?
Exact OnlineのWebhookは、品目、在庫状況、発注、受注の変更をプッシュ通知します。製造指図と工順の各工程は、条件を絞ったリクエストで短い間隔で取得します。逆方向では、SkyPlannerのWebhookがスケジュールの変更を発生時にプッシュ通知します。
連携を構築する前にSkyPlannerを試せますか?
はい。30日間の無料トライアルでは、製造指図をCSVまたはExcelでインポートし、最大20リソースでお試しいただけます。クレジットカードは不要です。無料トライアルを開始するか、連携の要件定義について営業に相談してください。