Integrations / ERP / Sage 200
Sage 200 Integration Guide for Production Scheduling with SkyPlanner APS
This Sage 200 integration guide shows business partners and IT teams how to connect Sage 200 Professional and its manufacturing add-on to SkyPlanner APS. SkyPlanner integrates with Sage 200 in both directions:
- Products, warehouse holdings, purchase orders and sales orders flow in through the Sage 200 REST API.
- Works orders, operations and labor and machine resources flow in from your manufacturing add-on.
- Planned operation dates go back to the works orders.
- Operator timelogs come back for time booking on each operation.
The SkyPlanner team configures the integration to your Sage 200 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.
Two sources inside one Sage 200 system
A Sage 200 manufacturing site has two layers, and the integration reads both.
1. The Sage 200 REST API for commercial and stock data. Sage says the API “lets your application read and modify data in a Sage 200 site”. That covers customers, suppliers, products, sales and purchase orders and nominal accounts. The Sage 200 Professional reference (2025.02) groups its resources under Cash Book, Commercials, Financials, General, Nominal, POP, Price Book, Purchases, Sales, SOP and Stock. The resources that matter for scheduling:
| Resource | What it holds |
|---|---|
products | Code, name, stock unit, BOM item type, standard cost |
warehouse_holdings | quantity_in_stock, quantity_on_order, quantity_allocated_bom, free_stock_available, is_default_manufacturing_warehouse |
pop_orders, pop_order_lines | Open purchase orders, line_quantity, requested_delivery_dates |
sop_orders, sop_order_lines | Customer demand, requested_delivery_date, promised_delivery_date |
warehouses, units | Sites and units of measure |
2. The manufacturing add-on for works orders. The Sage 200 API has no works order, operation or resource endpoints. Works orders live in Sicon Works Order Processing, Cim200 or the legacy Sage 200 Manufacturing module. The integration reads works orders, operations and resources through the route the add-on supports, agreed with you and your Sage 200 partner in scoping.
Authentication and access
The Sage 200 API “uses OAuth 2.0 with OpenID Connect” with the authorization code grant flow. Sign-in runs through Sage ID.
- Join the Sage 200 API Developer Programme and request credentials.
- Map a Sage ID to a Sage 200 user with company and feature access for the endpoints you use.
- Request the
offline_accessscope, or no refresh token is issued. - Send
Authorization: Bearer <access_token>,X-SiteandX-Companyon every database request. Both IDs come from/sites.
Base URL for Sage 200 Professional: https://api.columbus.sage.com/uk/sage200extra/accounts/v1. Requests use GET, POST, PUT and DELETE, and OData query options $filter, $select, $top, $skip, $orderby and $expand.
For Sage 200 Professional, the customer’s support provider enables the API. In Sage’s checklist, they confirm “the API is enabled” and that “each required user has a Sage ID assigned.” Sage 200 Standard has the API enabled by default.
Token lifetimes shape the design. Access tokens last 8 hours. Refresh tokens last between 1 and 90 days, and “The refresh window is measured from the user’s initial sign-in, not from the most recent refresh.” Sage states that re-authentication “is unavoidable”. Plan a re-consent alert before the window closes.
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.
Change detection
The Sage 200 API reference has no webhook or subscription resource. Changes are picked up by polling. Records carry date_time_created and date_time_updated, so each poll filters with $filter on date_time_updated and pages with $top and $skip.
Poll works orders every few minutes, and stock and purchase order lines hourly. SkyPlanner sends webhooks when the schedule changes, so write-back is event-driven.
Data mapping
| Sage 200 object (source) | SkyPlanner object | Direction | Frequency |
|---|---|---|---|
products, units (API) | Products and materials | Sage 200 → SkyPlanner | Load, then polling |
| BOM components (add-on or BOM module) | Product structure, subproducts, materials per product | Sage 200 → SkyPlanner | On change |
| Labor and machine resources, resource groups (add-on) | Workstations, workstation groups, personnel | Sage 200 → SkyPlanner | Initial load |
| Resource availability: shutdown, maintenance, holiday (add-on) | Shifts, absences | Sage 200 → SkyPlanner | Daily |
| Works orders and their operations, times per operation (add-on) | Orders and jobs with steps, durations, due dates | Sage 200 → SkyPlanner | Every few minutes |
sop_order_lines: requested_delivery_date, promised_delivery_date (API) | Customer due dates | Sage 200 → SkyPlanner | Polling |
warehouse_holdings: quantity_in_stock, free_stock_available (API) | Stock balances | Sage 200 → SkyPlanner | Hourly |
pop_order_lines: line_quantity, requested_delivery_dates (API) | Purchase orders with expected delivery date | Sage 200 → SkyPlanner | Hourly |
| Works order operation planned start and end, resource | Planned start, end and workstation per operation | SkyPlanner → Sage 200 | On change, via webhook |
| Operation time booking (add-on) | Timelogs and operator confirmations | SkyPlanner → Sage 200 | Per confirmation or per shift |
| SkyPlanner constraint data | Setting time matrix, tools as finite resources, alternative machines and personnel | Maintained in SkyPlanner | Onboarding |
Integration patterns
1. Initial master data load. Pull products and units from the API, then resources, resource groups and BOM operations from the add-on. A resource group of three identical machines can be one workstation group or three workstations.
2. Order sync. Read open works orders with their operations from the add-on, plus open pop_order_lines and warehouse_holdings from the API. The schedule checks both stock and incoming purchases. MRP keeps proposing works orders in Sage 200, and SkyPlanner schedules the ones you create.
3. Schedule write-back. For every operation the engine placed or moved, SkyPlanner sends the planned start, end and resource back to the works order. The add-on keeps its own quantities, allocations 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 time goes back as time booked against the works order operation, so costing in Sage 200 sees the actual hours.
If your plant already books time in Sicon Shop Floor Data Capture or Cim200 Shop Floor Data Capture, pick one booking channel.
5. Ownership and conflict rules. Write them down before go-live:
| Data | Owner |
|---|---|
| Products, BOMs, works order quantities, allocations, costs | Sage 200 and the add-on |
| Operation sequence, start and end times, workstation assignment | SkyPlanner |
| Setting time matrix, tool and operator requirements, alternative resources | SkyPlanner |
| Time booking | Sage 200, fed by SkyPlanner timelogs |
The main conflict source is the capacity chart. If planners keep dragging works orders or operations in Sicon Rough Cut Capacity Planning or the Cim200 Graphical Scheduler, two systems own dates. Let SkyPlanner own operation 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 works orders. The project then runs:
- Scoping. Confirm the add-on and version, the works order read route, the write-back route, sync frequencies and the time booking channel.
- API access. The support provider enables the Sage 200 API, maps a Sage ID to a Sage 200 user and sets company and feature access.
- Initial load. Products, units, resources, resource groups, BOM operations and availability.
- Order sync. Works orders, purchase order lines and stock by polling, with the re-consent alert.
- Constraint setup in SkyPlanner. Setting time matrix, tools, operator counts per job and alternative machines or personnel.
- Schedule write-back. Planned operation dates to the works orders; time booking added here.
- Parallel testing and go-live. Compare dates with the current plan, fix master data, then switch on write-back.
What to plan for in a Sage 200 integration
- Retired module on a new version. The legacy Sage 200 Manufacturing module cannot be used from Sage 200 Professional 2025 R2. Confirm which manufacturing layer will be live at go-live before mapping anything.
- Operation times from cost data. Sicon MRP estimates labor and machine times from Sage 200 BOM cost items. Check them against real run times first.
- Cost heading mismatches. Sage warns that Nominal, Overhead Nominal and Overhead Recovery % must match between BOM operations and cost headings, or “there will be cost discrepancies.”
- Refresh window. The 90-day maximum counts from the first sign-in. An integration that never re-consents stops on the same day every quarter.
- Multi-company sites. One site can hold several companies, so send the right
X-Companyon every request.
The Sage 200 integration: who configures and supports it
- The SkyPlanner team configures it during onboarding and supports it after go-live.
- Your Sage 200 business partner can take part. The partner knows your add-on and enables the API on Sage 200 Professional.
- Your own developers can build on it against the same documented REST API with an API token. An API token is enough to start, and the SkyPlanner team assists when needed.
Once connected, the Arcturus engine schedules from live Sage 200 works orders, and planned dates land on the works order operations. 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 Sage 200’s own planning compares in Sage 200 finite capacity scheduling. The overview is on the Sage 200 page, and other ERPs are in the ERP integrations hub.
SkyPlanner reviews from manufacturers
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.
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 Sage 200 API include works orders?
No. The Sage 200 Professional API covers products, stock, sales and purchase orders, finance and more, with no works order or operation resources. Works orders come from your manufacturing add-on, such as Sicon Works Order Processing or Cim200, through the route agreed in scoping.
Who builds the Sage 200 integration?
The SkyPlanner team configures the two-way integration to your Sage 200 setup during onboarding and supports it after go-live. Your Sage 200 business partner enables the API and can take part. Your own developers can also build on SkyPlanner’s documented REST API, and an API token is enough to start.
Can Sage 200 push changes in real time?
The Sage 200 API has no webhooks. Stock and purchase orders are polled on date_time_updated, and works orders are read from your add-on every few minutes. In the other direction, SkyPlanner’s own 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 works orders, no credit card needed. Start the trial, or talk to sales to scope the integration.