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.
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:
| Resource | What it holds | Methods |
|---|---|---|
manufacturing/ShopOrders | Shop order number, item, PlannedQuantity, PlannedStartDate, PlannedDate, status, released flag | GET, POST, PUT, DELETE |
manufacturing/ShopOrderRoutingStepPlans | Routing step per shop order: operation, Workcenter, LineNumber, PlannedStartDate, PlannedEndDate, PlannedSetupHours, PlannedRunHours | GET, POST, PUT, DELETE |
manufacturing/ShopOrderMaterialPlans | Material lines per shop order | GET, POST, PUT, DELETE |
manufacturing/Workcenters | Code, type, production area, capacity value, rates | GET, POST, PUT, DELETE |
manufacturing/Operations, OperationResources | Operations and the work center each runs on, setup and run times | GET, POST, PUT, DELETE |
manufacturing/BillOfMaterialVersions, BillOfMaterialMaterials, BillOfMaterialRoutings | BOM versions, components and routing | GET, POST, PUT, DELETE |
manufacturing/TimeTransactions | Hours booked per shop order and routing step | GET, POST, PUT, DELETE |
manufacturing/ShopOrderReceipts | Finished quantities received from a shop order | GET, POST |
manufacturing/MaterialIssues | Material issued to a shop order | GET, POST |
manufacturing/ShopOrderPriorities | Priority mode per shop order | GET, PUT |
From the other services:
| Resource | What it holds |
|---|---|
logistics/Items | Item master |
inventory/ItemWarehouses | Stock per item and warehouse |
purchaseorder/PurchaseOrders, PurchaseOrderLines | Open purchase orders and receipt dates |
salesorder/SalesOrders, SalesOrderLines | Customer 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 resource | SkyPlanner object | Direction | Frequency |
|---|---|---|---|
Items | Products and materials | Exact Online → SkyPlanner | Load, then webhook |
BillOfMaterialVersions, BillOfMaterialMaterials | Product structure, subproducts, materials per product | Exact Online → SkyPlanner | On change |
Workcenters, OperationResources | Workstations, workstation groups | Exact Online → SkyPlanner | Initial load |
Operations, BillOfMaterialRoutings | Process steps with setup and run times | Exact Online → SkyPlanner | On change |
ShopOrders | Orders with quantity and due date | Exact Online → SkyPlanner | Every few minutes |
ShopOrderRoutingStepPlans | Jobs with sequence, work center, setup and run hours | Exact Online → SkyPlanner | Every few minutes |
ShopOrderMaterialPlans | Materials per job | Exact Online → SkyPlanner | Every few minutes |
ItemWarehouses, StockPosition | Stock balances | Exact Online → SkyPlanner | Webhook |
PurchaseOrderLines | Purchase orders with expected delivery date | Exact Online → SkyPlanner | Webhook |
SalesOrderLines | Customer due dates and priority | Exact Online → SkyPlanner | Webhook |
ShopOrderRoutingStepPlans: PlannedStartDate, PlannedEndDate, Workcenter (PUT) | Planned start, end and workstation per step | SkyPlanner → Exact Online | On change, via webhook |
ShopOrders: PlannedStartDate, PlannedDate (PUT) | Order start and finish | SkyPlanner → Exact Online | On change, via webhook |
TimeTransactions (POST) | Timelogs and operator confirmations | SkyPlanner → Exact Online | Per confirmation or per shift |
ShopOrderReceipts (POST) | Finished quantity at the last step | SkyPlanner → Exact Online | Per confirmation |
| Not held in Exact Online | Setting time matrix, tools as finite resources, operators per job, alternative workstations, shifts | Maintained in SkyPlanner | Onboarding |
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:
| Data | Owner |
|---|---|
| Items, BOMs, shop order quantities, material plans, costs | Exact Online |
| Routing step sequence, start and end times, work center assignment | SkyPlanner |
| Setting time matrix, tools, operators per job, alternative resources, shifts | SkyPlanner |
| Time transactions and receipts | Exact 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:
- Scoping. Confirm the edition, divisions, sync frequencies, the time booking channel and receipt posting.
- App and consent. Register the app, then an Exact Online user grants OAuth consent for each division.
- Initial load. Work centers, operations, items, BOM versions and routings.
- Order sync. Shop orders, routing step plans and material plans on a schedule, stock and purchasing by webhook.
- Constraint setup in SkyPlanner. Shifts, setting time matrix, tools, operator counts per job and alternative machines or personnel.
- Schedule write-back. Planned routing step dates to Exact Online, then time transactions and receipts.
- 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.
PlannedSetupHoursandPlannedRunHourscome 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,
$filteronModifiedand 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
- The SkyPlanner team configures it during onboarding and supports it after go-live.
- Your Exact partner can take part. The partner knows your editions, divisions and manufacturing setup.
- 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.
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.
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.