Back to Insights
// // insight

Off-the-Shelf MES vs Custom Manufacturing Production Software: TCO, OPC UA Integration Risk, and $120k–$500k…

Commercial manufacturing execution systems (MES) cost between $150,000 and $800,000 upfront with recurring annual licensing of 18% to 25%, suiting standardized, high-volume production. Custom manufacturing production software costs $120,000 to $500,000 to build, eliminates recurring seat fees, and connects directly via OPC UA and MQTT, making it ideal for high-mix, low-volume plants with proprietary workflows.

Published

By Utshab Chakraborty, Founder & CEO, NextGen Coding Company · Technically reviewed by Matthew Manning, Full-Stack Engineer

Off-the-shelf MES vs custom build: which fits your floor?

Off-the-shelf MES suits plants with standard, repetitive discrete manufacturing where S95 data structures match existing workflows out of the box. Custom production software fits operations with high-mix low-volume runs, proprietary testing protocols, non-standard ERP configurations, or facilities where vendor licensing models penalize continuous scaling across connected machine terminals.

Commercial vendors like Rockwell FactoryTalk, Siemens Opcenter, and Dassault DELMIA were engineered for 1,000-person assembly lines running predictable sequences. They bring rigorous compliance modules, out-of-the-box traceability, and certified vendor ecosystems. But they extract a heavy toll in flexibility:

Evaluation DimensionCommercial MES (Rockwell, Siemens, AVEVA)Custom Production Platform (Web + Edge Broker)Lightweight SCADA Overlay (e.g., Ignition + Custom App)
Initial Implementation Cost$250,000 – $800,000+$140,000 – $380,000$90,000 – $220,000
Annual Licensing & Support$30,000 – $150,000/yr$0 (infrastructure hosting only: $4,000–$12,000/yr)$5,000 – $25,000/yr (Ignition licenses)
Time to First Floor Deployment9 to 18 months3 to 5 months (scoped MVP)2 to 4 months
Protocol IntegrationVendor connectors, OPC DA/UA wrappersNative OPC UA, MQTT Sparkplug B, RESTNative OPC UA, Modbus, MQTT, database links
Workflow AdaptabilityLow; requires paid vendor professional servicesComplete; dictated by internal software repoMedium; bounded by platform scripting environment
Shop Floor User ExperienceComplex desktop or Java runtimes, slow browser portsFast, purpose-built mobile/tablet web UIDesigner-built runtime screens
Data Ownership & PortabilityProprietary schemas, locked SQL/Oracle tablesOpen schema (Postgres, ClickHouse, TimescaleDB)Standard relational DB tables

Choosing an off-the-shelf MES is sensible when your enterprise requires formal validation packets out of the box (like FDA 21 CFR Part 11 in pharma or aerospace AS9100) and you have allocated $300,000 for a third-party systems integrator.

A custom build wins when your plant runs non-standard assembly cells, mixes robotics with legacy manual benches, or needs rapid shop-floor UX changes without paying an integrator $220 an hour to update a button.

How much does custom manufacturing software cost compared to commercial MES?

A custom production tracking build typically costs between $130,000 and $340,000 for initial development, followed by $500 to $1,500 monthly for cloud or on-premise infrastructure. A commercial MES carries an initial entry cost of $200,000 to $600,000, but compounds to over $1,000,000 across five years through user tiers, core licensing, and vendor change orders.

The budget math breaks down into three distinct buckets: software licensing, implementation labor, and modification overhead.

The True Cost of Commercial MES

Commercial vendors rarely sell simple software. They sell platforms that demand dedicated integrators.

  • Base software licensing: $60,000 to $250,000 upfront, or $3,000 to $12,000 per seat per year. Add-ons like advanced scheduling, scrap tracking, and SPC analysis trigger separate tier fees.
  • Systems integration labor: The industry rule of thumb is a 2:1 or 3:1 ratio of integration fees to software licensing. A $100,000 software license requires $200,000 to $300,000 in configuration engineering to map floor tags.
  • Change orders: When a production line reconfiguration breaks an MES sequence, vendor consultants bill $180 to $275 per hour. Modifying two production flows typically costs $25,000 to $45,000.
  • Five-year Total Cost of Ownership: Commonly lands between $650,000 and $1,400,000 for a single plant with 40 active workstations.

The Engineering Math of a Custom Build

Building custom manufacturing software does not mean reinventing protocols from scratch. It means building focused web applications on top of robust open industrial stacks.

  • Scoping, architecture, and tag mapping (Weeks 1–3): $25,000 to $35,000. Defines the exact machine states, scrap reasons, and ERP synchronization boundaries.
  • Core backend, edge broker, and telemetry ingestion (Weeks 4–10): $65,000 to $110,000. Sets up OPC UA polling, MQTT brokering, time-series ingest, and core relational database schemas.
  • Shop floor interfaces and operator dashboards (Weeks 8–16): $50,000 to $95,000. Clean, tablet-optimized interfaces for job dispatch, work instructions, barcode scanning, and scrap recording.
  • ERP and warehouse sync (Weeks 12–18): $30,000 to $60,000. Bidirectional sync with SAP, NetSuite, Epicor, or custom ERP via REST or message queues.
  • Five-year Total Cost of Ownership: Initial build of $170,000 to $300,000, plus approximately $10,000 per year for AWS/Azure edge infrastructure and modest maintenance, yielding a 5-year total under $350,000.

The integration reality: OPC UA, MQTT, and legacy PLCs

The failure point in manufacturing software is almost never the database or the UI. The project stalls at the physical layer: extracting reliable data from a mix of Allen-Bradley ControlLogix, Siemens S7-1500, legacy Omron controllers, and serial-connected torque guns.

Commercial MES vendors handle this by selling you proprietary middleware or locking you into Kepware licenses with hundreds of per-driver line items. When modernizing plant operations, teams evaluating legacy modernization services face a fork in the road: wrap the industrial protocol layer cleanly, or stay chained to proprietary runtimes.

A custom industrial software architecture isolates device protocols from application logic using an edge telemetry pipeline:

  1. Physical polling: Direct PLC communication remains handled at the edge by dedicated protocol bridges (Kepware, Ignition Edge, or open-source edge clients like Node-RED or Eclipse Milo).
  2. Standardized payload publication: Edge nodes normalize proprietary PLC tags into typed, structured JSON payloads and publish them via MQTT Sparkplug B or standard OPC UA subscriptions.
  3. Broker ingestion: An industrial message broker (such as EMQX or HiveMQ) routes state changes to a fast consumer daemon.
  4. Time-series and transactional storage: Raw sensor high-frequency updates land in a time-series database (TimescaleDB or ClickHouse), while discrete production events (Run Started, Part Completed, Scrap Logged) commit to PostgreSQL.
// Example: Validated MQTT Sparkplug B message consumer parsing machine telemetry
interface MachineStatePayload {
  machineId: string;
  timestamp: number;
  partsProduced: number;
  cycleTimeMs: number;
  alarmActive: boolean;
  errorCode?: string;
}

export async function processTelemetryEvent(
  payload: MachineStatePayload,
  dbPool: DatabasePool
): Promise<void> {
  const { machineId, timestamp, partsProduced, cycleTimeMs, alarmActive, errorCode } = payload;
  
  await dbPool.query(
    `INSERT INTO machine_telemetry (machine_id, recorded_at, cycle_time_ms, alarm_state, error_code)
     VALUES ($1, to_timestamp($2 / 1000.0), $3, $4, $5)`,
    [machineId, timestamp, cycleTimeMs, alarmActive, errorCode || null]
  );

  if (partsProduced > 0) {
    await dbPool.query(
      `UPDATE active_work_orders 
       SET completed_quantity = completed_quantity + $1, updated_at = NOW()
       WHERE machine_id = $2 AND status = 'IN_PROGRESS'`,
      [partsProduced, machineId]
    );
  }
}

For high-throughput edge nodes processing millisecond-level telemetry, teams occasionally evaluate systems programming languages. When deciding whether to build edge collection agents in Go, C#, or lower-level runtimes, review our analysis on whether you should rewrite performance-critical layers in Rust. For 90% of discrete tracking, Go or Node.js on an edge gateway processes thousands of PLC tags per second with minimal CPU load.

How long does an internal manufacturing software build take?

A custom manufacturing software build takes 14 to 22 weeks from architecture scoping to the first live production line deployment. In contrast, commercial MES projects run an average of 9 to 18 months, prolonged by extensive vendor blueprinting phases, off-site custom development cycles, and multi-tier network configuration requirements.

Delivering custom production software within five months requires a sequenced deployment schedule that proves value on one cell before touching the broader facility:

  1. Weeks 1–3: Tag discovery and process mapping. Audit the target line. Identify specific PLC tags (running bit, part count register, reject codes) and reconcile discrepancies between the physical cycle and the ERP's bill of materials.
  2. Weeks 4–7: Edge broker and core database scaffolding. Deploy edge collection gateways. Establish reliable OPC UA or MQTT polling. Validate that telemetry flows uninterrupted into a staging PostgreSQL/TimescaleDB schema without dropped packets during shift handoffs.
  3. Weeks 8–12: Operator workstation MVP. Deliver the line interface. Operators can log in, select an assigned work order, view live piece counts pulled from the PLC, and flag scrap reasons with single-tap selections.
  4. Weeks 13–16: ERP bi-directional sync. Connect the production software to the business system. Automate backflushing: when a work order completes on the line, the platform issues an API call to deduct raw components and record finished goods in inventory.
  5. Weeks 17–20: Plant rollout and exception handling. Address real-world edge cases: network disconnects, mid-job line reassignments, rework routings, and manual overrides. Train line leads and freeze core schemas.

Where commercial MES fails: high-mix workflows and ERP lock-in

The core weakness of commercial MES packages is rigid data dogmatism. Vendors build their software around the assumption that every plant runs long sequences with predictable cycle times.

When your manufacturing operation involves custom fixtures, variable routings, or dynamic rework steps, off-the-shelf software breaks down in three predictable areas:

1. The High-Mix Routing Wall

In high-mix discrete manufacturing, a work order might route through CNC machining, skip manual deburring based on tolerance sensor readings, go to an external plating vendor, and return for custom assembly. Modifying a routing sequence in a commercial MES often requires altering global workflow trees, rebuilding bill of process definitions, and recalibrating station validations. In custom software, routing logic is represented as a flexible state machine governed by simple database rules your internal team controls.

2. Tablet and Mobile Usability

Commercial MES user interfaces are often desktop ports designed a decade ago. They feature dense forms, microscopic data grids, and slow touch targets that cause friction on the shop floor. Operators bypass them by keeping notes on scrap paper and batch-entering data at shift's end, defeating the purpose of real-time tracking. Custom production software uses modern web frameworks (React, Tailwind) designed specifically for industrial touch displays, barcode scanners, and gloved operation.

3. ERP Integration Captivity

Commercial MES vendors want to be your single operational source of truth. They push proprietary connectors to SAP or Oracle that cost tens of thousands of dollars and intentionally make it difficult to query your own floor data from outside platforms. With a custom solution, your relational database remains accessible. You can query your own tables, spin up lightweight dashboards in Metabase or Grafana, and write clean REST endpoints that integrate with modern logistics tools.

The architectural blueprint: edge brokers to time-series DBs

A modern production tracking system does not require multi-million-dollar infrastructure. It requires a clean separation of concerns across four technical layers.

  • Edge Layer: Lightweight industrial PCs (such as OnLogic or Advantech boxes) running on the plant subnet. These host secure runtime clients that poll local PLCs over Ethernet/IP or Profinet and publish standardized messages upstream over TLS.
  • Data Ingestion Layer: An MQTT broker paired with an event consumer. The broker receives machine state events, handles intermittent floor network drops via quality-of-service guarantees, and delivers clean JSON streams to the backend application.
  • Application and State Layer: Built using enterprise application runtimes (such as Node.js, Go, or .NET Core). It manages business logic: calculating Overall Equipment Effectiveness (OEE), managing takt time intervals, handling bill-of-materials consumption, and dispatching work orders.
  • User Interface Layer: Responsive web applications running inside secure kiosk browsers on standard commercial tablets or sealed industrial touchscreens.

What this means for your team

If your manufacturing operations run standard, unchanging processes in heavily regulated medical or defense environments with an allocated seven-figure budget, buy a commercial MES and contract an established systems integrator.

If your plant runs high-mix lines, balances automated machinery with manual assembly, or needs to modernize floor tracking without locking up hundreds of thousands of dollars in annual software licenses, building custom manufacturing software provides a clear return on investment. You retain ownership of your operational data, eliminate vendor seat taxes, and adapt the software whenever your production layout changes.

To evaluate your plant's data architecture, review PLC integration risks, or scope a focused production tracking build, contact our engineering team. We will examine your floor setup, review your machine protocols, and map an actionable engineering roadmap within days.

Frequently asked

How much does commercial MES cost compared to custom software?
Commercial MES typically requires $150,000 to $800,000 in upfront licensing and integration, with recurring annual support running 18% to 25%. A custom build costs $120,000 to $500,000 upfront and requires only basic cloud or on-premise infrastructure hosting. Over five years, custom software often saves hundreds of thousands of dollars in seat and change-order fees.
When should a plant choose off-the-shelf MES instead of building custom software?
Off-the-shelf MES is best for operations with standard, repetitive production sequences governed by strict regulatory validation like FDA 21 CFR Part 11. Plants with predictable S95 data models benefit from pre-built compliance modules and established integrator networks. It fits organizations willing to adapt internal floor processes to fit vendor conventions.
How long does it take to implement manufacturing production software?
Custom manufacturing software typically takes 14 to 22 weeks to deploy on an initial production line, scaling iteratively across cells. Commercial MES deployments usually require 9 to 18 months due to heavy vendor scoping, complex middleware configuration, and prolonged blueprinting. Incremental rollouts reduce operational risk regardless of the chosen path.
How do custom manufacturing platforms connect to floor PLCs?
Custom platforms use edge protocol gateways like Ignition Edge, Kepware, or open-source clients to poll PLCs via OPC UA or Modbus. These edge nodes structure sensor data into typed JSON payloads published through MQTT Sparkplug B brokers to relational and time-series databases. This approach decouples shop-floor hardware from core business applications.
Why do commercial MES implementations frequently fail or stall?
MES projects often stall because high-mix workflows and dynamic routing do not fit rigid vendor schemas without expensive custom engineering. Operators also reject clunky, legacy desktop interfaces in favor of paper notes, compromising real-time data collection. Vendor change orders and integration billables can quickly consume the original capital budget.

Related questions

More answers in Insights or see AI development services, or hire U.S.-based developers.

// let's build something

Start your project request

Tell us what you're building — engineering capacity, AI, QA, cloud, or a fixed-scope software engagement. Our NYC team responds within one business day.

New York City, USAContact form
// what to expect
  • Response within 1 business day
  • 30-minute discovery conversation
  • Recommended engagement model & pricing
  • NYC-focused — in-person available
Start Project Request

Inbound sales only. All form information is encrypted in transit.