JobBoss Classic Integration Guide
Overview
Connect an on-premises JobBoss Classic (ECI JobBOSS) installation to MachineMetrics for bidirectional work order and labor tracking synchronization.
This guide covers JobBoss Classic, where the connector talks directly to your JobBoss SQL Server database. If your shop runs the newer JobBOSS² product, use the JobBOSS² guide instead; it connects through a different API and data model.
| Attribute | Value |
|---|---|
| Direction | Bidirectional |
| Data Flow (Inbound) | Work orders, operations, resources, employees, and parts from JobBoss Classic → MachineMetrics |
| Data Flow (Outbound) | Labor tickets and work order progress from MachineMetrics → JobBoss Classic |
| Runs On | MachineMetrics Edge Device (physical or Virtual Edge) |
| Connection Method | Direct connection to the JobBoss Classic 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
| Requirement | Details |
|---|---|
| MachineMetrics Edge | A physical or Virtual Edge Device to run the connector service. |
| On-Premises JobBoss Classic | JobBoss Classic hosted on a Microsoft SQL Server (2012 or later) that you control. |
| Network Access | The Edge device must have direct network access to your JobBoss 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. |
| SQL Server Account | A dedicated SQL Server login with the table permissions described in Step 1. |
| JobBoss Configuration Values | The operation-number convention, work center codes, and employee IDs used when writing labor tickets; confirm these with your JobBoss 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 for MachineMetrics and grant it the following permissions.
SELECT (read): required for inbound work order sync:
Job
Job_Operation
Work_Center
Vendor
Delivery
Employee
SELECT + INSERT + UPDATE: required for outbound labor write-back:
The connector writes each labor ticket across these three transaction tables and reads them back to update and roll up totals.
Job_Operation_Time
Transaction_Data
Transaction_Detail
UPDATE: required for operation and job roll-up:
Already covered by the SELECT grant above; roll-up only adds UPDATE.
Job_Operation
Job
Grant read-only (SELECT) 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 Job_Operation_Time, Transaction_Data, and Transaction_Detail, and operation/job roll-up requires UPDATE on Job_Operation and Job.
Step 2: Confirm JobBoss Labor-Ticket Values
Confirm the values the connector uses to match and write labor tickets. These are set with your MachineMetrics implementation team.
| Value | Where It's Used | Notes |
|---|---|---|
| Operation Number Source | Matching MM operations to Job_Operation | Choose whether MM operation numbers should match the traveller label (Operation_Service, e.g. "Op 10") or the internal step index (Sequence, e.g. 1, 2, 3). Controlled by USE_OP_NUMBER_SOURCE. |
| Work Center Codes | Work_Center on labor write-back | The Work_Center identifiers that map to your MachineMetrics machines. |
| Employee IDs | Employee on labor write-back | The Employee identifiers that match operator badges/logins in MachineMetrics. |
Step 3: Enter Connection Settings in Edge Services
| Item | Description |
|---|---|
| SQL Server IP | Static IP address of the JobBoss SQL Server (with TCP port, typically 1433). |
| Database Name | Name of the JobBoss Classic database. |
| Username | The dedicated SQL Server login from Step 1. |
| Password | The password for that login. |
| Operation Number Source / Work Center / Employee conventions | The values confirmed in Step 2. |
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
- 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
Job_Operation_Time/Transaction_Datarecords were written for that operation.
Confirm Operation and Job Roll-Up
The connector rolls actual hours, quantities, and costs up to the operation (Job_Operation) only when an operation is explicitly marked complete, and rolls the job (Job) to Complete only once all of its operations are complete. Interim labor (clock-outs that do not close the operation) is recorded without advancing operation or job status.
Before go-live, confirm with your JobBoss administrator how completed labor and quantities should reconcile against your existing shop-floor process, so that roll-ups match your team's expectations.
Configuration Settings
| Setting | Environment Variable | Description | Default |
|---|---|---|---|
| SQL Server Host | ERP_DB_HOST | IP address of the JobBoss SQL Server | localhost |
| SQL Server Port | ERP_DB_PORT | TCP port for the SQL Server | 1433 |
| Database Name | ERP_DB_NAME | Name of the JobBoss Classic database | ERP_DATABASE |
| SQL Username | ERP_DB_USER | Dedicated SQL Server login | sa |
| SQL Password | ERP_DB_PASSWORD | Password for the SQL login (required) | Not set |
| Encrypt Connection | ERP_DB_ENCRYPT | Encrypt the SQL Server connection | On |
| Trust Server Certificate | ERP_DB_TRUST_SERVER_CERTIFICATE | Trust a self-signed SQL Server certificate | On |
| Load Labor Tickets | LOAD_LABOR_TICKETS | Import labor tickets from JobBoss during inbound sync | On |
| Inbound sync interval | FROM_ERP_INTERVAL | Falls back to POLL_INTERVAL, then the SDK default. | 5 min unless overridden |
| Outbound sync interval | TO_ERP_INTERVAL | How often labor tickets are processed. | 5 min unless overridden |
| Batch Size | BATCH_SIZE | Maximum records processed per sync batch | 1000 |
| Historical Start Date | HISTORICAL_START_DATE | Earliest order date to backfill on the initial load (ISO-8601) | 2020-12-01 |
| Operation Number Source | USE_OP_NUMBER_SOURCE | Use the traveller Operation_Service label instead of the internal Sequence index for MM operation numbers | Off |
| Sync Checkpoint Path | SYNC_CHECKPOINT_PATH | File path where incremental sync state is persisted | ./data/sync-checkpoint.json |
| Log Level | LOG_LEVEL | Connector logging verbosity | info |
Sync Behavior
Inbound Records
Active work orders (Job) and their operations (Job_Operation) are read from JobBoss Classic and transmitted to MachineMetrics, making them available for operators after sync. The connector tracks changes incrementally (using each record's Last_Updated date), and a configurable historical start date controls how far back the initial backfill reaches.
Labor Write-Back
The connector can create an open time transaction and later update it when the ticket closes. It writes the transaction (Job_Operation_Time, Transaction_Data, and Transaction_Detail) back to JobBoss Classic. When an operation is marked complete, the connector rolls actual hours, quantities, and cost totals up to the work order operation (Job_Operation), and once every operation on a job is complete it rolls the job (Job) up to a Complete status.
Troubleshooting
| Issue | Possible Cause | Solution |
|---|---|---|
| Work orders not appearing | Database connection failed | Verify SQL Server IP, port, database name, credentials, and firewall rules. |
| Connection timeout | Firewall blocking or IP changed | Ensure the Edge can reach the SQL Server IP (TCP 1433); provide the new address if it changed. |
| Missing tables / permission errors | SQL account permissions incomplete | Add the missing SELECT/INSERT/UPDATE permissions from Step 1. |
| Labor not syncing back | Missing INSERT/UPDATE on Job_Operation_Time, Transaction_Data, or Transaction_Detail, or an invalid ticket reference | Confirm write permissions and the employee, job, operation, and timestamps. Open tickets can be written; clock-out is not a universal prerequisite. |
| Operation shows the wrong operation number | Operation-number source does not match the traveller convention | Set USE_OP_NUMBER_SOURCE to match how operators reference operations (Operation_Service vs Sequence). |
| Operation or job status / roll-up not updating | Missing UPDATE on Job_Operation / Job, or the operation was not marked complete | Grant UPDATE on Job_Operation and Job; confirm the operation is being completed. |
| A job's operations are skipped on write-back | Two operations parse to the same operation number (Operation_Service collision) | The connector skips colliding work orders to stay consistent; correct the duplicate Operation_Service values in JobBoss. |
FAQ
Is this the same connector as JobBOSS²? No. Classic uses the JobBoss SQL Server database. JobBOSS² uses the cloud ECI Integration Engine or the local on-premises JobBOSS² API.
When does a job become Complete? The connector rolls up an operation when it is explicitly completed. It rolls the job to Complete only after all its operations are complete.
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.