Connects with ERP & MES systems like

Integrations / ERP / Exact

Exact Online Integration Guide for Production Scheduling with SkyPlanner APS

This Exact Online integration guide shows Exact partners and IT teams how to connect Exact Online Manufacturing to SkyPlanner APS. SkyPlanner integrates with Exact Online in both directions:

  • Shop orders, routing steps, material plans, work centers, operations and bills of materials flow in through the Exact Online REST API.
  • Items, stock positions, purchase orders and sales orders flow in, with Exact Online webhooks for changes.
  • Planned start and end dates go back to each routing step and to the shop order.
  • Operator timelogs post as time transactions, and finished quantities as shop order receipts.
SkyPlanner APS Gantt timeline with jobs scheduled across workstations and an order list below.

The SkyPlanner team configures the integration to your Exact Online 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. A short section on Exact Globe+ follows at the end.

The Exact Online REST API for manufacturing

Exact Online exposes its data through one REST API, with resources grouped by service. The base path is /api/v1/{division}/<service>/<resource>, where the division is the Exact Online company. The REST API reference lists the manufacturing service with these resources for scheduling:

ResourceWhat it holdsMethods
manufacturing/ShopOrdersShop order number, item, PlannedQuantity, PlannedStartDate, PlannedDate, status, released flagGET, POST, PUT, DELETE
manufacturing/ShopOrderRoutingStepPlansRouting step per shop order: operation, Workcenter, LineNumber, PlannedStartDate, PlannedEndDate, PlannedSetupHours, PlannedRunHoursGET, POST, PUT, DELETE
manufacturing/ShopOrderMaterialPlansMaterial lines per shop orderGET, POST, PUT, DELETE
manufacturing/WorkcentersCode, type, production area, capacity value, ratesGET, POST, PUT, DELETE
manufacturing/Operations, OperationResourcesOperations and the work center each runs on, setup and run timesGET, POST, PUT, DELETE
manufacturing/BillOfMaterialVersions, BillOfMaterialMaterials, BillOfMaterialRoutingsBOM versions, components and routingGET, POST, PUT, DELETE
manufacturing/TimeTransactionsHours booked per shop order and routing stepGET, POST, PUT, DELETE
manufacturing/ShopOrderReceiptsFinished quantities received from a shop orderGET, POST
manufacturing/MaterialIssuesMaterial issued to a shop orderGET, POST
manufacturing/ShopOrderPrioritiesPriority mode per shop orderGET, PUT

From the other services:

ResourceWhat it holds
logistics/ItemsItem master
inventory/ItemWarehousesStock per item and warehouse
purchaseorder/PurchaseOrders, PurchaseOrderLinesOpen purchase orders and receipt dates
salesorder/SalesOrders, SalesOrderLinesCustomer demand and delivery dates

Authentication and access

Exact Online uses OAuth 2.0 with the authorization code flow and refresh tokens. Exact: “Before you can start integration with Exact Online, you must first register your app in the App Store.” (Exact Online help) Registering apps needs an Exact Online Developer subscription (Exact App Store).

  • The integration is registered as an app with a redirect URI.
  • An Exact Online user with access to manufacturing, inventory and purchasing grants consent once.
  • Every request sends Authorization: Bearer <access_token> and the division in the path.
  • Access tokens are refreshed with the refresh token. Exact limits how often a new token may be requested, so cache the token until it expires.

Exact also sets limits on calls per minute and per day for each app and company, and asks for sequential calls rather than parallel ones. The current limits are in Exact’s API limits article. The integration is designed around them: filtered reads with $filter and $select, and the Sync API for bulk changes.

On the SkyPlanner side, the REST API authenticates with an API token in the Authorization-Token header (SkyPlanner Settings > API) and is documented in Swagger/OpenAPI. The integration tutorial walks through the first calls.

Webhooks and polling

Exact Online webhooks send a POST to your callback URL when a subscribed topic changes, signed with an HMAC SHA256 hash (webhooks). Topics include Items, StockPosition, PurchaseOrders, PurchaseOrderLines, SalesOrders and SalesOrderLines. These push stock, purchasing and demand changes to SkyPlanner as they happen.

Shop orders and routing steps are read on a schedule. Filter ShopOrders and ShopOrderRoutingStepPlans on Modified, and use the Sync API for bulk reads (API restrictions).

SkyPlanner sends its own webhooks when the schedule changes, so write-back to Exact Online is event-driven.

Data mapping

Exact Online resourceSkyPlanner objectDirectionFrequency
ItemsProducts and materialsExact Online → SkyPlannerLoad, then webhook
BillOfMaterialVersions, BillOfMaterialMaterialsProduct structure, subproducts, materials per productExact Online → SkyPlannerOn change
Workcenters, OperationResourcesWorkstations, workstation groupsExact Online → SkyPlannerInitial load
Operations, BillOfMaterialRoutingsProcess steps with setup and run timesExact Online → SkyPlannerOn change
ShopOrdersOrders with quantity and due dateExact Online → SkyPlannerEvery few minutes
ShopOrderRoutingStepPlansJobs with sequence, work center, setup and run hoursExact Online → SkyPlannerEvery few minutes
ShopOrderMaterialPlansMaterials per jobExact Online → SkyPlannerEvery few minutes
ItemWarehouses, StockPositionStock balancesExact Online → SkyPlannerWebhook
PurchaseOrderLinesPurchase orders with expected delivery dateExact Online → SkyPlannerWebhook
SalesOrderLinesCustomer due dates and priorityExact Online → SkyPlannerWebhook
ShopOrderRoutingStepPlans: PlannedStartDate, PlannedEndDate, Workcenter (PUT)Planned start, end and workstation per stepSkyPlanner → Exact OnlineOn change, via webhook
ShopOrders: PlannedStartDate, PlannedDate (PUT)Order start and finishSkyPlanner → Exact OnlineOn change, via webhook
TimeTransactions (POST)Timelogs and operator confirmationsSkyPlanner → Exact OnlinePer confirmation or per shift
ShopOrderReceipts (POST)Finished quantity at the last stepSkyPlanner → Exact OnlinePer confirmation
Not held in Exact OnlineSetting time matrix, tools as finite resources, operators per job, alternative workstations, shiftsMaintained in SkyPlannerOnboarding

Integration patterns

1. Initial master data load. Read Workcenters, Operations and OperationResources, then items and BOM versions with their routings. A work center with three machines becomes three workstations or one workstation group. Shifts, absences and overtime are set up in SkyPlanner, because Exact’s work center carries one capacity value.

2. Order sync. Read open ShopOrders with their ShopOrderRoutingStepPlans and ShopOrderMaterialPlans, plus stock and purchase order lines. The schedule checks both stock and incoming purchases. MRP keeps giving order advice in Exact Online, and SkyPlanner schedules the shop orders you create.

3. Schedule write-back. For every routing step the engine placed or moved, SkyPlanner sends a PUT to ShopOrderRoutingStepPlans with PlannedStartDate, PlannedEndDate and the Workcenter. The shop order’s PlannedStartDate and PlannedDate follow the first and last step. Exact Online keeps quantities, material plans and costing.

4. Shop-floor confirmations. Operators log work with SkyPlanner Mobile Confirmations or the Production Timer, and the timelogs keep the schedule current. Logged hours post as TimeTransactions against the shop order and routing step, setup or run. The final confirmation posts a ShopOrderReceipts record for the finished quantity. If your plant already registers time in Shop Floor Control, pick one booking channel.

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

DataOwner
Items, BOMs, shop order quantities, material plans, costsExact Online
Routing step sequence, start and end times, work center assignmentSkyPlanner
Setting time matrix, tools, operators per job, alternative resources, shiftsSkyPlanner
Time transactions and receiptsExact Online, fed by SkyPlanner

The main conflict source is manual date edits. If planners keep changing shop order dates in Exact Online, two systems own dates. Let SkyPlanner own routing step dates. With Autopilot, SkyPlanner reschedules automatically when production changes.

Typical project steps

Implementation is normally completed within weeks after onboarding starts. Before that, validate the schedule in the 30-day free trial with a CSV or Excel export of open shop orders and routing steps. The project then runs:

  1. Scoping. Confirm the edition, divisions, sync frequencies, the time booking channel and receipt posting.
  2. App and consent. Register the app, then an Exact Online user grants OAuth consent for each division.
  3. Initial load. Work centers, operations, items, BOM versions and routings.
  4. Order sync. Shop orders, routing step plans and material plans on a schedule, stock and purchasing by webhook.
  5. Constraint setup in SkyPlanner. Shifts, setting time matrix, tools, operator counts per job and alternative machines or personnel.
  6. Schedule write-back. Planned routing step dates to Exact Online, then time transactions and receipts.
  7. Parallel testing and go-live. Compare dates with the current plan, fix master data, then switch on write-back.

What to plan for in an Exact Online integration

  • Routing step times. PlannedSetupHours and PlannedRunHours come from the BOM routing. Check them against real run times first.
  • Work center grouping. Exact holds one capacity value per work center. Decide per work center whether it becomes one workstation, several or a group.
  • Calendars. Shifts, holidays and absences live in SkyPlanner. Set them up before the first schedule.
  • Call budget. Exact limits calls per app and company and expects sequential calls. Use webhooks where topics exist, $filter on Modified and the Sync API for bulk reads.
  • Several divisions. Each Exact Online division is a company with its own path and consent. Map each plant to its division.
  • Released shop orders. Agree which statuses SkyPlanner may re-date: open and released orders, or only open orders.
  • One owner for dates. Stop manual date edits in Exact Online once SkyPlanner owns routing step dates.

Exact Globe+

Exact Globe+ is Exact’s ERP sold and implemented through Exact Globe+ partners. Exact says it “koppelt eenvoudig en snel met andere systemen”, it connects easily and quickly with other systems (Exact Globe+). SkyPlanner schedules Exact Globe+ production orders the same way: production orders, routings, resources and stock come in, and planned dates and logged hours go back. Your Exact Globe+ partner and the SkyPlanner team agree the interface and the write-back objects in scoping.

The Exact Online integration: who configures and supports it

  1. The SkyPlanner team configures it during onboarding and supports it after go-live.
  2. Your Exact partner can take part. The partner knows your editions, divisions and manufacturing setup.
  3. Your own developers can build on it against SkyPlanner’s documented REST API. An API token is enough to start, and the SkyPlanner team assists when needed.

Once connected, the Arcturus engine schedules from live Exact Online shop orders, and planned dates land on every routing step. SkyPlanner starts 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, features and how Exact Online’s own planning compares in Exact Online finite capacity scheduling. The overview is on the Exact Online page, and other ERPs are in the ERP integrations hub.

SkyPlanner reviews from manufacturers

Fewerstoppages from material shortages

“The value SkyPlanner brings us is that it is a tool that works in daily use, especially for setting delivery dates.”

Tommi Männistö, Production Planning Manager
Eskomatic · Contract machining

Automatic load scheduling gives more accurate delivery dates, and production stoppages caused by material shortages have fallen sharply.

Read the Eskomatic review

Hannu Ryynänen, CEO of Mamec, in the company's production hall in Lohja

1,000swork orders scheduled automatically

“Production is under control in a different way, and our understanding of capacity is on a completely different level.”

Hannu Ryynänen, CEO
Mamec · Industrial mixers, pumps and high-tech contract manufacturing

Thousands of work orders are scheduled automatically, with a real-time view of production for the whole organization.

Read the Mamec review

FAQ

Does the Exact Online API include shop orders and routing steps?

Yes. The manufacturing service has ShopOrders, ShopOrderRoutingStepPlans, ShopOrderMaterialPlans, Workcenters, Operations and BOM resources, all readable and writable. Time is posted through TimeTransactions and finished quantities through ShopOrderReceipts.

How are planned dates written back to Exact Online?

SkyPlanner sends a PUT to ShopOrderRoutingStepPlans with PlannedStartDate, PlannedEndDate and the Workcenter for every step it places or moves. The shop order’s PlannedStartDate and PlannedDate are updated to match.

Who builds the Exact Online integration?

The SkyPlanner team configures the two-way integration to your Exact Online setup during onboarding and supports it after go-live. Your Exact partner can take part. Your own developers can also build on SkyPlanner’s documented REST API, and an API token is enough to start.

Can Exact Online push changes in real time?

Exact Online webhooks push changes for items, stock positions, purchase orders and sales orders. Shop orders and routing steps are read on a short schedule with filtered requests. In the other direction, SkyPlanner’s webhooks push schedule changes as they happen.

Can we test SkyPlanner before building the integration?

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