Visma Net連携ガイド SkyPlanner APSで生産スケジューリングを行うには
このガイドでは、パートナー企業やIT部門に向けて、Visma Net(Visma.net ERP)とSkyPlanner APSの連携方法を説明します。SkyPlannerはVisma Net APIを通じて、Visma Netと双方向にデータをやり取りします。
- 在庫品目、Kit specifications、受注、在庫数量、発注を取り込みます。
- スケジュール済みの作業からKit assembliesを作成し、作業完了時にリリースします。
- 作業者の工数をEmployee time cardsとして書き戻します。
- SkyPlannerのWebhookが、スケジュールの変更を発生時に通知します。
SkyPlannerチームが導入時にお客様のVisma Net環境に合わせて連携を設定し、稼働後もサポートします。このガイドは、連携構築に参加するパートナー企業や開発者、または公開ドキュメントのあるSkyPlannerのREST API(APIリファレンス)を使って自ら開発する方を対象としています。
Visma Netの連携インターフェース
- Visma Net ERP API。REST形式のAPIで、OpenAPI仕様書の名称は現在も「Visma.net ERP API v1」です。v1とv2のパスがあります。ベースURLは
https://api.finance.visma.netです。旧ドメインのintegration.visma.netでは2026年2月1日から流量制限が適用され、廃止が進められています(お知らせ)。 - SalesOrder service v3のURLは
https://salesorder.visma.netです。v1とv2の受注エンドポイントはサポートを終了しています。 - WebhookはVisma Developer Portalから利用できます。
- Background API。
erp-api-backgroundヘッダーを指定すると、時間のかかる呼び出しがキューに登録され、ジョブIDとともに202が返されます。結果の準備ができると通知されます。 - Visma Netのインポート・エクスポートシナリオは、CSV、Excel、SQLのデータプロバイダーを使った、単発のマスタデータ取り込みに利用できます。
Visma Netには製造指図、工順、作業区のオブジェクトがないため、APIにもそれらのエンドポイントはありません。スケジューリングに使うデータは、品目、キット、受発注、在庫から取得します。
GET /v1/inventory:在庫品目と非在庫品目。キットフラグと品目クラスを含みますGET /v1/KitSpecifications/{kitInventoryID}/{revisionID}:改訂版ごとの構成品明細GET /v1/kitassembly:既存の組立データ。種類とステータスで絞り込めます- SalesOrder service v3:希望日と明細を含む需要データ
GET /v1/inventorysummary/{inventoryNumber}:倉庫別の手持在庫数量と利用可能数量GET /v1/purchaseorderとGET /v2/PurchaseReceipt:入荷予定の資材と入荷実績
すべての一覧取得エンドポイントで、lastModifiedDateTimeとlastModifiedDateTimeConditionに加え、pageNumberとpageSizeを指定できます。そのため、毎回の同期を差分更新で行えます。
認証と制限
Visma NetはVisma Connect(OpenID ConnectとOAuth 2.0)を使用します。
- Visma Developer PortalでService Integrationを登録します。
- お客様のVisma Netのテナント管理者が連携を承認します。
- クライアントクレデンシャルフローで
https://connect.visma.com/connect/tokenにトークンをリクエストします。tenant_idと、visma_api:readなどのAPIスコープを渡します。トークンの有効期間は3,600秒です。
レート制限は、会社とクライアントの組み合わせごとに、一時間単位の固定の時間枠で適用されます。レスポンスにはX-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Resetが含まれます。上限を超えると、Retry-Afterとともに429が返されます(レート制限)。ETagとIf-Matchヘッダーにより、更新の競合を防ぎます。
パートナー企業は、Vismaの無料のIntegrator Programmeを通じて、デモ用の会社環境でテストできます。SkyPlanner側のREST APIはAPIトークン(SkyPlanner Settings > API)で認証し、Swagger/OpenAPIで仕様を公開しています。最初のAPI呼び出しの手順は、連携チュートリアルで説明しています。
イベント、Webhook、ポーリング
Visma Developer PortalのWebhookは、スケジューリングに関わる次のイベントに対応しています。
- 在庫品目の作成・更新・変更(Inventory Item Created、Updated、Changed)
- 発注の変更・ステータス変更(Purchase Order Changed、Status Changed)
- 受注の変更・ステータス変更(Sales Order Changed、Status Changed)。パブリッシャーはSalesOrderServiceへ移行中です
Kit assemblyとKit specificationsにはイベントがありません。SkyPlannerはlastModifiedDateTimeのフィルターを使ってこれらをポーリングします。在庫残高は、スケジューリングの実行時にポーリングします。逆方向では、状態やスケジュールが変わると、SkyPlannerがWebhookを送信します。
データマッピング
| Visma Netのオブジェクト(エンドポイント) | SkyPlannerのオブジェクト | 連携方向 | 頻度 |
|---|---|---|---|
在庫品目、非在庫品目(/v1/inventory) | 製品と資材 | Visma Net → SkyPlanner | 初回取込後、Webhook |
Kit specifications(/v1/KitSpecifications) | 製品構成、製品ごとの資材 | Visma Net → SkyPlanner | 初回取込後、ポーリング |
| 受注(SalesOrder service v3) | 納期と顧客優先度を含むオーダー | Visma Net → SkyPlanner | Webhook |
Visma Netで組立データを作成する場合:ステータスがOn holdのKit assembly(/v1/kitassembly) | 作業 | Visma Net → SkyPlanner | ポーリング |
在庫集計(/v1/inventorysummary) | 倉庫別の在庫残高 | Visma Net → SkyPlanner | スケジューリング実行時にポーリング |
発注、仕入入荷(/v1/purchaseorder、/v2/PurchaseReceipt) | 納入日を含む資材の入荷予定。発注品の納入時に在庫を更新 | Visma Net → SkyPlanner | Webhook受信後に取得 |
| Visma Netには存在しないデータ | 工程、リソース、シフト、段取り時間マトリクス、工具、代替リソース | SkyPlannerで管理 | 導入時に設定 |
Kit assemblyの作成・更新(POST/PUT /v1/kitassembly) | スケジュール済みの作業:キット品目、数量、完了予定日 | SkyPlanner → Visma Net | スケジュール変更時にSkyPlannerのWebhook経由で反映 |
Kit assemblyのリリース(/v1/kitassembly/{type}/{refNo}/action/release) | 完了した作業:生産実績と構成品の消費 | SkyPlanner → Visma Net | 完了時 |
在庫入庫、在庫出庫(/v1/inventoryReceipt、/v1/inventoryissue、リリース) | キットを使わない場合の生産実績と資材使用実績 | SkyPlanner → Visma Net | 完了時 |
Employee time card(/v1/timeCard) | 作業者別の記録工数 | SkyPlanner → Visma Net | 毎週 |
連携パターン
1. マスタデータの初回取込。在庫品目、品目クラス、各キットの最新のKit specification改訂版を取得します。構成品明細をそれぞれSkyPlannerの資材に対応付けます。続いて、Visma Netにないデータを作成します。対象はリソース、シフト、段取り時間と稼働時間を設定した工程、段取り時間マトリクス、必要な工具です。これらをCSVまたはExcelで取り込みます。ここがプロジェクトで最も大きな作業になります。
2. オーダーの同期。需要モデルを一つ選びます。
- 受注起点。キット品目の未完了の受注明細から、希望日を納期とするSkyPlannerのオーダーを作成します。
- 組立起点。Visma Netで作成したステータスがOn holdのKit assembliesから、SkyPlannerの作業を作成します。
未完了の発注は、日付とともに取り込みます。SkyPlannerは発注済みの資材を発注の納入日に利用可能とみなし、発注がDeliveredになると在庫を更新します。スケジューリングでは、在庫集計も使い、現在の在庫と発注品の入荷予定の両方を確認します。
3. スケジュールの書き戻し。受注起点の構成では、SkyPlannerはスケジュール済みの作業ごとに、種類がProductionのKit assemblyを作成します。キット品目、改訂版、倉庫、数量、構成品を設定し、受注明細に紐付けます。組立日には完了予定日を設定します。Autopilotが作業の予定を変更すると、リリース前にPUTで日付を更新します。
Kit assemblyのDateフィールドは一つだけです。そのため、工程ごとの時刻はSkyPlannerで保持し、Visma Netには販売と在庫に関わる日付を渡します。
4. 製造現場での実績報告。作業者はMobile ConfirmationsまたはProduction Timerで作業を記録し、その時間記録によってスケジュールを最新に保ちます。最終工程が完了すると、SkyPlannerはKit assemblyのリリースアクションを呼び出します。リリースによって生産実績と構成品の消費が計上され、その後、総勘定元帳のバッチが作成されます。工数は週次のEmployee time cardsに集計し、プロジェクト起点の作業ではプロジェクト取引に集計します。
5. データの管理主体と競合時のルール。 本稼働前に、次の内容を明文化します。
| データ | 管理主体 |
|---|---|
| 品目、Kit specifications、受注、発注、在庫、原価 | Visma Net |
| 工程、リソース、シフト、段取り、工具 | SkyPlanner |
| 作業順序、開始・終了時刻、リソースの割り当て | SkyPlanner |
| リリース前のKit assemblyの日付 | SkyPlanner |
| リリース済みのKit assembliesとタイムカード | Visma Net(SkyPlannerから転記) |
Kit specificationを変更すると、新しいリビジョンが作成されます。製造に使えるのは最新のリビジョンだけなので、最新のものを再取得してマッピングし直します。組立伝票で手動編集した構成品はVisma Netで引き続き有効なため、SkyPlannerはリリース前に組立伝票を再取得します。
一般的なプロジェクトの進め方
通常、導入はオンボーディング開始から数週間で完了します。その前に、30日間の無料トライアルで自社データを使って試せます。Visma Netのエクスポートシナリオで出力したデータを、CSVまたはExcel形式で取り込みます。
- 要件定義。 需要モデル、マッピング表、データの管理ルール、書き戻し先(Kit assemblyまたは入庫伝票)を確定します。
- Visma Connectの設定。 Service Integrationを登録し、テナント管理者の承認を得ます。まずはデモ用の会社環境でテストします。
- 生産モデルの設定。 SkyPlannerでリソース、シフト、工程、段取り、工具を設定します。
- 初期データの取り込み。 在庫品目、品目クラス、Kit specifications、倉庫、在庫を取り込みます。
- 受注・発注の同期。 受注、発注、品目にはWebhookを使い、キットと在庫にはポーリングを使います。トークンの更新と429への対応もこの段階で実装します。
- 書き戻し。 Kit assemblyの作成・更新・リリースと、タイムカードの書き戻しを実装します。
- 並行テスト。 現行の計画と並行してSkyPlannerを運用し、日付を比較します。
- 本稼働。 データの一致を確認してから、書き戻しを有効にします。
Visma Net連携で事前に検討すべきこと
- 取り込める工順はありません。 すべての工程、段取り時間、加工時間をSkyPlannerで設定します。必要な工数と担当者を決めておきます。
- Advanced logistics。 Kit assemblyにはAdvanced logisticsグループが必要です。Standard logisticsでは、Inventory receiptとInventory issueで生産実績を計上します。
- リビジョンのロック。 使用済みのKit specificationのリビジョンは編集できません。また、製造に使えるのは最新のリビジョンだけです。
- 数量単位。 Kit assemblyには独自の数量単位があります。取り込み時に、SkyPlanner側の数量と整合させます。
- イベントがない場合のポーリング。 キットにはWebhookがありません。時間あたりのレート制限内に収めるため、全件を再取得せず、
lastModifiedDateTimeで差分を取得します。 - 現行のエンドポイント。 実装には
api.finance.visma.netとSalesOrder service v3のみを使います。 - テナント管理者の承認。 テナント管理者がアプリを承認するまでは、クライアントクレデンシャルによる認証は失敗します。早めに承認の予定を確保します。
- 週単位のタイムカード。 タイムカードにはAdvanced financialsが必要で、管理単位は週です。作業者の工数を週ごとに集計するか、プロジェクト取引に転記します。
Visma Net連携の設定・サポート担当
- SkyPlannerチームがオンボーディング時に設定し、本稼働後もサポートします。 対応範囲は、SkyPlanner側の設定、Visma Netにはない生産モデル、合意したVisma Net API呼び出しです。Visma Netの運用は工場ごとに異なるため、その運用ノウハウをここに反映します。
- ご契約のVisma Netパートナーも参加できます。 VismaはVisma認定パートナーとともにVisma Netを提供しています。パートナーはお客様の環境を把握しており、マッピングやVisma Connectアプリをレビューできます。SkyPlannerはREST API、Swagger/OpenAPIドキュメント、Webhookを提供します。
- 自社の開発者による構築も可能です。 公開ドキュメントに記載されている同じREST APIを、APIトークンで利用できます。APIトークンがあれば着手でき、必要に応じてSkyPlannerチームが支援します。公開ドキュメントはSkyPlannerドキュメントで確認できます。
接続が完了すると、ArcturusエンジンがVisma Netの最新の受注に基づいてスケジュールを作成し、完了した作業はリリース済みのKit assembliesとしてVisma Netに書き戻されます。料金は5リソースを含めて月額199 €からで、月ごとの請求です。連携費用はお客様の工程と要件に合わせて、利用プランとともに事前に見積もるため、開始前に総費用を確認できます。
料金をご確認ください。Visma Netにスケジューラが必要な理由はVisma Netの生産スケジューリングで、連携の概要はVisma Netのページで解説しています。他のERPについてはERP連携一覧をご覧ください。
製造業のお客様によるSkyPlannerの評価
2時間毎週の作業時間を削減
「SkyPlannerによって、当社の生産計画はExcelの表からリアルタイムの生産最適化へと変わりました。」
Kalle Kalliomäki、サプライチェーン担当スペシャリスト
UTU · 配電盤・開閉装置
生産計画にかかる作業時間を毎週2時間削減し、新しい作業順序も数秒で生産ラインに伝わります。
+90%生産効率が向上
「生産効率が90%向上しました。」
Abdul Rucyinga、IT部門責任者
Laboratory & Allied · 医薬品製造
生産効率が90%向上し、すべてのリソースを対象に三か月分の最適化された計画を30分未満で作成できます。
98%納期遵守率が約50%から向上
「SkyPlannerは、当社の納期遵守率を維持するうえで決定的な役割を果たしています。」
Hannu Lahtinen、代表取締役
KJH-Comp · 板金加工・受託製造
納期遵守率は約50%から最高98%に向上しました。以前は二人の管理者が担当していたスケジューリングも、現在は一人で対応しています。
6か月先まで営業が余力を把握
「SkyPlannerは、あらゆる生産計画の基盤を築き、その信頼性を支えています。」
Anu Järvinen、生産部門責任者
Fredman Operations · 食品用包装紙
営業部門は六か月先まで生産余力を把握できます。以前は一時間以上かかっていたスケジュール変更の依頼にも、数秒で回答できるようになりました。
よくある質問
Visma Net APIには製造指図がありますか?
いいえ。Visma Netには製造指図、工順、作業区のオブジェクトがないため、APIにもありません。生産伝票には/v1/kitassemblyのKit assemblyを使い、工順とリソースはSkyPlannerで管理します。
連携にはどの認証方式を使いますか?
Visma ConnectのOAuth 2.0クライアントクレデンシャルフローを使い、Visma Developer PortalでService Integrationとして登録します。テナント管理者による承認が必要で、トークンの有効期間は一時間です。
Visma Netから変更をリアルタイムで通知できますか?
品目、受注、発注は、Visma Developer PortalのWebhookを通じて通知できます。Kit assembliesとKit specificationsにはイベントがないため、差分ポーリングで変更を取得します。SkyPlanner独自のWebhookは、スケジュール変更の発生時に通知を送ります。
生産完了の実績はどのようにVisma Netに書き戻されますか?
SkyPlannerは、スケジュールに組み込まれた作業ごとにKit assemblyを作成し、その日付を最新に保ちます。作業が完了するとリリースアクションを呼び出し、生産数量と構成品の消費を計上します。キットを使わない場合は、Inventory receiptとInventory issueで同じ処理を行います。