Connects with ERP & MES systems like

Integrations / ERP / Visma Net ERP

Visma Net Integration Guide for Production Scheduling with SkyPlanner APS

This Visma Net integration guide shows partners and IT teams how to connect Visma Net (Visma.net ERP) to SkyPlanner APS. SkyPlanner integrates with Visma Net in both directions over the Visma Net API:

  • Stock items, Kit specifications, sales orders, stock levels and purchase orders flow in.
  • Scheduled jobs become Kit assemblies, released when the work is done.
  • Operator hours go back as Employee time cards.
  • SkyPlanner webhooks push schedule changes as they happen.
SkyPlanner APS Gantt timeline with jobs scheduled across workstations and an order list below.

The SkyPlanner team configures the integration to your Visma Net setup during onboarding and supports it after go-live. This guide is for partners and developers who want to take part, or to build on SkyPlanner’s documented REST API (API reference) themselves.

Visma Net’s integration interfaces

  • Visma Net ERP API. REST with an OpenAPI spec still titled “Visma.net ERP API v1”, with v1 and v2 paths. The base URL is https://api.finance.visma.net. The old integration.visma.net domain is throttled from 1 February 2026 and being shut down (notice).
  • SalesOrder service v3 at https://salesorder.visma.net. The v1 and v2 sales order endpoints are end-of-life.
  • Webhooks through the Visma Developer Portal.
  • Background API. The erp-api-background header queues long calls, returns 202 with a job ID and notifies you when the result is ready.
  • Import and export scenarios in Visma Net, with CSV, Excel or SQL data providers, for one-off master data loads.

The API has no production order, routing or work center endpoint, because Visma Net has no such objects. The scheduling data comes from items, kits, orders and stock:

  • GET /v1/inventory: stock and non-stock items, including the kit flag and item class
  • GET /v1/KitSpecifications/{kitInventoryID}/{revisionID}: component lines per revision
  • GET /v1/kitassembly: existing assemblies, filterable by type and status
  • SalesOrder service v3: demand with requested dates and lines
  • GET /v1/inventorysummary/{inventoryNumber}: on-hand and available per warehouse
  • GET /v1/purchaseorder and GET /v2/PurchaseReceipt: incoming material and receipts

All list endpoints accept lastModifiedDateTime with lastModifiedDateTimeCondition, plus pageNumber and pageSize, so every sync can be incremental.

Authentication and limits

Visma Net uses Visma Connect (OpenID Connect and OAuth 2.0):

  • Register a Service Integration in the Visma Developer Portal.
  • The customer’s Visma Net tenant administrator approves the integration.
  • Request tokens with the client credentials flow at https://connect.visma.com/connect/token, passing the tenant_id and API scopes such as visma_api:read. Tokens last 3,600 seconds.

Rate limits follow a fixed hourly window per company and client. Responses carry X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and an exceeded limit returns 429 with Retry-After (rate limits). ETag and If-Match headers protect updates.

Partners test against a demo company through Visma’s free Integrator Programme. On the SkyPlanner side, the REST API authenticates with an API token (SkyPlanner Settings > API) and is documented in Swagger/OpenAPI. The integration tutorial walks through the first calls.

Events, webhooks and polling

Visma Developer Portal webhooks cover the events that matter for scheduling:

  • Inventory Item Created, Updated and Changed
  • Purchase Order Changed and Status Changed
  • Sales Order Changed and Status Changed, moving to the SalesOrderService publisher

There are no events for Kit assembly or Kit specifications. SkyPlanner polls those with lastModifiedDateTime filters. Stock balances are polled on schedule runs. In the other direction, SkyPlanner sends webhooks when state or the schedule changes.

Data mapping

Visma Net object (endpoint)SkyPlanner objectDirectionFrequency
Stock items, Non-stock items (/v1/inventory)Products and materialsVisma Net → SkyPlannerInitial load, then webhook
Kit specifications (/v1/KitSpecifications)Product structure, materials per productVisma Net → SkyPlannerInitial load, then polling
Sales orders (SalesOrder service v3)Orders with due dates and customer priorityVisma Net → SkyPlannerWebhook
Kit assembly, status On hold (/v1/kitassembly), if assemblies are raised in Visma NetJobsVisma Net → SkyPlannerPolling
Inventory summary (/v1/inventorysummary)Stock balances per warehouseVisma Net → SkyPlannerPolling on schedule run
Purchase orders, purchase receipts (/v1/purchaseorder, /v2/PurchaseReceipt)Incoming material with delivery date; stock updates when the PO is deliveredVisma Net → SkyPlannerWebhook, then read
Not in Visma NetProcess steps, workstations, shifts, setting time matrix, tools, alternative resourcesMaintained in SkyPlannerSet up during onboarding
Kit assembly create and update (POST/PUT /v1/kitassembly)Scheduled job: kit item, quantity, planned finish dateSkyPlanner → Visma NetOn schedule change, via SkyPlanner webhook
Kit assembly release (/v1/kitassembly/{type}/{refNo}/action/release)Finished job: output and component consumptionSkyPlanner → Visma NetOn completion
Inventory receipt, Inventory issue (/v1/inventoryReceipt, /v1/inventoryissue, release)Output and material use where kits are not usedSkyPlanner → Visma NetOn completion
Employee time card (/v1/timeCard)Logged hours per operatorSkyPlanner → Visma NetWeekly

Integration patterns

1. Initial master data load. Read stock items, item classes and the latest Kit specification revision of every kit. Map each component line to a SkyPlanner material. Then build what Visma Net does not hold: workstations, shifts, process steps with setup and run times, the setting time matrix and tool requirements. Import them as CSV or Excel. This is the biggest piece of the project.

2. Order sync. Pick one demand model:

  • Sales order driven. Open sales order lines for kit items become SkyPlanner orders with the requested date as the due date.
  • Assembly driven. Kit assemblies created in Visma Net with status On hold become SkyPlanner jobs.

Open purchase orders come in with their dates. SkyPlanner treats ordered material as available on the PO delivery date and updates stock when the PO is marked Delivered. Together with the inventory summary, the schedule checks both stock and incoming purchases.

3. Schedule write-back. For a sales order driven setup, SkyPlanner creates a Kit assembly of type Production for each scheduled job. It sets the kit item, revision, warehouse, quantity and components, and links the assembly to the sales order line. The assembly date is the planned finish. When Autopilot moves the job, a PUT updates the date before release.

The Kit assembly has one Date field, so operation-level times stay in SkyPlanner and Visma Net gets the date that matters to sales and stock.

4. Shop-floor confirmations. Operators log work with Mobile Confirmations or the Production Timer, and the timelogs keep the schedule current. When the last step is done, SkyPlanner calls the release action on the Kit assembly. Release posts output and component consumption, and the general ledger batch follows. Hours roll up to weekly Employee time cards, or to project transactions for project-driven work.

5. Ownership and conflict rules. Write them down before go-live:

DataOwner
Items, Kit specifications, sales orders, purchase orders, stock, costVisma Net
Process steps, workstations, shifts, setups, toolsSkyPlanner
Job sequence, start and end times, workstation assignmentSkyPlanner
Kit assembly date before releaseSkyPlanner
Released Kit assemblies and time cardsVisma Net, posted from SkyPlanner

A change to a Kit specification creates a new revision. Re-read the latest revision and re-map it, since only the last revision can be used to build. Manual component edits on an assembly stay valid in Visma Net, so SkyPlanner reads the assembly back before release.

Typical project steps

Implementation is normally completed within weeks after onboarding starts. Before that, the 30-day free trial runs on your own data from a Visma Net export scenario, imported as CSV or Excel.

  1. Scoping. Fix the demand model, mapping table, ownership rules and write-back target (Kit assembly or inventory receipts).
  2. Visma Connect setup. Register the Service Integration and get tenant administrator approval. Test in a demo company first.
  3. Production model. Workstations, shifts, process steps, setups and tools in SkyPlanner.
  4. Initial load. Stock items, item classes, Kit specifications, warehouses, stock.
  5. Order and purchase order sync. Webhooks for sales orders, purchase orders and items; polling for kits and stock. Token renewal and 429 handling live here.
  6. Write-back. Kit assembly create, update and release, plus time cards.
  7. Parallel testing. Run SkyPlanner beside the current plan and compare dates.
  8. Go-live. Switch on write-back once the data matches.

What to plan for in a Visma Net integration

  • No routings to import. All process steps, setup and run times start in SkyPlanner. Plan the effort and the owner.
  • Advanced logistics. Kit assembly needs the Advanced logistics group. On Standard logistics, post output with Inventory receipt and Inventory issue.
  • Locked revisions. A used Kit specification revision cannot be edited, and only the latest revision can build.
  • Units of measure. The Kit assembly carries its own unit of measure. Align it with SkyPlanner quantities on import.
  • Polling without events. Kits have no webhooks. Use lastModifiedDateTime deltas, not full reloads, to stay inside the hourly rate limit.
  • Current endpoints. Build only on api.finance.visma.net and SalesOrder service v3.
  • Tenant approval. Client credentials fail until the tenant administrator approves the app. Book that step early.
  • Weekly time cards. Time cards need Advanced financials and are weekly. Aggregate operator hours per week or post to project transactions.

Who configures and supports the Visma Net integration

  1. The SkyPlanner team configures it during onboarding and supports it after go-live. That covers the SkyPlanner side, the production model Visma Net lacks and the agreed Visma Net API calls. Every plant runs Visma Net differently, and this is where that know-how goes.
  2. Your Visma Net partner can take part. Visma delivers Visma Net with Visma-certified partners, who know your setup and can review the mapping and Visma Connect app. SkyPlanner provides the REST API, Swagger/OpenAPI documentation and webhooks.
  3. Your own developers can build it on the same documented REST API with an API token. An API token is enough to start, and the SkyPlanner team assists when needed. Public documentation is at SkyPlanner docs.

Once connected, the Arcturus engine schedules from live Visma Net orders, and finished work lands back in Visma Net as released Kit assemblies. Pricing is from 199 € per month with 5 workstations included, billed monthly. The integration is quoted up front for your process and needs, together with your plan, so you see the full cost before you start.

See pricing, why Visma Net needs a scheduler in Visma Net finite capacity scheduling, the overview on the Visma Net page, and other ERPs in the ERP integrations hub.

SkyPlanner reviews from manufacturers

Kalle Kalliomäki, Supply Chain Specialist at UTU, on the switchboard production floor in Ulvila

2 hsaved every week

“SkyPlanner has taken our production planning from Excel spreadsheets to real-time production optimization.”

Kalle Kalliomäki, Supply Chain Specialist
UTU · Electrical switchboards and switchgear

Production planning saves 2 hours of working time every week, and a new work queue reaches the line in seconds.

Read the UTU review

Operators in cleanroom suits at a bottle-filling line in Laboratory & Allied's pharmaceutical plant in Nairobi

+90%production efficiency

“Efficiency has gone up 90% in production.”

Abdul Rucyinga, Head of IT
Laboratory & Allied · Pharmaceutical manufacturing

Production efficiency is up 90%, and a three-month optimized plan across all workstations takes under 30 minutes.

Read the Laboratory & Allied review

A KJH-Comp welder grinding a welded steel structure at the Alahärmä plant

98%delivery reliability, up from about 50%

“SkyPlanner plays a decisive role in maintaining our delivery reliability.”

Hannu Lahtinen, Managing Director
KJH-Comp · Sheet-metal mechanics and contract manufacturing

Delivery reliability rose from around 50% to as high as 98%, and scheduling now needs one supervisor instead of two.

Read the KJH-Comp review

Anu Järvinen, Production Manager at Fredman Operations, beside a robot palletising cell in Rauma

6 monthsof free capacity visible to sales

“SkyPlanner creates the foundation and reliability for all production planning.”

Anu Järvinen, Production Manager
Fredman Operations · Food-safe packaging papers

Sales sees free capacity six months ahead, and schedule-change requests that took an hour or more are answered in seconds.

Read the Fredman Operations review

FAQ

Does the Visma Net API have production orders?

No. Visma Net has no production order, routing or work center objects, so the API has none. The production document is the Kit assembly at /v1/kitassembly, and SkyPlanner holds the routings and workstations.

Which authentication does the integration use?

Visma Connect with the OAuth 2.0 client credentials flow, registered as a Service Integration in the Visma Developer Portal. The tenant administrator approves it, and tokens last one hour.

Can Visma Net push changes in real time?

For items, sales orders and purchase orders, yes, through Visma Developer Portal webhooks. Kit assemblies and Kit specifications have no events and are picked up by incremental polling. SkyPlanner’s own webhooks push schedule changes as they happen.

How is finished production written back to Visma Net?

SkyPlanner creates a Kit assembly for each scheduled job, keeps its date current and calls the release action when the job is done. Release posts output and component consumption. Without kits, Inventory receipt and Inventory issue do the same.

Can we test SkyPlanner before building the integration?

Yes. The 30-day free trial supports up to 20 workstations with CSV or Excel imports from Visma Net, no credit card needed. Start the trial, or talk to sales to scope the integration.