Sage 200連携ガイド SkyPlanner APSによる生産スケジューリング
このSage 200連携ガイドでは、ビジネスパートナーとIT部門に向けて、Sage 200 Professionalおよび製造アドオンをSkyPlanner APSに接続する方法を解説します。SkyPlannerとSage 200は、次のデータを双方向に連携します。
- 製品、倉庫在庫、発注、受注のデータをSage 200 REST API経由で取り込みます。
- 製造アドオンから製造指図、工程、人員・機械リソースを取り込みます。
- 工程の計画日時を製造指図に書き戻します。
- 作業者の時間記録を書き戻し、各工程の作業時間として登録します。
SkyPlannerチームが導入時にお客様のSage 200環境に合わせて連携を設定し、本稼働後もサポートします。このガイドは、連携作業に参加するパートナーや開発者、または公開ドキュメントのあるSkyPlannerのREST API(APIリファレンス)を使って独自に開発する方を対象としています。
一つのSage 200システムにある二つのデータソース
製造業のSage 200環境は二つの層で構成され、連携ではその両方からデータを読み取ります。
1. 販売・購買と在庫のデータを扱うSage 200 REST API。 Sageは、このAPIについて”lets your application read and modify data in a Sage 200 site”(アプリケーションから同環境のデータを読み取り、変更できる)と説明しています。対象は顧客、仕入先、製品、受注・発注、総勘定元帳の勘定科目です。Sage 200 Professionalのリファレンス(2025.02)では、リソースをCash Book、Commercials、Financials、General、Nominal、POP、Price Book、Purchases、Sales、SOP、Stockに分類しています。スケジューリングで重要なリソースは次のとおりです。
| リソース | 格納されるデータ |
|---|---|
products | コード、名称、在庫単位、BOM品目タイプ、標準原価 |
warehouse_holdings | quantity_in_stock, quantity_on_order, quantity_allocated_bom, free_stock_available, is_default_manufacturing_warehouse |
pop_orders, pop_order_lines | 未完了の発注、line_quantity、requested_delivery_dates |
sop_orders, sop_order_lines | 顧客需要、requested_delivery_date、promised_delivery_date |
warehouses, units | 拠点と計量単位 |
2. 製造指図を扱う製造アドオン。 Sage 200 APIには、製造指図、工程、リソースのエンドポイントはありません。製造指図はSicon Works Order Processing、Cim200、または旧来のSage 200 Manufacturingモジュールで管理されます。連携では、アドオンがサポートする経路を通じて製造指図、工程、リソースを読み取ります。この経路は要件定義の段階で、お客様およびSage 200パートナーと合意します。
認証とアクセス
Sage 200 APIは”uses OAuth 2.0 with OpenID Connect”(OAuthをOpenID Connectと併用する)方式で、認可コードグラントフローを採用しています。サインインにはSage IDを使います。
- Sage 200 API Developer Programmeに参加し、認証情報を申請します。
- 利用するエンドポイントに必要な会社・機能へのアクセス権を持つSage 200ユーザーに、Sage IDを紐付けます。
offline_accessスコープを要求します。要求しない場合、リフレッシュトークンは発行されません。- データベースへのすべてのリクエストで、
Authorization: Bearer <access_token>、X-Site、X-Companyを送信します。二つのIDはいずれも/sitesから取得します。
Sage 200 ProfessionalのベースURLはhttps://api.columbus.sage.com/uk/sage200extra/accounts/v1です。リクエストではGET、POST、PUT、DELETEと、ODataのクエリオプション$filter、$select、$top、$skip、$orderby、$expandを使います。
Sage 200 Professionalでは、お客様のサポートプロバイダーがAPIを有効にします。Sageのチェックリストに沿って、”the API is enabled”(APIが有効になっていること)と”each required user has a Sage ID assigned.”(必要な各ユーザーにSage IDが割り当てられていること)を確認します。Sage 200 Standardでは、APIはデフォルトで有効です。
設計ではトークンの有効期間を考慮する必要があります。アクセストークンの有効期間は8時間です。リフレッシュトークンは1日から90日間有効で、”The refresh window is measured from the user’s initial sign-in, not from the most recent refresh.”(更新可能な期間は、直近の更新時点ではなく、ユーザーが最初にサインインした時点から計算されます)。Sageは再認証について”is unavoidable”(避けられない)と明記しています。期間が終了する前に再同意を促すアラートを設けてください。
SkyPlanner側のREST APIはAPIトークン(SkyPlanner Settings > API)で認証し、仕様はSwagger/OpenAPIで公開しています。最初のAPI呼び出しの手順は、連携チュートリアルで解説しています。
変更の検出
Sage 200 APIリファレンスには、Webhookやサブスクリプションのリソースはありません。変更はポーリングで検出します。レコードにはdate_time_createdとdate_time_updatedがあるため、ポーリングのたびに$filterでdate_time_updatedを絞り込み、$topと$skipでページを分けて取得します。
製造指図は数分ごとに、在庫と発注明細は毎時ポーリングします。SkyPlannerはスケジュールが変わるとWebhookを送信するため、書き戻しはイベント駆動で行います。
データのマッピング
| Sage 200のオブジェクト(連携元) | SkyPlannerのオブジェクト | 連携方向 | 頻度 |
|---|---|---|---|
products, units (API) | 製品と材料 | Sage 200 → SkyPlanner | 初回取り込み後、ポーリング |
| BOM構成部品(アドオンまたはBOMモジュール) | 製品構成、子製品、製品ごとの材料 | Sage 200 → SkyPlanner | 変更時 |
| 人員・機械リソース、リソースグループ(アドオン) | リソース、リソースグループ、人員 | Sage 200 → SkyPlanner | 初回取り込み |
| リソースの稼働可否:操業停止、保守、休暇(アドオン) | シフト、不在 | Sage 200 → SkyPlanner | 毎日 |
| 製造指図とその工程、工程ごとの所要時間(アドオン) | 指図と作業、およびその工程、所要時間、納期 | Sage 200 → SkyPlanner | 数分ごと |
sop_order_lines: requested_delivery_date, promised_delivery_date (API) | 顧客への納期 | Sage 200 → SkyPlanner | ポーリング |
warehouse_holdings: quantity_in_stock, free_stock_available (API) | 在庫残高 | Sage 200 → SkyPlanner | 毎時 |
pop_order_lines: line_quantity, requested_delivery_dates (API) | 入荷予定日を含む発注 | Sage 200 → SkyPlanner | 毎時 |
| 製造指図の工程の開始・終了予定日時、リソース | 工程ごとの開始・終了予定日時とリソース | SkyPlanner → Sage 200 | 変更時にWebhook経由 |
| 工程の作業時間登録(アドオン) | 時間記録と作業者による実績報告 | SkyPlanner → Sage 200 | 実績報告ごと、またはシフトごと |
| SkyPlannerの制約データ | 段取り時間マトリクス、使用可能数に制限のあるリソースとしての工具、代替機械・人員 | SkyPlannerで管理 | 導入時 |
連携パターン
1. マスタデータの初回取り込み。 APIから製品と単位を取得し、続いてアドオンからリソース、リソースグループ、BOMの工程を取得します。同一仕様の機械三台からなるリソースグループは、一つのリソースグループとしても、三つのリソースとしても登録できます。
2. 指図の同期。 アドオンから未完了の製造指図とその工程を読み取り、APIから未完了のpop_order_linesとwarehouse_holdingsを読み取ります。スケジューリングでは、在庫と購入品の入荷予定の両方を確認します。MRPは引き続きSage 200で製造指図を提案し、SkyPlannerはお客様が作成した指図をスケジューリングします。
3. スケジュールの書き戻し。 エンジンが配置または移動したすべての工程について、SkyPlannerは開始・終了予定日時とリソースを製造指図に書き戻します。数量、引当、原価計算は引き続きアドオン側で管理します。
4. 製造現場からの実績報告。 作業者がSkyPlanner Mobile ConfirmationsまたはProduction Timerで作業を記録すると、その時間記録がスケジュールに反映され、最新の状態が保たれます。記録した時間は製造指図の工程に対する作業時間として書き戻されるため、Sage 200の原価計算に実績時間が反映されます。
工場ですでにSicon Shop Floor Data CaptureまたはCim200 Shop Floor Data Captureを使って作業時間を登録している場合は、登録経路を一つに統一してください。
5. データの管理主体と競合時のルール。 本稼働前に、次の内容を文書化してください。
| データ | 管理主体 |
|---|---|
| 製品、BOM、製造指図数量、引当、原価 | Sage 200とアドオン |
| 工程順序、開始・終了日時、リソースの割当 | SkyPlanner |
| 段取り時間マトリクス、工具・作業者の要件、代替リソース | SkyPlanner |
| 作業時間の実績登録 | Sage 200(SkyPlannerの作業時間ログから連携) |
競合の主な原因は、負荷状況を示すチャートです。計画担当者がSicon Rough Cut Capacity PlanningやCim200 Graphical Schedulerで製造指図や工程をドラッグして日程を変更し続けると、二つのシステムで日程を管理することになります。工程日程の管理はSkyPlannerに任せてください。Autopilotを使えば、生産状況の変化に応じてSkyPlannerが自動でスケジュールを組み直します。
一般的なプロジェクトの流れ
導入は通常、オンボーディング開始から数週間で完了します。その前に、未完了の製造指図をCSVまたはExcelでエクスポートし、30日間の無料トライアルでスケジュールを検証してください。その後、プロジェクトを次の手順で進めます。
- 要件定義。アドオンとそのバージョン、製造指図の読取経路、書戻し経路、同期頻度、作業時間の実績登録方法を確認します。
- APIアクセス。サポートプロバイダーがSage 200 APIを有効にし、Sage IDをSage 200ユーザーに紐付け、会社と機能へのアクセス権を設定します。
- 初期データの取込。製品、単位、リソース、リソースグループ、BOMの工程、稼働可能時間を取り込みます。
- オーダーの同期。製造指図、発注明細、在庫をポーリングで同期し、再同意が必要な場合のアラートも設定します。
- SkyPlannerでの制約設定。段取り時間マトリクス、工具、作業ごとの作業者数、代替の機械や人員を設定します。
- スケジュールの書戻し。工程の計画日程を製造指図に書き戻します。この段階で作業時間の実績登録も追加します。
- 並行テストと本稼働。現行計画と日程を比較し、マスタデータを修正してから、書戻しを有効にします。
Sage 200連携で事前に確認すべきこと
- 新バージョンでの旧モジュール廃止。従来のSage 200 Manufacturingモジュールは、Sage 200 Professional 2025 R2以降では使用できません。マッピングを始める前に、本稼働時にどの製造管理機能を使用するか確認してください。
- 原価データから算出される工程時間。Sicon MRPは、Sage 200のBOM原価項目から作業時間と機械時間を見積もります。まず、実際の稼働時間と照合してください。
- 原価区分の不一致。Sageは、BOMの工程と原価区分の間でNominal、Overhead Nominal、Overhead Recovery %が一致していないと、”there will be cost discrepancies.”(原価に差異が生じます)と注意を促しています。
- 更新期限。最大90日間の期限は、初回サインインから数えます。再同意を行わない連携は、四半期ごとに同じ日に停止します。
- 複数の会社を含むサイト。一つのサイトに複数の会社を登録できるため、すべてのリクエストで正しい
X-Companyを送信してください。
Sage 200連携の設定・サポート担当
- SkyPlannerチームがオンボーディング中に設定し、本稼働後もサポートします。
- ご契約のSage 200ビジネスパートナーも参加できます。パートナーはお使いのアドオンを把握しており、Sage 200 ProfessionalのAPIを有効にします。
- 自社の開発者による拡張も可能です。仕様書が公開されている同じREST APIを、APIトークンで利用できます。APIトークンがあれば開発を始められ、必要に応じてSkyPlannerチームが支援します。
接続後は、ArcturusエンジンがSage 200の最新の製造指図に基づいてスケジュールを作成し、計画日程を製造指図の工程に反映します。SkyPlannerは5リソースを含めて月額199 €から利用でき、毎月の請求となります。連携費用は、お客様の業務プロセスと要件に応じて、利用プランと併せて事前に見積もるため、開始前に総費用を把握できます。料金と機能をご確認ください。Sage 200標準の計画機能との比較は、Sage 200での生産スケジューリングで紹介しています。概要はSage 200のページ、他のERPとの連携はERP連携一覧をご覧ください。
製造業のお客様によるSkyPlannerの評価
2時間毎週削減
「SkyPlannerによって、当社の生産計画はExcelの表計算から、リアルタイムの生産最適化へと変わりました。」
Kalle Kalliomäki、サプライチェーンスペシャリスト
UTU · 配電盤・開閉装置
生産計画の業務で毎週2時間の作業時間を削減し、新しい作業キューを数秒でラインに届けています。
1,000件単位の製造指図を自動でスケジューリング
「生産をこれまでとは違う形で管理できるようになり、生産能力への理解もまったく別の水準に達しました。」
Hannu Ryynänen、CEO
Mamec · 産業用ミキサー、ポンプ、ハイテク分野の受託製造
数千件の製造指図を自動でスケジューリングし、組織全体で生産状況をリアルタイムに把握しています。
よくある質問
Sage 200 APIは製造指図に対応していますか?
いいえ。Sage 200 Professional APIは製品、在庫、受発注、財務などを対象としていますが、製造指図や工程のリソースはありません。製造指図は、Sicon Works Order ProcessingやCim200などの製造管理アドオンから、要件定義で合意した経路を通じて取得します。
Sage 200連携は誰が構築しますか?
SkyPlannerチームがオンボーディング中に、お客様のSage 200環境に合わせて双方向連携を設定し、本稼働後もサポートします。ご契約のSage 200ビジネスパートナーがAPIを有効にし、プロジェクトにも参加できます。自社の開発者も、ドキュメントが整備されたSkyPlannerのREST APIを使って開発できます。APIトークンがあれば開始できます。
Sage 200から変更をリアルタイムにプッシュ送信できますか?
Sage 200 APIにはWebhookがありません。在庫と発注はdate_time_updatedを基にポーリングし、製造指図はアドオンから数分ごとに読み取ります。逆方向では、SkyPlanner独自のWebhookが、スケジュールの変更を発生時にプッシュ送信します。