How ERP Driven Works on MES-Enabled Machines
Overview
On a machine set to ERP Driven, all job and labor activity is managed in your ERP. Operators start jobs, record labor, and report parts in the ERP. MachineMetrics reflects that activity so part counts, dashboards, and OEE match your system of record.
Operators do not manage jobs or submit labor tickets from ShopPulse on these machines. ShopPulse shows what is running; the ERP drives job and labor state.
⚠️ Machines managed in ShopPulse: If your machine's "Manage jobs in" setting is ShopPulse, operators manage the job queue and submit labor tickets from the tablet. See How to Use ShopPulse on MES-Enabled Machines instead.
An account can run both modes at once — some machines ERP Driven, others managed in ShopPulse.
Feature Availability
| Requirement | Details |
|---|---|
| MES Package | Must be active on the account, and MES must be enabled on the machine. Your administrator handles this. |
| Manage jobs in | Must be set to ERP Driven on the machine. See Configuring a Machine's Production Settings. |
| ERP Connection | Requires a connected ERP. ERP Driven is not available on MES-only accounts. |
| Resource Mapping | The machine must be mapped to an ERP resource. "Record labor as" must be an individual resource — resource groups are not supported in ERP Driven mode. |
| Permissions | Changing job management mode or account-level ERP settings requires IT Admin or higher. |
How It Works
Your ERP is the source of truth. MachineMetrics builds matching records from ERP job and labor activity, then combines them with the machine data it collects directly — cycle times, part counts, downtime — to produce dashboards, reports, and OEE.
What ShopPulse Shows
ShopPulse reflects state rather than acting as a control surface:
- The job currently running, sourced from the ERP
- Live machine data — parts, cycle times, machine state
- Downtime categorization, which operators still perform
The job queue actions available on ShopPulse-managed machines are not offered here.
Labor is recorded in the ERP, so there is no ShopPulse labor ticket submission at end of shift. Operators clock in and out through your ERP's process.
What Comes From Your ERP
| Data | What MachineMetrics Does With It |
|---|---|
| Work orders and operations | Imported so jobs, part numbers, target quantities, and routing are available. |
| Jobs | Created to match the ERP work order operation, so machine data attributes to the right job. |
| Labor tickets | Recorded as they are created, updated, and closed in the ERP, including clock-in and clock-out times. |
| Operator runs | Built from labor ticket activity, showing who ran what and for how long. |
| Good parts | Combined with the machine's part signal to produce part counts and job progress. |
| Rejected parts | Recorded as rejects, feeding part counts and the Quality component of OEE. See Rejected Parts and Reject Reasons. |
Cycle times, machine state, downtime, and the raw part signal always come from the machine itself, in both modes.
When Data Appears
The ERP records activity first, so MachineMetrics reflects it shortly after rather than instantly. A labor ticket closed in the ERP appears once the ERP has recorded it and MachineMetrics has received it.
- Job and labor data moves at the pace of your ERP.
- Live machine data — part counts from the machine signal, machine state, downtime — is unaffected and stays real time.
- If job or labor data looks out of date, check whether the ERP has recorded it yet.
Rejected Parts and Reject Reasons
When a labor ticket in your ERP reports rejected parts, MachineMetrics records a matching reject, so scrap reaches part counts and OEE the same way an operator-entered reject does.
Rejects are recorded when the labor ticket closes. An open ticket's reject count can still change, so MachineMetrics waits for the close. If a closed ticket is reopened in the ERP, its reject is removed until the ticket closes again.
How the reject reason is chosen:
| Situation | What MachineMetrics Records |
|---|---|
| The ticket's reject reason maps to an active MachineMetrics reject reason | That reject reason. |
| The ticket has no reject reason | The account's Default Reject Reason, plus a warning. |
| The ticket's reason is unmapped, or maps to an archived reason | The account's Default Reject Reason, plus a warning. |
| No usable reason and no Default Reject Reason configured | No reject is recorded. A warning is raised. |
Configure a Default Reject Reason so ERP-reported scrap is never dropped. See Setting the Default Reject Reason.
If a ticket's reject count is corrected in the ERP, MachineMetrics updates the reject to match. If the ticket is deleted in the ERP, its reject is removed.
For how rejects roll up into quality reporting and OEE, see the Downtime & Quality Guide.
How to Use It
The tasks below are setup and review. Most require IT Admin or higher.
Setting a Machine to ERP Driven
- Go to Settings → MES and confirm MES is enabled on the machine.
- Confirm the machine is mapped to an ERP resource, and that "Record labor as" is an individual resource rather than a resource group.
- Set "Manage jobs in" to ERP Driven.
- Save.
"Jobs selected by" is locked in this mode. ERP Driven has no operator job selection, so the option is hidden or greyed out. This is not a permissions problem.
Changing job management mode stops active work on the machine. Time the change around a shift change and coordinate with operators.
Setting the Default Reject Reason
The Default Reject Reason applies account-wide and is used when a labor ticket reports rejected parts but has no usable reject reason of its own.
- Go to Settings → Company → System → ERP Dispatch Settings. The setting appears when ERP job dispatch is enabled on the account.
- Choose a reason from the Default Reject Reason list. Only scrap-type reject reasons are available.
- Save.
Set this before relying on ERP-reported scrap. Without it, rejects on tickets with no usable reason are not recorded.
To change the reasons available in this list, go to Settings → Quality → Reject Reasons. See the Downtime & Quality Guide for how reject reasons are structured.
Viewing Job and Labor Data
ERP-sourced jobs and labor appear in the same places as any other job and labor data:
- Machine view — the job currently running and live machine data
- Production reports and dashboards — part counts, OEE, and job progress
- Quality reporting — rejects and reject reasons, including those from the ERP
To review the data MachineMetrics imported from your ERP — work orders, routings, parts, operations, and labor tickets — go to My Apps → ERP Data Studio. This is where to confirm what actually arrived from the ERP when a job or labor ticket is missing or looks wrong. See ERP Data Studio for what it covers and how to request access.
Reviewing Warnings
When MachineMetrics receives ERP activity it cannot fully process — an unmapped reject reason, or rejected parts with no usable reason and no default configured — it records a warning instead of failing silently.
- Review integration issues in the ERP Error Log.
- Correct the cause: add the missing reject reason mapping, un-archive a reason still in use, or configure a Default Reject Reason.
- Confirm the fix on new activity. Existing entries are a historical record and do not clear retroactively — see Error Log Behavior in the ERP Integration FAQ.
Correcting Job or Labor Data
On an ERP Driven machine, corrections are made in your ERP. Adjust the labor ticket, reject count, or job assignment there and MachineMetrics updates to match.
This covers job assignment, clock-in and clock-out times, good and rejected part counts, and reject reasons. Downtime categorization is still managed in MachineMetrics.
FAQs & Troubleshooting
If job, labor, or reject data is missing or looks wrong, start with the ERP Error Log — it records the integration issues behind most of these cases — and use ERP Data Studio to check the data MachineMetrics imported from your ERP.
-
Why is the reject reason in MachineMetrics different from the one entered in the ERP? The ERP's reason is either unmapped or maps to an archived reason, so the Default Reject Reason was used. Add or fix the mapping so future rejects carry the specific reason.
-
Rejected parts were reported in the ERP but no reject appeared. Most often the ticket had no usable reject reason and no Default Reject Reason is configured. Configure one. Also confirm the ticket is closed in the ERP — rejects are recorded on close.
-
A labor ticket is in the ERP but not in MachineMetrics. Check that the machine is mapped to the ERP resource the ticket was recorded against, and that "Record labor as" is an individual resource rather than a resource group. Then check the ERP Error Log.
-
How long until ERP changes appear? Job and labor data appears once the ERP has recorded it and MachineMetrics has received it. Raise persistent delays with support.
Related Articles
- MES (Manufacturing Execution System)
- MES Administrator Guide
- MES Settings
- Configuring a Machine's Production Settings
- How to Use ShopPulse on MES-Enabled Machines — the operator workflow for machines managed in ShopPulse
- Downtime & Quality Guide — reject reasons, scrap vs. non-conforming, and how quality affects OEE
- ERP Integration Guide — includes ERP Data Studio, for reviewing imported ERP data
- ERP Integration FAQ & Troubleshooting
Need Help?
Contact your Solutions Delivery Manager or email support@machinemetrics.com.