Free Forever — No licensing fees, ever
100% Open Source — Full code access on GitHub
Self-Hosted — Your data, your infrastructure

Documentation - Open Manufacturing Execution System

Complete guide to OpenMES — from initial setup and daily production management to operator execution.

1. Getting Started

Login

Navigate to your OpenMES URL. Enter your username and password, then click Sign In. If registration is enabled, you can create a new account via the "Create account" link.

OpenMES Login page

Registration

New users register with a name, username, email and password. By default, new accounts receive the Operator role. An administrator can later change the role.

OpenMES Registration page

First Steps After Login

As an Admin, the recommended setup order is:
  1. Create a Production Line (where products are made)
  2. Create a Product Type (what you produce)
  3. Define a Process Template with steps (how you produce it)
  4. Create your first Work Order (a production job)

2. Dashboard

OpenMES Admin Dashboard

The Admin Dashboard provides a real-time overview of your production.

KPI Cards

Card Description
Total Work Ordersdocs_s2_kpi1
In Progressdocs_s2_kpi2
Pendingdocs_s2_kpi3
Blockeddocs_s2_kpi4
Done Todaydocs_s2_kpi5
Open Issuesdocs_s2_kpi6
Blocking Issuesdocs_s2_kpi7
Active Linesdocs_s2_kpi8

Use the Line Filter dropdown to filter KPIs by a specific production line. The dashboard also shows Recent Work Orders with their status and progress bar, Open Issues requiring attention, and Quick Links to common actions.

3. Production Lines

Navigation: Sidebar > Production > Lines

Production Lines management

A production line represents a physical area in your factory where products are manufactured.

Creating a Line

  1. docs_s3_step1
  2. docs_s3_step2
  3. docs_s3_step3

Managing a Line

  • docs_s3_m1
  • docs_s3_m2
  • docs_s3_m3
  • docs_s3_m4
  • docs_s3_m5

4. Product Types

Navigation: Sidebar > Production > Product Types

Product Types

Product types define the categories of products you manufacture.

Process Templates

Each product type can have one or more Process Templates — these define the sequence of manufacturing steps. Add Template Steps in order with a name, step number, estimated duration, and optional required role. When a work order is created, the active process template is "snapshotted" — so later changes to the template don't affect existing orders.

5. Work Orders

Navigation: Sidebar > Orders > Work Orders

Work Orders list

A work order is the central entity — it defines what to produce, how many, where, and by when.

Creating a Work Order

Create Work Order form

Click + New Work Order and fill in: Order Number, Product Name, Planned Quantity, Line, Product Type, Priority (1–5), and Due Date.

Work Order Lifecycle

PENDING → ACCEPTED → IN PROGRESS → DONE
                   ↘ PAUSED → resumed → IN PROGRESS
                   ↘ BLOCKED
         ↘ REJECTED
         ↘ CANCELLED
From To Who Notes
PendingAcceptedSupervisor / Admindocs_s5_t1
PendingRejectedSupervisor / Admindocs_s5_t2
AcceptedIn ProgressSupervisor / Admindocs_s5_t3
In ProgressPausedSupervisor / Admindocs_s5_t4
In ProgressBlockedSystem / Admindocs_s5_t5
In ProgressDoneSupervisor / Admindocs_s5_t6
PausedIn ProgressSupervisor / Admindocs_s5_t7

6. CSV / Excel Import

Navigation: Sidebar > Orders > CSV Import

CSV Import

Import work orders in bulk from CSV, XLS or XLSX files.

Import Process

  1. docs_s6_step1
  2. docs_s6_step2
  3. docs_s6_step3
  4. docs_s6_step4
  5. docs_s6_step5
Saved Mappings: You can save column mappings as profiles for repeated imports with the same file format. Select a saved mapping before uploading to auto-fill the column mapping.

7. Issues & Quality

Navigation: Sidebar > Orders > Issues

Issues list

Issues track quality problems, equipment failures, or any production anomalies.

Issue Types

Issue Types

Before creating issues, define issue types (e.g., "Machine Failure", "Quality Defect", "Material Shortage"). Navigate to Orders > Issue Types to manage them.

Issue Lifecycle

OPEN → ACKNOWLEDGED → RESOLVED → CLOSED
  • docs_s7_l1
  • docs_s7_l2
  • docs_s7_l3
  • docs_s7_l4

8. Schedule & Shifts

Weekly Schedule

Navigation: Sidebar > Schedule

Weekly Schedule

The schedule view displays work orders on a weekly calendar grid, organized by production line. Use the Previous/Next buttons to navigate weeks, or click Today to jump to the current week.

Shifts

Navigation: Sidebar > Admin > Shifts

Shifts management

Define work shifts with start and end times (e.g., Morning: 06:00–14:00, Afternoon: 14:00–22:00, Night: 22:00–06:00). The system tracks which shift is currently active.

9. Users & Roles

Navigation: Sidebar > Admin > Users

Users management

Account Types

TypePurpose
Userdocs_s9_type1
Workstationdocs_s9_type2

Roles

RoleAccess
Admindocs_s9_role1
Supervisordocs_s9_role2
Operatordocs_s9_role3

10. Reports

Navigation: Sidebar > Orders > Reports

Reports
  • docs_s10_r1
  • docs_s10_r2
  • docs_s10_r3
  • docs_s10_r4

Filter reports by: production line, date range, or week/month/year.

11. Audit Logs

Navigation: Sidebar > Admin > Audit Logs

Audit Logs

Every change in the system is logged: who made the change, what was changed (entity type and ID), when (timestamp), and old values vs new values.

Use audit logs for compliance and traceability, investigating unexpected changes, and tracking user activity. Export to CSV for external archiving.

12. Machine Connectivity (MQTT)

Navigation: Sidebar > Connectivity

Connectivity settings

OpenMES can connect to industrial machines via MQTT protocol.

Setting Up MQTT

  1. docs_s12_step1
  2. docs_s12_step2
  3. docs_s12_step3
  4. docs_s12_step4

13. Modules

Navigation: Sidebar > Modules

Modules

OpenMES supports a plugin system for extending functionality.

  • docs_s13_l1
  • docs_s13_l2
  • docs_s13_l3

14. Settings

Settings
  • docs_s14_l1
  • docs_s14_l2
  • docs_s14_l3
  • docs_s14_l4

15. Operator View

Operator - Select Line

The operator interface is designed for shop floor use:

  1. docs_s15_step1
  2. docs_s15_step2
  3. docs_s15_step3
  4. docs_s15_step4

Batch Execution

Open a work order, click Create Batch to start a production run, then execute steps one by one (Start → Complete). Each step tracks: who executed it, start time, end time, and duration.

16. Supervisor View

Supervisor Dashboard

Supervisors have a focused dashboard with KPI cards filtered by their assigned lines, work order management (accept, reject, pause, resume, complete), issue management (acknowledge, resolve, close), and reports for their lines. Supervisors cannot manage system settings, users, or modules — those are Admin-only features.

17. REST API

OpenMES provides a full REST API at /api/v1/ for integration with external systems.

Authentication

# Login (returns token)
curl -X POST https://your-domain.com/api/auth/login \
  -d "username=admin&password=YourPassword"

# Use token in subsequent requests
curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://your-domain.com/api/v1/work-orders

Available Endpoints

Resource Methods Description
/api/v1/linesGETdocs_s17_e1
/api/v1/work-ordersGET, POST, PUT, DELETEdocs_s17_e2
/api/v1/work-orders/{id}/batchesGET, POSTdocs_s17_e3
/api/v1/batch-steps/{id}/startPOSTdocs_s17_e4
/api/v1/batch-steps/{id}/completePOSTdocs_s17_e5
/api/v1/issuesGET, POST, PUT, DELETEdocs_s17_e6
/api/v1/issue-typesGET, POST, PUTdocs_s17_e7
/api/v1/analytics/overviewGETdocs_s17_e8
/api/v1/reports/production-summaryGETdocs_s17_e9
/api/v1/audit-logsGETdocs_s17_e10

18. Installation

Docker (recommended)

git clone https://github.com/Mes-Open/OpenMes.git
cd OpenMes
cp .env.example .env
# Edit .env — set POSTGRES_PASSWORD, ADMIN_PASSWORD, DOMAIN
docker compose up -d

The application will be available at the configured domain or http://localhost.

Apache2 (manual)

git clone https://github.com/Mes-Open/OpenMes.git /var/www/openmmes
cd /var/www/openmmes/backend
composer install --no-dev --optimize-autoloader
npm ci && npm run build
cp .env.example .env
php artisan key:generate
# Edit .env — configure DB_*, APP_URL
php artisan migrate --force
php artisan db:seed
chown -R www-data:www-data storage bootstrap/cache

Configure Apache virtual host to point DocumentRoot to /var/www/openmmes/backend/public.

Tire Production Workflow Example

This walkthrough demonstrates a complete production scenario — from Admin setup through Supervisor management to Operator shop floor execution — using automotive tire manufacturing as the example.

Scenario: AutoRubber Inc. needs to produce 500 P225/65R17 All-Season Tires for a client, due in 5 days.

Part 1: Admin — System Setup

The Admin configures the system once. After that, Supervisors and Operators work within this structure daily.

docs_ex_lines_title

CodeNameDescription
MIX-01Mixing Linedocs_ex_line1
BUILD-01Building Line 1docs_ex_line2
CURE-01Curing Linedocs_ex_line3
QC-01Quality Controldocs_ex_line4

docs_ex_template_title

#NameEst. DurationDescription
1Rubber Compound Mixing45 mindocs_ex_step1
2Component Preparation30 mindocs_ex_step2
3Tire Building20 mindocs_ex_step3
4Curing / Vulcanization15 mindocs_ex_step4
5Quality Inspection10 mindocs_ex_step5
6Final Marking & Packaging5 mindocs_ex_step6

docs_ex_csv_title

CSV Upload
Column mapping
Import result

Part 2: Supervisor — Production Management

docs_ex_accept_title

Work Order detail - PENDING
Work Order accepted

docs_ex_monitor_title

Dashboard with live data

Part 3: Operator — Shop Floor Execution

docs_ex_login_title

Operator - Select Line

docs_ex_queue_title

Operator queue

docs_ex_batch_title

Operator work order detail
Operator batch steps execution

docs_ex_progress_title

Work order in progress - 40%
Work order completed - 100%

The Complete Flow

  ADMIN SETUP
  Lines → Product Types → Process Templates → Issue Types
  Shifts → Users → Work Orders (or CSV Import)
          ↓
  SUPERVISOR FLOW
  PENDING —Accept—> ACCEPTED —Start—> IN PROGRESS
                                          ↓
                                PAUSED / BLOCKED / DONE
          ↓
  OPERATOR FLOW
  Select Line → Work Queue → Open Work Order
                                      ↓
                              Create Batch (target qty)
                                      ↓
                             Execute Steps 1→2→3→4→5→6
                                      ↓
                             Create Next Batch (repeat)

Integration with External Systems

ERP Integration (SAP, Comarch, Enova, Odoo)

Use the CSV/XLS Import feature or the REST API to push orders programmatically from your ERP. Pull production results back via the Reports API.

# Push order from ERP
curl -X POST https://your-openmes.com/api/v1/work-orders \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"order_no":"SAP-4500012345","product_name":"P225/65R17","planned_qty":500,"priority":4,"due_date":"2026-05-01"}'

E-commerce Integration

OpenMES has a PrestaShop connector module that synchronizes shop orders into production orders. Customer places order → connector creates a Work Order → production completes → status syncs back.

Machine Connectivity (MQTT / IoT)

Connect directly to factory machines via MQTT. Your PLCs/SCADA publish data to an MQTT broker, OpenMES subscribes and maps incoming data to quality checks or automated alerts.

Ready to Try OpenMES?

Explore the live demo or deploy your own instance in minutes with Docker.