Skip to main content

JobBOSS² Integration Guide

Overview​

Connect a cloud-hosted or on-premises JobBOSS² (ECI Manufacturing) instance to MachineMetrics for bidirectional work order and labor tracking synchronization.

note

This guide covers JobBOSS², the newer ECI Manufacturing product, where the connector uses REST APIs. Cloud installations use the ECI Integration Engine; on-premises installations use the local JobBOSS² API. If your shop runs the older on-premises JobBoss Classic (ECI JobBOSS) product, use the JobBoss Classic guide instead; it connects directly to your JobBoss SQL Server database and uses a different data model.

AttributeValue
DirectionBidirectional
Data Flow (Inbound)Work centers, parts, part operations, work orders, work order operations, employees, and reason codes from JobBOSS² → MachineMetrics
Data Flow (Outbound)Labor tickets (time tickets) from MachineMetrics → JobBOSS²
Runs OnMachineMetrics Edge Device (physical or Virtual Edge)
Connection MethodREST API; OAuth client credentials for cloud, API key and user credentials for on-premises

Requirements and Permissions​

RequirementDetails
MachineMetrics EdgeA physical or Virtual Edge Device to run the connector service.
JobBOSS² Instancev1 or later. Cloud: access to the ECI Integration Engine. On-premises: access to the local JobBOSS² API.
API accessCloud: Integration Engine credentials. On-premises: access to the local JobBOSS² API and its API key/user credentials.
Network AccessThe Edge device must reach the API and authentication hosts for your installation and the MachineMetrics APIs. Cloud installations use ECI endpoints. On-premises installations require access to the local API hosts. If the optional on-premises SQL path is configured, the Edge device must also reach the database host and port (default TCP 1433) with a read-only SQL login; see Step 4.
API CredentialsCloud: Client ID and Secret. On-premises: API key, username, and password. Enter the credentials for your authentication path in Edge Services.

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 API Credentials in the Integration Engine Portal​

For a cloud installation, use OAuth 2.0 client credentials:

  1. Sign in to the ECI Integration Engine Portal.
  2. Create an application/integration for MachineMetrics.
  3. Note the generated Client ID and Client Secret.
Save the Client Secret immediately

The Client Secret is typically shown only once at creation time. Copy it before leaving the page; if it is lost, you will need to generate a new one.

For an on-premises installation, ask the ERP administrator to prepare the local API base URL and authentication host, API key, username, and password. This path signs in through /api/v1/Login. Enter ERP_API_KEY, ERP_API_USER_NAME, and ERP_API_PASSWORD in Edge Services. Do not also enter cloud OAuth credentials for this path; if both sets are populated, OAuth is selected first.

Step 2: Confirm Your JobBOSS² API Endpoints​

Confirm the API and authentication host names with your ECI administrator. The examples below are for the cloud Integration Engine; on-premises installations use the hosts supplied for the local API:

ItemExample
API hostapi-jb2.ecimanufacturing.com
Authentication hostapi-users.ecimanufacturing.com

Step 3: Enter Connection Settings in Edge Services​

ItemDescription
API HostCloud Integration Engine host (e.g. api-jb2.ecimanufacturing.com) or your local on-premises API host.
Authentication HostCloud authentication host (e.g. api-users.ecimanufacturing.com) or your local on-premises authentication host.
Client IDCloud: the Client ID created in Step 1.
Client SecretCloud: the Client Secret created in Step 1.
API key, username, passwordOn-premises: the credentials for /api/v1/Login.

Step 4: Grant SQL Server Access (On-Premises SQL Path Only)​

Applies to on-premises installations using the optional SQL path

Complete this step only if JobBOSS² is hosted on your own servers and you and your SDM have agreed that the connector will read job routings directly from the JobBOSS² SQL Server database. Cloud installations and on-premises installations that use only the API skip this step.

What the Connector Reads from SQL Server​

In SQL mode, the connector reads job routing rows from the OrderRouting table instead of the order-routings API resource. Those rows are the source for parts, part operations, work orders, and work order operations in MachineMetrics.

Everything else still goes through the JobBOSS² API, so the API settings from Steps 1–3 are still required:

DataSource
Job routings (parts, part operations, work orders, work order operations)SQL Server: dbo.OrderRouting
Work centersJobBOSS² API
EmployeesJobBOSS² API
Reason codesJobBOSS² API
Labor tickets (write-back)JobBOSS² API (time-tickets)

The connector never writes to the database.

Create a Read-Only SQL Server Login​

Create a dedicated SQL Server login for MachineMetrics and grant it SELECT on one table in your JobBOSS² company database:

dbo.OrderRouting

The connector does not need INSERT, UPDATE, DELETE, or access to any other table, view, or stored procedure. Don't give this login db_owner, db_datawriter, or sysadmin.

The connector reads these OrderRouting columns. If you restrict access by column, all of them must be readable:

OrderNo, JobNo, StepNo, PartNo, Descrip, WorkCntr, Status,
SetupTime, CycleTime, CycleUnit, MachRun, NumMachForJob, UnattendOp,
SetupRate, CycleRate, BurdenRate, LaborRate, PctEff,
EstimQty, EstimStartDate, EstimEndDate, LastModDate, LastModUser

Example script (replace the database name, login name, and password):

-- Run on the SQL Server instance that hosts JobBOSS²
CREATE LOGIN mm_jobboss2_reader WITH PASSWORD = '<strong-password>';
GO

USE [<JobBOSS2 database name>];
GO

CREATE USER mm_jobboss2_reader FOR LOGIN mm_jobboss2_reader;
GRANT SELECT ON dbo.OrderRouting TO mm_jobboss2_reader;
GO

Confirm SQL Server Connectivity​

RequirementDetails
SQL Server AuthenticationThe connector signs in with a SQL Server username and password. Windows (Active Directory) authentication isn't supported, so the instance must allow SQL Server and Windows Authentication mode (mixed mode).
TCP/IP enabledTCP/IP must be enabled for the instance in SQL Server Configuration Manager.
Network pathThe Edge device must reach the SQL Server host on its TCP port (default 1433). Open any firewall between the Edge and the SQL Server for that port. For a named instance, use a fixed port rather than dynamic ports.
Stable addressUse a static IP address (or DHCP reservation), or a hostname the Edge device can resolve. If the address changes, update ERP_DATABASE_HOST in Edge Services.
EncryptionThe connector always encrypts the connection and accepts the server's certificate, including a self-signed one. You don't need to install a CA-signed certificate.

Enter Database Settings in Edge Services​

ItemEnvironment VariableDescription
SQL Server HostERP_DATABASE_HOSTIP address or hostname of the JobBOSS² SQL Server. Setting this turns on SQL mode.
SQL Server PortERP_DATABASE_PORTTCP port of the instance (default 1433).
Database NameERP_DATABASE_NAMEThe JobBOSS² company database that contains OrderRouting.
UsernameERP_DATABASE_USERNAMEThe read-only login created above.
PasswordERP_DATABASE_PASSWORDThe password for that login.

Also set ERP_MAX_ELEMENTS_LIMIT explicitly. In SQL mode it controls how many OrderRouting rows are read on each poll.

How SQL Mode Differs​

  • Work order status: the SQL query doesn't read the job header (OrderDet). Each work order's status comes from the status of the job's highest-numbered routing step.
  • Due date: without the job header, a work order's due date falls back to the routing's estimated end date. If that is blank, the routing's last-modified date is used.
  • Volume per poll: each poll reads the most recent routing rows, newest order number first, up to ERP_MAX_ELEMENTS_LIMIT. If active jobs are missing, raise this limit.

Verifying the Integration​

  1. Confirm that active JobBOSS² work orders appear in MachineMetrics ERP Data Studio.
  2. Have an operator clock into and out of a job in ShopPulse, then confirm a labor ticket is created.
  3. In JobBOSS², confirm the corresponding time ticket was written for that operation with the correct employee, hours, and quantities.

Confirm Labor and Time Reporting​

The connector calculates setup or production hours from each ticket's start and end times and posts them to JobBOSS² as a time ticket. Confirm with your JobBOSS² administrator how completed labor and quantities should reconcile against your existing shop-floor process, so that time reporting matches your team's expectations before go-live.

Configuration Settings​

SettingEnvironment VariableDescriptionDefault
ERP SystemERP_SYSTEMSelects the JobBOSS² connectorJOB_BOSS
API URLERP_API_URLCloud Integration Engine host or local on-premises API hostNot set
Auth Base URLERP_AUTH_BASE_URLCloud or on-premises authentication hostNot set
Client IDERP_API_CLIENT_IDOAuth client ID from the Integration Engine PortalNot set
Client SecretERP_API_CLIENT_SECRETOAuth client secret from the Integration Engine PortalNot set
On-premises API keyERP_API_KEYRequired for the local API login pathNot set
On-premises usernameERP_API_USER_NAMEUser for the local API login pathNot set
On-premises passwordERP_API_PASSWORDPassword for that userNot set
Optional SQL hostERP_DATABASE_HOSTEnables the SQL path for job routings (see Step 4); configure only with your ERP administrator and SDMNot set
SQL credentialsERP_DATABASE_USERNAME, ERP_DATABASE_PASSWORD, ERP_DATABASE_NAMERequired for an installation using the optional SQL pathNot set
SQL portERP_DATABASE_PORTPort for the optional SQL path1433
Poll IntervalPOLL_INTERVALHow often work orders and operations are pulled from JobBOSS²5 min
Retry Labor Tickets IntervalRETRY_LABOR_TICKETS_INTERVALHow often failed labor ticket write-backs are retried30 min
Max Elements LimitERP_MAX_ELEMENTS_LIMITMaximum records of a given type fetched per run40
Pagination LimitERP_PAGINATION_LIMITRecords fetched per page from the API20
Retry AttemptsRETRY_ATTEMPTSNumber of times an API request is retried on failure3
note

The poll interval accepts human-friendly values such as 5s, 5 min, every 5 mins, or 3 days and 4 hours.

Sync Behavior​

Inbound Records​

Active jobs and their routings are read from the configured JobBOSS² API (order-routings) and transmitted to MachineMetrics, making work orders and operations available for operators after sync. Work centers, employees, and reason codes are pulled from their corresponding API resources.

On-premises installations can optionally read job routings from the OrderRouting SQL Server table instead of the order-routings API. In that mode, parts, part operations, work orders, and work order operations all come from SQL; everything else, including labor write-back, still uses the API. See Step 4 for the required access and How SQL Mode Differs for behavior changes.

Labor Write-Back​

Outbound sync requests closed tickets only. The connector posts a time ticket back to JobBOSS² (time-tickets). The connector calculates setup or production hours from the ticket's start and end times, attaches the operator's employee code and the ticket date, and maps any recorded downtime reason to the corresponding JobBOSS² reason code.

Data Mapping​

The connector maps MachineMetrics entities to JobBOSS² entities as follows:

MachineMetrics EntityJobBOSS² EntityKey Field
Resources (machines / work centers)WorkCntrWorkCntr
PartsOrderDetPartNo
Part OperationsRoutingRouting_ID
Work OrdersOrderRoutingOrderRouting_ID
Work Order OperationsTimeTicketDetTimeTicketDet_ID
Persons (employees)EmplCodeEmplCode
ReasonsReasonCodeReasonCode
Labor TicketsTimeTicketDetTimeTicketDet_ID

Troubleshooting​

IssuePossible CauseSolution
Work orders not appearingAuthentication failedFor cloud, verify Client ID/Secret and the authentication host. For on-premises, verify the API key, username, password, and local API host.
Authentication errorsWrong API or auth hostConfirm ERP_API_URL and ERP_AUTH_BASE_URL match your JobBOSS² environment.
Connection errors / timeoutsEdge cannot reach the configured API, authentication, or database hostVerify access from the Edge device to the cloud or local API and authentication hosts. If SQL mode is configured, also verify the configured database host and port.
No data returnedFetch limits too lowIncrease ERP_MAX_ELEMENTS_LIMIT / ERP_PAGINATION_LIMIT, or confirm the jobs exist and are active in JobBOSS².
Labor not syncing backTicket not closed, or the time ticket post failedVerify the operator clocked out; failed write-backs are retried on the RETRY_LABOR_TICKETS_INTERVAL.
Labor hours look wrongMissing start/end times or ticket typeConfirm the labor ticket has both a start and end time and a setup/production type so hours can be calculated.
Reason not recordedReason code not mappedConfirm the MachineMetrics downtime reason maps to a valid JobBOSS² reason code.
"SQL Server connection failed" (on-premises SQL mode)Edge can't reach SQL Server, or the login is rejectedConfirm the host, port, and database name. Check that TCP/IP and mixed-mode authentication are enabled and that the firewall allows the Edge to reach the SQL port. Verify the login's password.
Permission denied on OrderRouting (on-premises SQL mode)Login lacks SELECT on the tableGrant SELECT on dbo.OrderRouting in the JobBOSS² database to the MachineMetrics login (see Step 4).
Work orders show the wrong status (on-premises SQL mode)Status comes from the job's last routing stepConfirm that the final routing step's status in JobBOSS² reflects the job's state (see How SQL Mode Differs).

FAQ​

Are cloud and on-premises deployments supported? Yes. Confirm the cloud Integration Engine or local on-premises API endpoints with your ERP administrator and SDM. If job routings use the optional SQL path, also complete Step 4.

Does this guide cover ERP Driven labor import? No. This guide covers inbound job/reference data and ShopPulse labor write-back. Confirm ERP Driven labor-import support for your deployed connector before selecting that workflow.

What is written back? The connector posts time tickets to the time-tickets API, including employee, date, setup or production hours, and mapped reason information.

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.