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.
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.
| Attribute | Value |
|---|---|
| Direction | Bidirectional |
| 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 On | MachineMetrics Edge Device (physical or Virtual Edge) |
| Connection Method | REST API; OAuth client credentials for cloud, API key and user credentials for on-premises |
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
| Requirement | Details |
|---|---|
| MachineMetrics Edge | A physical or Virtual Edge Device to run the connector service. |
| JobBOSS² Instance | v1 or later. Cloud: access to the ECI Integration Engine. On-premises: access to the local JobBOSS² API. |
| API access | Cloud: Integration Engine credentials. On-premises: access to the local JobBOSS² API and its API key/user credentials. |
| Network Access | The 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 Parts SQL path is configured, the Edge device must also reach the database host and port (default TCP 1433). |
| API Credentials | Cloud: 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:
- Sign in to the ECI Integration Engine Portal.
- Create an application/integration for MachineMetrics.
- Note the generated Client ID and Client Secret.
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:
| Item | Example |
|---|---|
| API host | api-jb2.ecimanufacturing.com |
| Authentication host | api-users.ecimanufacturing.com |
Step 3: Enter Connection Settings in Edge Services
| Item | Description |
|---|---|
| API Host | Cloud Integration Engine host (e.g. api-jb2.ecimanufacturing.com) or your local on-premises API host. |
| Authentication Host | Cloud authentication host (e.g. api-users.ecimanufacturing.com) or your local on-premises authentication host. |
| Client ID | Cloud: the Client ID created in Step 1. |
| Client Secret | Cloud: the Client Secret created in Step 1. |
| API key, username, password | On-premises: the credentials for /api/v1/Login. |
Verifying the Integration
- Confirm that active JobBOSS² work orders appear in MachineMetrics ERP Data Studio.
- Have an operator clock into and out of a job in ShopPulse, then confirm a labor ticket is created.
- 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
| Setting | Environment Variable | Description | Default |
|---|---|---|---|
| ERP System | ERP_SYSTEM | Selects the JobBOSS² connector | JOB_BOSS |
| API URL | ERP_API_URL | Cloud Integration Engine host or local on-premises API host | Not set |
| Auth Base URL | ERP_AUTH_BASE_URL | Cloud or on-premises authentication host | Not set |
| Client ID | ERP_API_CLIENT_ID | OAuth client ID from the Integration Engine Portal | Not set |
| Client Secret | ERP_API_CLIENT_SECRET | OAuth client secret from the Integration Engine Portal | Not set |
| On-premises API key | ERP_API_KEY | Required for the local API login path | Not set |
| On-premises username | ERP_API_USER_NAME | User for the local API login path | Not set |
| On-premises password | ERP_API_PASSWORD | Password for that user | Not set |
| Optional SQL host | ERP_DATABASE_HOST | Enables the SQL path for Parts; configure only with your ERP administrator and SDM | Not set |
| SQL credentials | ERP_DATABASE_USERNAME, ERP_DATABASE_PASSWORD, ERP_DATABASE_NAME | Required for an installation using the optional SQL path | Not set |
| SQL port | ERP_DATABASE_PORT | Port for the optional SQL path | 1433 |
| Poll Interval | POLL_INTERVAL | How often work orders and operations are pulled from JobBOSS² | 5 min |
| Retry Labor Tickets Interval | RETRY_LABOR_TICKETS_INTERVAL | How often failed labor ticket write-backs are retried | 30 min |
| Max Elements Limit | ERP_MAX_ELEMENTS_LIMIT | Maximum records of a given type fetched per run | 40 |
| Pagination Limit | ERP_PAGINATION_LIMIT | Records fetched per page from the API | 20 |
| Retry Attempts | RETRY_ATTEMPTS | Number of times an API request is retried on failure | 3 |
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. Part operations, work centers, and employees are pulled from their corresponding API resources. Parts use the optional SQL path when configured, or the API otherwise.
The optional SQL path requires network access from the Edge device to the configured database host and port. It does not replace the API authentication settings.
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 Entity | JobBOSS² Entity | Key Field |
|---|---|---|
| Resources (machines / work centers) | WorkCntr | WorkCntr |
| Parts | OrderDet | PartNo |
| Part Operations | Routing | Routing_ID |
| Work Orders | OrderRouting | OrderRouting_ID |
| Work Order Operations | TimeTicketDet | TimeTicketDet_ID |
| Persons (employees) | EmplCode | EmplCode |
| Reasons | ReasonCode | ReasonCode |
| Labor Tickets | TimeTicketDet | TimeTicketDet_ID |
Troubleshooting
| Issue | Possible Cause | Solution |
|---|---|---|
| Work orders not appearing | Authentication failed | For cloud, verify Client ID/Secret and the authentication host. For on-premises, verify the API key, username, password, and local API host. |
| Authentication errors | Wrong API or auth host | Confirm ERP_API_URL and ERP_AUTH_BASE_URL match your JobBOSS² environment. |
| Connection errors / timeouts | Edge cannot reach the configured API, authentication, or database host | Verify access from the Edge device to the cloud or local API and authentication hosts. If Parts use SQL, also verify the configured database host and port. |
| No data returned | Fetch limits too low | Increase ERP_MAX_ELEMENTS_LIMIT / ERP_PAGINATION_LIMIT, or confirm the jobs exist and are active in JobBOSS². |
| Labor not syncing back | Ticket not closed, or the time ticket post failed | Verify the operator clocked out; failed write-backs are retried on the RETRY_LABOR_TICKETS_INTERVAL. |
| Labor hours look wrong | Missing start/end times or ticket type | Confirm the labor ticket has both a start and end time and a setup/production type so hours can be calculated. |
| Reason not recorded | Reason code not mapped | Confirm the MachineMetrics downtime reason maps to a valid JobBOSS² reason code. |
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 Parts use the optional SQL path, confirm database access too.
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.
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.