Skip to main content

Infor CloudSuite Industrial (SyteLine) Integration Guide

Connect Infor CloudSuite Industrial (SyteLine) to MachineMetrics for bidirectional work order and labor tracking synchronization.

SectionDescription
OverviewIntegration type and data flow summary
How It WorksEnd-to-end data flow explanation
RequirementsPrerequisites before setup
Step-by-Step Setup GuideION API, credentials, permissions, and configuration
After SetupVerification steps
TroubleshootingAuthentication, API, and labor errors

Overview

The MachineMetrics and Infor CloudSuite Industrial (SyteLine) integration enables bidirectional data flow between your ERP system and the shop floor, synchronizing work orders, labor tickets, and production data in real time.

Integration Type

AttributeValue
DirectionBidirectional
Data Flow (Inbound)Work orders, employees, operations, and parts from SyteLine → MachineMetrics
Data Flow (Outbound)Labor tickets from MachineMetrics → SyteLine
Runs OnMachineMetrics Edge Device (physical or virtual)
Connection MethodInfor ION API Gateway (REST/OAuth 2.0)

How It Works

1. Management — Work Order Transmission

Active work orders are automatically transmitted from SyteLine to MachineMetrics via the Infor ION API Gateway, making them available for operators in real-time. The connector uses a sliding time window to discover recently-active jobs — including recently closed work orders — ensuring MachineMetrics always has an accurate view of recent job data.

2. Tracking — Labor and Progress Reporting

As operators work on orders within MachineMetrics via ShopPulse:

  • Labor inputs generate labor tickets
  • Work order progress updates in real-time
  • Accurate records are maintained automatically

3. Synchronization — Real-Time Updates

When an operator closes a labor ticket (clocks out with final quantities recorded), the connector writes a new job transaction (SLJobtrans) to SyteLine. Only closed tickets are written — open tickets are held until the operator clocks out, ensuring SyteLine always receives complete, postable records.

4. Scheduling — Dynamic Visibility

Shop floor managers and production planners gain instant visibility into:

  • Work in progress status
  • Schedule adherence
  • Required adjustments

Changes to the schedule are immediately communicated to operators.


Requirements

Prerequisites

RequirementDetails
MachineMetrics EdgePhysical or Virtual Edge Device
Infor CloudSuite IndustrialHosted in Infor Cloud
ION API GatewayMust be provisioned for the tenant
Automation Module LicenseRequired for programmatic API access
Infor OS Portal AccessTenant administrator access required during setup
Network AccessEdge device must have outbound internet access to the Infor ION API Gateway. See Network Requirements Guide for Edge connectivity requirements.

Step-by-Step Setup Guide

Setup requires an Infor OS administrator to complete the Infor-side steps.

Step 1: Verify the SyteLine IDO REST API Is Registered

The SyteLine IDO REST API must be registered as an Available API in the ION API Gateway before any external application can access it.

Infor Admin action:

  1. Sign in to the Infor OS Portal
  2. Navigate to ION API → Available APIs
  3. Look for an entry named "Infor SyteLine" or "CloudSuite Industrial"
  4. Click into it and confirm an endpoint named CSI/IDORequestService/ido exists
note

If the SyteLine API is missing, the customer must contact Infor Cloud support to provision the CSI IDO REST API suite for their tenant. This is a blocking prerequisite — nothing else can proceed without it.

The API suite name in Available APIs provides the suite_context URL segment used in every request. In most deployments this is CSI, but confirm from the endpoint list.

Step 2: Create the Backend Service App and .ionapi Credentials

MachineMetrics authenticates via OAuth 2.0 using a service account. The customer's Infor OS admin creates this.

Infor Admin action:

  1. In the Infor OS Portal, go to ION API → Authorized Apps
  2. Click Add (+ icon) and select Backend Service
  3. Enter a name (e.g., MachineMetrics) and a description
  4. Click Save
  5. Click Download Credentials
  6. In the credentials dialog:
    • Enable "Create Service Account"
    • Select a SyteLine user to associate with the service account — this user's authorization group controls what data the API can access
  7. Click Download to save the .ionapi file
  8. Send the .ionapi file to MachineMetrics via SnapPass — do not send credentials via email
note

Verify the .ionapi file contains both saak and sask fields. If these are missing, the file was generated without "Create Service Account" enabled and must be regenerated. Without them, authentication will fail.

The ti (tenant ID) in the .ionapi file must match the environment being targeted. A file generated from a production tenant will not authenticate against a training or sandbox tenant.

Step 3: Grant IDO Permissions to the Service Account User

The SyteLine user associated with the service account needs read (and selective write) permissions on the IDOs the connector accesses. Without these permissions, API requests will return: User requires [Read] privilege for {IDO} IDO to perform this action.

Infor Admin action:

  1. In SyteLine, open the Authorization Groups form
  2. Find the authorization group assigned to the service account user
  3. Grant Read access to the following IDOs:
IDO NameDescriptionPurpose
SLWcsWork CentersResources / machines
SLEmployeesEmployeesOperators
SLReasonsReason CodesScrap / downtime codes
SLItemsItemsPart master
SLItemRoutesItem RoutingStandard part operations
SLJobsJobsWork orders
SLJobRoutesJob RoutingWork order operations
SLJobtransJob TransactionsLabor ticket history
SLCoItemsCustomer Order LinesDue date lookup
SLCustomersCustomersCustomer name lookup
  1. Grant Read + Insert + Update access to:
IDO NameDescriptionPurpose
SLJobtransJob TransactionsLabor ticket write-back from ShopPulse
note

If SLReasons doesn't appear in the customer's IDO list, try SLRcReasons — the IDO name varies by SyteLine version.

Step 4: Configure Scopes (If Required)

Scopes are optional in most environments — Backend Service apps are exempt from scope checks by default. This step is only needed if the tenant has global scope enforcement enabled.

How to check if scopes are enforced:

  1. In Infor OS Portal, go to ION API → Configuration (or Settings)
  2. Look for the Scopes setting
  3. If set to "Enforced," proceed below; if "Not Enforced," skip this step

If scope enforcement is enabled:

  1. Go to ION API → Authorized Apps
  2. Open the MachineMetrics Backend Service app
  3. Edit the service account
  4. Add the Infor SyteLine (or CSI) scope to the service account's allowed scopes
  5. Save

Step 5: Provide the SyteLine Configuration Name

MachineMetrics needs the SyteLine site configuration name to include in every API request (the X-Infor-MongooseConfig HTTP header). Without it, all API calls will fail with InvalidConfiguration.

Option A — From the SyteLine login screen:

Open SyteLine in the browser. If there is a configuration dropdown on the login screen, the value shown there is what MachineMetrics needs.

Option B — From a running SyteLine session:

  1. Open SyteLine and navigate to any form (e.g., Job Orders)
  2. Press F12 to open browser Developer Tools
  3. Click the Network tab
  4. Type IDORequestService in the filter box
  5. Click around in SyteLine to trigger data loading
  6. Click any request that appears in the Network list
  7. In the Request Headers section, find X-Infor-MongooseConfig
  8. Send MachineMetrics the value shown next to that header

Send all collected credentials and configuration values to your MachineMetrics implementation team via SnapPass.

Step 6: Confirm Job Transaction Posting

The connector writes labor tickets to SyteLine in an unposted state — the same state SyteLine uses for labor entered through its own forms. The connector does not post transactions. Posting is a SyteLine-side responsibility and is what triggers material consumption (backflush), quantity roll-up on operations and jobs, cost roll-up to WIP, and the corresponding general ledger entries. Until a transaction is posted, none of these effects happen.

Before going live, confirm how posting is handled in this environment:

Posting PatternDescription
Scheduled background taskPosts unposted records on a recurring interval (most common production setup)
Manual postingA clerk runs Post Job Transactions at end of shift or end of day
Trigger-based or workflow postingA custom workflow posts on a specific event such as job close
No automated postingTransactions accumulate as unposted records until period close

After Setup

Once the integration is configured:

  1. Work orders from SyteLine appear in MachineMetrics
  2. Operators select and start jobs via ShopPulse
  3. Labor data syncs back to SyteLine when tickets are closed
  4. Production Schedule Intelligence displays accurate job status

Verifying the Integration

  1. Go to Production → Schedule in MachineMetrics
  2. Confirm work orders from SyteLine are visible
  3. Have an operator start and close a job on their tablet
  4. Verify the labor ticket appears in SyteLine

Troubleshooting

Authentication Errors

ErrorCauseSolution
invalid_grant: Username does not match request tenantWrong saak valueUse saak from .ionapi as username, sask as password
400 Bad Request on token endpointWrong client_id, client_secret, saak, or saskDouble-check all four values from the .ionapi file
404 on token URLWrong token URLShould be {pu}{ot} concatenated (pu has a trailing slash)

API Errors

ErrorCauseSolution
No such proxy endpoint (404)Wrong suite_context in URLVerify from Available APIs in ION API Gateway (typically CSI)
No such deployment details (404)Wrong tenant in URLConfirm ti from .ionapi matches the target environment
InvalidConfigurationWrong X-Infor-MongooseConfig headerGet correct value from customer (Step 5)
User requires [Read] privilege for {IDO}Service account lacks permissionsGrant IDO access in SyteLine (Step 3)
SyteLine API not in Available APIsIDO REST API not provisioned for this tenantCustomer must contact Infor Cloud support to provision it

Work Orders and Labor

IssuePossible CauseSolution
Work orders not appearingAPI credentials invalid or IDO permissions missingVerify .ionapi credentials and IDO read permissions (Steps 2–3)
Missing operationsIDO permissions incompleteEnsure SLJobRoutes has read access
Labor not syncing backTicket not yet closedConfirm operator has clocked out and the ticket is in closed state
Labor rejected by SyteLineJob not in Released/Scheduled status, operation already complete, or inactive employeeCheck SyteLine for validation errors on the transaction
Unposted tickets not being processedNo automated posting configuredReview posting setup with customer (Step 6)


Getting Help

  • Setup Assistance: Contact your MachineMetrics Solution Delivery Manager (SDM)
  • Technical Issues: Email support@machinemetrics.com
  • Infor Configuration: Consult your Infor OS administrator or Infor partner