Connects with ERP & MES systems like

Integrations / ERP / Fulcrum

Fulcrum Integration Guide for Production Scheduling with SkyPlanner APS

This Fulcrum integration guide shows consultants and IT teams how to connect Fulcrum (Fulcrum Pro) to SkyPlanner APS. SkyPlanner integrates with Fulcrum in both directions over the Fulcrum Public API:

  • Jobs with their items to make and operations, item routings, work centers, equipment, department shifts, downtimes, inventory and purchase orders flow in.
  • Planned start, planned finish and workstation are written to custom fields on each job operation.
  • Operator time and completed quantities post back as Fulcrum timers and quantity updates.
  • 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 Fulcrum setup during onboarding and supports it after go-live. This guide is for consultants and developers who want to take part, or to build on SkyPlanner’s documented REST API (API reference) themselves.

The Fulcrum Public API

Fulcrum is one multi-tenant cloud product, so every customer runs the same API. The developer hub describes it as a public API for “REST API calls directly into your Fulcrum site.”

  • Spec. OpenAPI “Fulcrum PublicAPI” v1, downloadable at https://api.fulcrumpro.com/swagger/v1/swagger.json. Fulcrum suggests generating a typed client from it. A dated History page lists every change.
  • Hosts. https://api.fulcrumpro.com for standard sites. ITAR sites use api.fulcrumpro.us, and ITAR tokens receive a 401 on the .com host.
  • Style. Lists are POST .../list with a filter body, Skip and Take paging and Sort.Field / Sort.Dir. Many objects accept PUT, and jobs also accept JSON Patch.

The endpoints a scheduling integration uses:

AreaEndpoints
Items and routings/api/items, /api/items/{itemId}/routing, /routing/operations, /routing/input-items, /routing/input-materials
Shop setup/api/work-centers, /api/equipment, /api/operations, /api/department-shifts, /api/equipment-downtimes
Jobs/api/jobs, /api/jobs/{jobId}/items-to-make/{itemToMakeId}/operations, /api/work-orders
Material/api/inventory, /api/materials, /api/purchase-orders, /api/reporting/material-requirements/list
Shop floor/api/job-tracking-timers/start and /stop, /api/timers, .../operations/{operationId}/add-quantity-completed, .../complete

Fulcrum’s own integrations page is direct about the work: “Every system is a little bit different and requires some configuration.” The SkyPlanner team takes on exactly that configuration during onboarding.

Authentication

Fulcrum uses a Bearer token in the Authorization header. “A public API token can be generated within your fulcrum site via Business Setup -> System Data -> Public Api.” Each token has a name, description and expiration date. You can create as many as you need and revoke one by deleting it. Give the SkyPlanner integration its own token, and set a reminder before it expires.

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.

Events and polling

Fulcrum supports webhooks, configured by an admin. Since September 2026, failing webhooks pause and are re-tested daily instead of retrying forever. The API History names events such as PurchaseOrderUpdated and ItemUpdated.

The integration reads Fulcrum like this:

  • Open jobs filtered to scheduled and inProgress with hasIncompleteOperations: true, polled every few minutes. This is the filter Fulcrum itself gives for matching its schedule page.
  • Purchase orders and inventory before each schedule run, or on a PurchaseOrderUpdated webhook where it is configured.
  • Items, routings, equipment and shifts on change, or nightly.

In the other direction, SkyPlanner’s own webhooks push schedule changes as they happen, so the write-back side is event-driven.

Data mapping

Fulcrum object (endpoint)SkyPlanner objectDirectionFrequency
Item, Materials (/api/items, /api/materials)Products and materialsFulcrum → SkyPlannerInitial load, then nightly
Routing input items and materials (/routing/input-items, /input-materials)Product structure, subproducts, materials per productFulcrum → SkyPlannerInitial load, then on change
Routing operations (/routing/operations): setupTime, laborTime, machineTime (fixed or per unit), selectedEquipmentIdsProcess steps, setup times, durations, allowed workstationsFulcrum → SkyPlannerInitial load, then on change
Work Center (/api/work-centers)Workstation groupFulcrum → SkyPlannerInitial load, rarely after
Equipment (/api/equipment): unlimitedCapacity, canRunUnattended, statusWorkstations, batch jobs, unattended runningFulcrum → SkyPlannerInitial load, daily for status
Department Shifts (/api/department-shifts), Equipment DowntimesShifts and absencesFulcrum → SkyPlannerInitial load, daily
Job and job operations (/api/jobs, .../items-to-make/{id}/operations): priority, productionDueDate, earliestStartDate, estimatesOrders and jobsFulcrum → SkyPlannerPolling every few minutes
Inventory, Purchase Orders with Expected Receive datesStock and incoming materialFulcrum → SkyPlannerBefore each schedule run
Job operation customFields (POST .../operations/{operationId})Planned start, planned finish, workstationSkyPlanner → FulcrumOn schedule change, via SkyPlanner webhook
Job customFields (PUT /api/jobs/{jobId}/custom-fields)Planned job finishSkyPlanner → FulcrumOn schedule change
Job tracking timers, /api/timers, add-quantity-completed, completeTimelogs, completed and scrap quantitiesSkyPlanner → FulcrumAs operators log work
Not in FulcrumNamed operators, setting time matrix, finite tools, alternative workstationsMaintained in SkyPlannerSet up during onboarding

Integration patterns

1. Initial master data load. Pull items, materials, routings, work centers and equipment, then department shifts and downtimes. Each Fulcrum work center becomes a SkyPlanner workstation group with its equipment as members, and each routing operation’s selected equipment becomes its allowed workstations. Unlimited Capacity equipment such as ovens and paint booths becomes batch jobs.

2. Order sync. Read open jobs with their items to make and operations, plus open purchase orders and inventory. SkyPlanner treats ordered material as available on the PO delivery date and updates stock when the PO is marked Delivered. The schedule checks stock and incoming purchases on every replan.

3. Schedule write-back. Fulcrum computes scheduledStartUtc, scheduledEndUtc and scheduledEquipmentId itself and returns them read-only. The operation update accepts customFields. SkyPlanner writes planned start, planned finish and workstation to custom fields on each job operation, and the planned finish to a job custom field. Sales and purchasing see SkyPlanner’s dates on the job in Fulcrum.

4. Shop-floor confirmations. Operators log work in SkyPlanner with Mobile Confirmations, Production Timer or Quick Log Mode. SkyPlanner posts the time to Fulcrum through /api/job-tracking-timers/start and /stop, or as a completed block through /api/timers. Quantities go through add-quantity-completed, and the final count with scrap through complete. Job costing in Fulcrum stays live.

5. Ownership and conflict rules. Fulcrum’s scheduler “dictates the order of operations in Job Tracking.” So pick one dispatch channel per operation: SkyPlanner’s operator queue or Fulcrum Job Tracking. Write the rules down before go-live:

DataOwner
Items, routings, estimates, inventory, purchasing, costingFulcrum
Operation sequence, start and end times, workstation assignmentSkyPlanner
Operators, setting time matrix, tools, alternative resourcesSkyPlanner
Shifts and downtimesOne system, chosen in scoping
Logged time and completed quantitiesSkyPlanner, posted to Fulcrum

Typical project steps

Implementation is normally completed within weeks after onboarding starts. Before that, the 30-day free trial runs on your own data. Export items, routings and open jobs from Fulcrum grids to CSV, import them and validate the schedule.

The project itself contains:

  1. Token and scope. Create a Public API token and agree on the custom fields for write-back.
  2. Mapping. Fix the mapping table, ownership rules and the dispatch channel.
  3. Initial load. Items, materials, routings, work centers, equipment, shifts, downtimes.
  4. Order and purchase order sync. Incremental job polling, plus purchase orders and inventory.
  5. Constraint setup in SkyPlanner. Operators and their shifts, setting time matrix, tools and alternative workstations.
  6. Write-back. Custom fields on job operations and jobs.
  7. Shop-floor posting. Timers and quantities into Fulcrum.
  8. Parallel testing and go-live. Run SkyPlanner beside Fulcrum’s schedule, compare dates, fix master data, then switch dispatch.

What to plan for in a Fulcrum integration

  • Labor lives in shift counts. Fulcrum’s Max Equipment per shift “is usually determined by how many people you have working in a certain area at that time.” Named operators and their shifts are set up in SkyPlanner. Users in /api/users give the names.
  • Scheduling is to equipment. Fulcrum work centers are groups of interchangeable equipment. Keep the routing’s selected equipment accurate, because it becomes the alternatives the engine chooses between.
  • Work orders group jobs. A work order groups operations of several jobs, for example a nest. A timer started on a grouped operation starts the work order timer instead, and it covers every job operation in the group.
  • Timer limits. Retroactive /api/timers blocks “may not be in the future, older than 30 days, or longer than 7 days.” Post time as operators log it.
  • Time formats differ. Shifts use local HHmm values, downtimes and scheduled dates are UTC, and operation estimates come in seconds.
  • Equipment updates replace the whole record. An equipment PUT clears any field it omits. SkyPlanner reads equipment and never writes it.
  • ITAR sites. Use the .us host and an ITAR token.

The Fulcrum integration: who configures and supports it

The work covers mapping your departments, work centers, equipment and routings, plus the constraints Fulcrum does not hold: named operators, setting time matrix, tools and alternative resources.

  1. The SkyPlanner team configures it during onboarding and supports it after go-live. Every shop runs Fulcrum differently, and this is where that know-how goes.
  2. Your Fulcrum consultant or integration partner can build it. SkyPlanner provides the REST API, Swagger/OpenAPI documentation and webhooks.
  3. Your own developers can build on it. An API token is enough to start, and the SkyPlanner team assists when needed. Product documentation, including purchase orders and the products and materials API, is in the SkyPlanner docs.

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 Fulcrum’s own scheduler compares in Fulcrum finite capacity scheduling. The overview is on the Fulcrum page, and other ERPs are 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

Aerial view of Piristeel's roof safety factory in Kauhava

99.2%delivery reliability

“SkyPlanner has brought visibility to identifying bottlenecks and clarified production management.”

Toni Tuori, Production Manager
Piristeel · Roof safety and rainwater systems

Delivery reliability reached 99.2% this year, and scheduling saves up to four hours of working time per day.

Read the Piristeel 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

FAQ

Does Fulcrum have an API?

Yes. The Fulcrum Public API is a REST API with an OpenAPI v1 spec. It authenticates with a Bearer token generated under Business Setup > System Data > Public Api. ITAR sites use a separate .us host.

Can SkyPlanner write the schedule back into Fulcrum?

Yes. Fulcrum keeps its own scheduled dates read-only, so SkyPlanner writes planned start, planned finish and workstation to custom fields on each job operation, and the planned finish to the job. Operator time and completed quantities post back as timers and quantity updates.

Does Fulcrum push changes in real time?

Fulcrum has admin-configured webhooks, with events such as PurchaseOrderUpdated. Open jobs are polled every few minutes with the same filter Fulcrum uses for its schedule page. SkyPlanner’s own webhooks push schedule changes as they happen.

Who builds the Fulcrum integration?

The SkyPlanner team configures the two-way integration during onboarding and supports it after go-live. Your Fulcrum consultant, an integration partner or your developers can also build on SkyPlanner’s documented REST API.

Can we test SkyPlanner before building the integration?

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