Infor SyteLine (On-Premises) Integration Guide
Overview
The connector imports work orders and related records from Infor SyteLine (On-Premises) and sends supported labor data back to the ERP. Unlike the cloud connector, this integration reads and writes directly against your SyteLine SQL Server database from the MachineMetrics Edge Device.
Integration Type
| Attribute | Value |
|---|---|
| Direction | Bidirectional |
| Data Flow (Inbound) | Work orders, operations, resources, employees, parts, and reason codes from SyteLine → MachineMetrics |
| Data Flow (Outbound) | Labor tickets and work order progress from MachineMetrics → SyteLine |
| Runs On | MachineMetrics Edge Device (physical or Virtual Edge) |
| Connection Method | Direct connection to the SyteLine SQL Server database |
This connector is under active development. Some features may change, and certain capabilities may not be available at the time of reading.
Requirements and Permissions
Before starting the connection process, ensure that:
| Requirement | Details |
|---|---|
| MachineMetrics Edge | A physical or Virtual Edge Device to run the connector service. |
| On-Premises SyteLine | SyteLine (CloudSuite Industrial) 2023.3.1.7 or later, hosted on a Microsoft SQL Server you control. Confirm the installed build and database schema with your SyteLine administrator. |
| Network Access | The Edge device must have direct network access to your SyteLine SQL Server by IP address (typically TCP port 1433) and outbound internet access to the MachineMetrics APIs. Hostnames are not supported; the SQL Server must be reachable at a fixed IP. See the Network Requirements Guide for Edge connectivity requirements. |
| SQL Server Account | A dedicated SQL Server login with the table permissions described in Step 1. |
| SyteLine Configuration Values | The site, warehouse, and user code values used when writing labor tickets; confirm these with your SyteLine administrator. |
Setup
Complete the ERP-specific steps below, then follow Setup and Verification for resource mapping, operator mapping, and the go-live checks. The customer enters credentials directly in Edge Services. Never share credentials with MachineMetrics staff.
Step 1: Create a Dedicated SQL Server Account
Create a dedicated SQL Server login with access to the SyteLine database. Grant the following permissions on the SyteLine database tables.
SELECT (read) permissions:
employee_mst -- Employees / operators
item_mst -- Items / parts
job_mst -- Work orders
job_sch_mst -- Work order schedules
jobroute_mst -- Work order operations (routing)
jobtran_mst -- Job transactions / labor tickets
jrt_sch_mst -- Routing schedule (run rates)
reason_mst -- Reason codes
wc_mst -- Work centers / resources
INSERT + UPDATE (write) permissions:
jobtran_mst -- Labor ticket write-back from ShopPulse
UPDATE permissions (only if work order roll-up is enabled; see Configuration Settings):
jobroute_mst -- Roll completed quantity/status up to the operation
job_mst -- Roll completed quantity/status up to the work order
job_sch_mst -- Update the work order completion date
Grant read-only access first if you want to validate inbound work order sync before enabling labor write-back. Labor tickets cannot be written until the connector has INSERT/UPDATE on jobtran_mst.
Step 2: Confirm SyteLine Labor-Ticket Values
When the connector writes a labor ticket, several SyteLine-specific fields must match your site's configuration. Confirm these values with your SyteLine administrator before go-live; the connector has defaults, but they are installation-specific and not universally correct.
| Value | SyteLine field | Description |
|---|---|---|
| Site Ref | site_ref | The SyteLine site the labor ticket belongs to |
| Warehouse | whse | The warehouse written on the labor ticket |
| User Code | user_code | The SyteLine user code recorded on the transaction |
Step 3: Enter Connection Settings in Edge Services
Enter the following values directly in Edge Services:
| Value | Description | Example |
|---|---|---|
| SQL Server IP Address | The IP address of the SyteLine SQL Server. This must be an IP address; hostnames are not supported, because the Edge device cannot resolve internal DNS names on the customer network. | 192.168.1.100 |
| Database Name | The SyteLine database name | SyteLineDB |
| Username | The SQL Server login created in Step 1 | machinemetrics |
| Password | Password for that login | ******** |
Site Ref (ERP_SITE_REF) | The SyteLine site for this installation. Code default: HB. | Your site code |
Warehouse (ERP_WHSE) | The warehouse written on the transaction. Code default: MAIN. | Your warehouse code |
User Code (ERP_USER_CODE) | The SyteLine transaction user code. Code default: LTM. | Your transaction user code |
Posted flag (ERP_POSTED) | Integer written directly to jobtran_mst.posted. Default: 0 (unposted). Confirm its value with your SyteLine administrator. | 0 |
Do not treat ERP_POSTED=1 as a command to run SyteLine posting. The connector passes the value into the transaction row. Ask your SyteLine administrator and SDM to confirm the effects of any non-zero value before changing it.
The SQL Server must be reachable at a fixed IP address, using a static IP or a DHCP reservation. Hostnames are not supported, and if the server's IP changes the connector loses its connection until the new address is provided.
Verifying the Integration
- Go to Production → Schedule in MachineMetrics
- Confirm work orders from SyteLine are visible
- Have an operator start and close a job in the Operator View
- Verify the labor ticket (
jobtran_mst) appears in SyteLine
Confirm Job Transaction Posting
By default, the connector writes labor tickets to SyteLine in an unposted state, the same state SyteLine uses for labor entered through its own forms. Confirm the deployed ERP_POSTED setting and the SyteLine posting process with your administrator. The default is unposted. Posting is a SyteLine-side responsibility and is what triggers material consumption, quantity roll-up, 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 (for example, a scheduled background task, a manual end-of-shift posting run, or a workflow-driven post).
Configuration Settings
Enter connection values in Edge Services. Review behavior settings with your implementation team.
| Setting | Environment Variable | Description | Default |
|---|---|---|---|
| Job Filter Pattern (WO/WOO/LX) | ERP_LX_JOBFILTER | SQL LIKE pattern that restricts which jobs are imported (e.g. [A-Z]% for jobs starting with a letter) | No filter |
| Part Operations Job Filter | ERP_PART_OPS_JOB_FILTER | SQL LIKE pattern that restricts jobs used for part operations | No filter |
| Historical Start Dates | ERP_RESOURCES_HISTORICAL_START_DATEERP_PERSONS_HISTORICAL_START_DATEERP_REASONS_HISTORICAL_START_DATEERP_PARTS_HISTORICAL_START_DATEERP_WORK_ORDERS_HISTORICAL_START_DATE | Earliest date to backfill, set independently per entity (resources, persons, reasons, parts, and work orders) | 2022/01/01 |
| Polling Interval | POLL_INTERVAL | How often work orders are pulled from SyteLine | 5 min |
| Labor Tickets To ERP Interval | TO_ERP_INTERVAL | How often eligible labor tickets are written back to SyteLine; open tickets are supported unless closed-only export is enabled | 5 min |
| Retry Failed Labor Tickets Interval | RETRY_LABOR_TICKETS_INTERVAL | How often failed labor-ticket writes are retried | 30 min |
| Export New Tickets Only When Closed | ERP_LX_EXPORT_CLOSED_ONLY | Hold new tickets until CLOSED; continue updating previously exported tickets | Off |
Calculate a_hrs | CALCULATE_A_HRS | Compute actual hours from operator clock in/out times | On |
| Set Completed Qty = Good + Bad Parts | SET_QTY_BAD_PLUS_GOOD_PARTS | Record completed quantity as good plus scrapped parts | On |
| Propagate Status to WO Operations (Roll-Up) | ERP_LX_DO_WORKORDER_ROLLUP | Roll completed quantity and status up to the operation and parent work order (requires the additional UPDATE permissions in Step 1) | Off |
| Assign Labor Tickets to Machine's Group | ERP_DO_RESOURCE_TO_GROUP | Write labor against a machine's group resource instead of the individual machine | On |
| Default Resource ID | MM_DEFAULT_RESOURCE_ID | Force a specific resource ID on outgoing labor tickets | Not set |
Sync Behavior
The connector runs as a service on your Edge Device (or Virtual Edge) and connects directly to your SyteLine SQL Server database, exchanging work orders and labor data.
Inbound Records
Active work orders are read from SyteLine and transmitted to MachineMetrics, making them available for operators after sync. The connector tracks changes incrementally (using each record's modified date), and a configurable historical start date controls how far back the initial backfill reaches.
Labor Write-Back
The connector creates or updates job transactions (jobtran_mst) in SyteLine. With ERP_LX_EXPORT_CLOSED_ONLY enabled, new tickets are held until their state is CLOSED in MachineMetrics. Tickets already exported can still receive updates. With the setting off, the handler can process open tickets. When enabled, the connector can also roll completed quantities and status up to the work order operation and the parent work order. Transactions are written in an unposted state by default; see Confirm Job Transaction Posting.
Troubleshooting
| Issue | Possible Cause | Solution |
|---|---|---|
| Work orders not appearing | Database connection failed | Verify the SQL Server IP address, database name, credentials, and firewall rules between the Edge and SQL Server |
| Connection timeout | Firewall blocking the Edge, or the SQL Server IP changed | Ensure the Edge can reach the SQL Server IP (typically TCP 1433); if the server's IP changed, provide the new address |
| Missing tables or permission errors | SQL account permissions incomplete | Add the missing SELECT/INSERT/UPDATE permissions from Step 1 |
| Labor not syncing back | Missing jobtran_mst write permission, invalid ticket data, or closed-only export enabled | Confirm INSERT/UPDATE, ticket references and timestamps, and ERP_LX_EXPORT_CLOSED_ONLY. Open tickets are supported when closed-only export is off |
| Roll-up not updating operations or work orders | Roll-up disabled, or missing UPDATE on jobroute_mst/job_mst/job_sch_mst | Enable roll-up and grant the additional UPDATE permissions from Step 1 |
| Labor written to the wrong site/warehouse | site_ref, whse, or user_code incorrect | Confirm the values from Step 2 with your SyteLine administrator |
| Only some jobs imported | Job filter pattern too restrictive | Review the Job Filter Pattern in Configuration Settings |
| Transactions never take effect in SyteLine | Tickets remain unposted | Confirm posting is configured in SyteLine (see Confirm Job Transaction Posting) |
FAQ
Can I use this guide for Infor Cloud hosting? Use the SyteLine Cloud guide for the ION API connection. This guide is for a direct SQL Server connection.
Why are quantities not rolling up? Check the roll-up setting and its additional SQL UPDATE permissions, then confirm the site's posting process.
Related Guides
Getting Help
Contact your Solution Delivery Manager (SDM) during onboarding or MachineMetrics Support for technical issues after onboarding. For ERP permissions and posting, work with your ERP administrator.