Epicor Kinetic Integration Guide
Overview
The connector exchanges work orders and labor with Epicor Kinetic through its REST API. Some configurations also use a SQL connection.
Integration Type
| Attribute | Value |
|---|---|
| Direction | Bidirectional |
| Data Flow (Inbound) | Work orders from Epicor → MachineMetrics |
| Data Flow (Outbound) | Labor tickets and work order updates from MachineMetrics → Epicor |
| Runs On | MachineMetrics Edge Device (physical or Virtual Edge) |
Requirements and Permissions
Before starting the connection process, ensure that:
| Requirement | Details |
|---|---|
| Minimum Epicor version | Epicor Kinetic 10.2.600 or later. Confirm the installed build and required API access with your ERP administrator before setup. |
| MachineMetrics Edge | A physical or Virtual Edge Device to run the connector service. |
| Network Access | The Edge device must have network and firewall access to Epicor's on-premise or cloud environment APIs. See the Network Requirements Guide for Edge connectivity requirements. |
| Epicor Permissions | You must have the permissions required to create users and API keys in your Epicor environment. |
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 User
- Navigate to User Account Maintenance.
- Select the + (plus-circle) button to create a new user.
- Enter a unique User ID (for example,
machinemetrics). - Enter a unique Name (for example,
MachineMetrics). - Fill out any additional required fields and save your changes.
Set a password for this user account. Enter the username and password in Edge Services in Step 6.
Step 2: Create API Key
- Open the Epicor menu, search for API Key Maintenance, and select it.
- Select the + (plus-circle) button to create a new key.
- In the Key ID field, enter
MachineMetrics. - In the Description field, enter a helpful description (for example,
MachineMetrics Connection). - In the Expire Date field, select a date in the distant future (this can be adjusted later if needed).
- Select the Save button to save the new key, and be sure to copy the key to a safe location for future use; you will only see it once.
Step 3: Create Access Scope
- Open the Epicor menu, search for Access Scope, and select it.
- Select the + (plus-circle) button to create a new scope.
- In the Access Scope ID field, enter
MachineMetrics. - In the Description field, enter a helpful description (for example,
MachineMetrics Connection). - Make sure the Active check box is checked.
Step 4: Configure Access Scope Services
- Navigate to Services.
- Locate and select the desired service.
- Verify that all required methods listed below are enabled for the selected service.
- Click Save to apply changes.
- Repeat the process for each required service and its associated methods.
Required services and methods:
Erp.BO.CapabilitySvc/Capabilities
GetRows
Erp.BO.EmpBasicSvc/EmpBasics
GetRows
ClockIn
ClockOut
Erp.BO.JobEntrySvc/GetDatasetForTree
GetRows
Erp.BO.JobEntrySvc/JobEntries
GetRows
Erp.BO.LaborSvc/LaborDtls
GetRows
Erp.BO.LaborSvc/Labors
GetRows
StartActivity
CheckWarning
Update
EndActivityByEmp
recallFromApprovalBySelected
updateLaborDtl
submitForApproval
Erp.BO.ReasonSvc/Reasons
GetRows
Erp.BO.ResourceGroupSvc/ResourceGroups
GetRows
Erp.BO.ResourceGroupSvc/Resources
GetRows
Erp.BO.ResourceSvc/Resources
GetRows
Step 5: Apply Scope to API Key
- Open the API Key named MachineMetrics.
- Apply the newly created MachineMetrics scope onto the key.
- Select the Save button to save your changes.
Step 6: Enter Connection Settings
Enter the Epicor API key, owning company, dedicated user's username and password, and API URL directly in Edge Services. Also enter a MachineMetrics API key in MM_MAPPING_SERVICE_TOKEN; see Create a MachineMetrics API Key. Do not send the values or a credential-sharing link to MachineMetrics staff.
Verifying the Integration
- Open the ERP Error Log and confirm it shows no errors for your site.
- Go to Production → Schedule in MachineMetrics.
- Confirm work orders from Epicor are visible.
- Have an operator start a job in the Operator View.
- Verify the labor ticket appears in Epicor.
- Check the ERP Error Log again and confirm the test added no errors.
Configuration Settings
Enter these values in Edge Services. Variable names identify the connector settings; screen labels may differ.
| Setting | Variable | Required / default | Description |
|---|---|---|---|
| API URL | ERP_API_URL | Required | Epicor API endpoint. |
| Owning company | ERP_COMPANY | Required | Epicor company code. |
| API key | ERP_API_KEY | Required | Epicor key created in Step 2. |
| MachineMetrics API key | MM_MAPPING_SERVICE_TOKEN | Required | Key created in MachineMetrics under Settings → API Keys. See Create a MachineMetrics API Key. |
| MachineMetrics service addresses | MM_MAPPING_SERVICE_URL, MM_MAPPING_AUTH_SERVICE_URL | Required | MachineMetrics endpoints the connector sends data to. Your implementation team provides these values; they differ for GovCloud. |
| Username | ERP_API_USERNAME | Required | Dedicated integration user. |
| Password | ERP_API_PASSWORD | Required | Password for that user. |
| Import labor tickets | ENABLE_LABOR_TICKET_IMPORT | On | Set to false to stop importing Epicor labor tickets. Does not disable outbound writes. |
| Indirect labor | ENABLE_INDIRECT | Off | Enables exporting indirect labor and syncing Epicor indirect codes. |
| API retries | ERP_RETRY_ATTEMPTS | 3 | Retry count for API requests. |
| Request timeout | ERP_REQUEST_TIMEOUT | 30000 ms | API request timeout. |
Your SDM can confirm any site-specific SQL or query configuration. Use Setup and Verification for the shared mapping steps.
Sync Behavior
Active work orders are imported from Epicor. The connector can also import labor tickets; ENABLE_LABOR_TICKET_IMPORT controls that inbound step.
For outbound labor, the connector starts an Epicor activity when a new ticket arrives without a clock-out time. It ends an existing activity when the ticket has a clock-out time and an ERP ticket ID. A ticket that arrives already closed can be started and ended in the same processing path. MachineMetrics job selection configuration affects when the connector receives the ticket.
See Concepts and Data Flow for the distinction between the operator workflow and the connector's ERP write.
Timesheet Sync
Timesheets represent employee clock-in/out sessions and are separate from job labor tickets. The outbound sync processes labor tickets first, then Timesheets.
A Timesheet without a clock-out time calls Epicor's EmpBasicSvc/ClockIn action. A Timesheet with a clock-out time calls EmpBasicSvc/ClockOut. These actions use the employee ID; clock-in also uses the employee's Epicor shift. The connector does not pass the MachineMetrics Timesheet timestamps as backdated attendance times in these calls.
The integration account needs the ClockIn and ClockOut methods listed in Step 4. If job labor sync succeeds but attendance does not, check those permissions and the employee mapping separately. See Timesheets for viewing sessions in ERP Data Studio and correcting them.
Troubleshooting
| Issue | Possible Cause | Solution |
|---|---|---|
| Work orders not appearing | API key expired or invalid | Verify the API key is valid and not expired; regenerate in API Key Maintenance if needed |
| Service calls failing | Access scope missing a required service or method | Confirm all services and methods in Step 4 are enabled on the MachineMetrics scope |
| Scope not taking effect | Access scope not applied to the API key, or scope not marked Active | Re-apply the MachineMetrics scope to the key (Step 5) and confirm the Active box is checked |
| Labor not syncing back | Missing labor methods or insufficient user permissions | Ensure Erp.BO.LaborSvc/Labors methods (StartActivity, Update, EndActivityByEmp, etc.) are enabled on the scope |
| Connection errors | Firewall blocking the Edge device | Ensure the Edge can reach the Epicor API endpoint |
FAQ
What credentials are needed? An Epicor API key, owning company, dedicated user's username and password, and API URL. Enter them in Edge Services.
Can labor tickets be sent before clock-out? Yes. The connector handles starting an activity, ending an existing activity, or starting and ending an activity for a ticket that arrives already closed. When MachineMetrics sends the record also depends on the machine's job selection configuration.
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.