▎ Hi all — I have been building an open-source MES in the evenings: FactorySemantics MES (Apache-2.0, Python, OPC UA in, REST and MCP out). It went public this week as 0.1.2 and aims at the list in erpnext#50827: machine monitoring, downtime with reason codes, OEE that shows an honest “unknown” for time it was not watching, PLC/OPC UA integration — with ERPNext staying the system of record for orders, BOMs and stock.
▎
▎ What the ERPNext connector does today: a submitted Work Order becomes an MES work order (the production item must be a material code both sides know). When the MES finishes the order it posts a real Manufacture Stock Entry against that Work Order, so quantity, stock movement and costing land where ERPNext expects them. Two allow_on_submit custom fields on Work Order carry “the MES has taken this” and “what the MES actually counted”. The connector is a module inside the Python package, not a Frappe app yet; a thin Frappe-side app for the Marketplace is planned.
▎
▎ Honest status: pre-alpha, simulated plants only, no real plant yet.
▎ Per-operation confirmations at Job Card level are the next milestone, not done.
▎
▎ Two questions before I build that next piece:
▎ 1. Is Job Card the right landing place for per-operation confirmations, or would you rather see a dedicated DocType?
▎ 2. Would you want OEE and downtime shown inside ERPNext (embedded pages) or left in the MES with a link?
▎
▎ Repo: GitHub - factorysemantics/factorysemantics-mes: An open-source, modular, agent-native Manufacturing Execution System. OPC UA in, honest OEE out, an ERPNext connector and an MCP agent surface. · GitHub · Docs: docs.factorysemantics.com · Demo (simulated cutlery plant; leave an email for a link): Open the plant