Multi-Site Operations
One fleet view across every plant.
Group machines into sites, lines, and cells. Roll up KPIs across the network. Manage permissions per location.
WHAT YOU GET
Sites, lines, cells in one table
The machine_groups table holds every grouping with a group_type discriminator. Sites, lines, cells, and custom groupings share one schema, so a machine can belong to many groups at once.
Cross-site dashboards
The headquarters view aggregates per-site OEE, downtime hours, and machine count into a fleet dashboard. Compare Stuttgart and São Paulo on the same chart without exporting a single CSV.
Role-based per-site access
An operator at Plant A cannot see Plant B. Tenant isolation is enforced at the database layer with PostgreSQL Row-Level Security; site visibility is layered on top via group membership and RBAC.
TECHNICAL DEPTH
Site-aware everything
Sites are first-class in the data model. Every entity below carries its site context so a manager at Plant A never sees noise from Plant B.
Site-aware alerts
Every alert carries its machine's site context. The Plant A manager's digest shows only Plant A; the corporate reliability lead sees the rollup across sites.
Site-aware reports
Fleet, OEE, downtime, maintenance, and work-order reports can be scoped per site or rolled up across the network.
Time-zone aware rollups
Shift starts in São Paulo are not the same as Stuttgart. OEE and downtime are computed in each site's local time zone, then aggregated at the corporate level.
Nested groups
Plant → Line → Cell hierarchies, as deep as your organisation needs. A machine can belong to a line group, a site group, and a custom critical-assets group simultaneously.
WHAT IT ALSO DOES
Per-site supervisors
Supervisor name is captured per shift log, so the cross-site dashboard shows who was on the floor when a metric moved.
Cross-site benchmarking
Plant A's OEE is 78%, Plant B's is 65%. The Pareto-by-site by reason answers the next question before you have to ask.
Site rollup KPIs
Total downtime hours, total alerts, OEE-weighted average, active work orders, parts spend. One row per site, one row per network.
Multi-currency cost-of-downtime
Per-site cost-of-downtime inputs feed the ROI calculations in the site's local currency.
Five UI languages out of the box
English, German, Spanish, Hungarian, and Chinese. Each user has their own locale, and reports localise at render time.
Drill from fleet to event
Click a poor site OEE to see the line dragging it down, the line to see the machine, the machine to see the event. Every dashboard supports the operations review the same week the question is asked.
FREQUENTLY ASKED
How are sites different from regular machine groups?
Same table, different group_type value. Sites are first-class but the machinery underneath is identical to other groupings. A machine can belong to a site, a line, a cell, and a custom group at the same time.
Can one operator see two sites but not a third?
Yes. Group membership plus the RBAC policy controls per-site visibility. Tenant-level isolation is enforced separately at the database layer.
Is there a per-site billing option?
No. One tenant equals one Paddle subscription. Sites are operational divisions, not commercial ones. If a customer needs distinct billing per plant, they create separate tenants.