MTBF, Availability, OEE and Safety need monthly figures that aren't on work orders — tap ✎ KPI inputs to enter Operating Hours, Performance %, Quality % and Safety Incidents for {{kpiMonthOptions.find(o=>o.value===S.kpiMonth)?kpiMonthOptions.find(o=>o.value===S.kpiMonth).label:S.kpiMonth}}.
No machines are tagged as blown film extruders yet. Set an asset's Category to include “blown film” or “extruder”, then run again.
Machines in scope
{{m.code}} · {{m.name}}
⚠ Prediction accuracy is limited by data. Only {{S.predictive.data.coverage.withPartsPct}}% of completed jobs on these machines ({{S.predictive.data.coverage.withParts}} of {{S.predictive.data.coverage.completedWos}}) record which parts were replaced. To predict a part's life, the agent needs its replacement history — pick the spare(s) used when completing a work order. Accuracy climbs quickly as this habit builds.
Part watch-list
No replacement history yet on these machines — the watch-list fills in as parts are logged on work orders.
Machine
Part
Predicted
Life used
Spare
Risk
Recommended action
{{w.assetCode}}
{{w.assetName}}
{{w.partName}}
{{w.partNo}} · every ~{{w.expectedLifeDays}}d · {{w.confidence}}
Predictions are learned from your logged work orders — no sensors. Accuracy improves as more replacements are recorded. Draft “Predicted:” work orders are raised automatically for Critical/High parts.
Spares & Inventory
Stock on hand vs. consumed · {{S.db.inventory.length}} spare items
All work completed in the period, grouped by machine — opens a printable PDF.
Preventive Maintenance Compliance
On-time Compliance
{{pmReport.pct}}%
{{pmReport.onTime}} of {{pmReport.activeCount}} active on schedule
Overdue Tasks
{{pmReport.overdue.length}}
need attention now
Due in 7 days
{{pmReport.dueSoon.length}}
coming up
Completed (30 days)
{{pmReport.completed30}}
tasks ticked done ✓
Overdue PM Tasks
Task
Asset
Frequency
Due
Overdue
{{s.task}}
{{assetName(s.assetId)}}
{{s.frequency||freqLabel(s.frequencyDays)}}
{{s.nextDue}}
{{-s.days}}d
No overdue PM tasks — fully on schedule. 👍
Due in 7 Days
Task
Asset
Frequency
Due
In
{{s.task}}
{{assetName(s.assetId)}}
{{s.frequency||freqLabel(s.frequencyDays)}}
{{s.nextDue}}
{{s.days}}d
Nothing due in the next 7 days.
Work Orders
Total WOs
{{S.db.workOrders.length}}
{{report.completed.length}} completed
PM vs CM
{{report.ratio}}%
{{report.pm}} PM · {{report.cm}} CM
Total Downtime
{{fmtDur(report.downtime)}}
completed jobs
Downtime by Asset
Asset
Jobs
Downtime
{{k==='none'?'(unassigned)':assetName(k)}}
{{v.jobs}}
{{fmtDur(v.downtime)}}
No completed work orders.
Top Consumed Spares
Part
Used
Avail
{{c.i.name}}
{{c.i.partNo}}
{{c.used}}
{{c.i.qtyAvailable}}
No spares consumed yet.
Maintenance Log (completed)
Date
WO #
Type
Asset
Title
Tech
Downtime
{{w.completedDate||'—'}}
{{w.woNo}}
{{w.type==='Preventive'?'PM':'CM'}}
{{assetName(w.assetId)}}
{{w.title}}
{{w.assignedTo||'—'}}
{{fmtDur(w.downtimeHours)}}
No completed maintenance yet.
Audit Log
Who did what — newest first
When
User
Action
Details
{{fmtTs(a.ts)}}
{{a.username}}
{{a.action}}
{{a.detail}}
No activity recorded yet.
{{t('Technicians')}}
People who can be assigned tasks · each gets an app login
Technicians sign in with their username & password, see the tasks assigned to them under My Tasks, and can scan a machine QR to view or self-assign that machine's open jobs.
🧰 No technicians yet — add your first one.
Name
{{t('Trade')}}
{{t('Phone')}}
Username
{{u.name||'—'}}you
{{u.trade||'—'}}
{{u.phone||'—'}}
{{u.username}}
Users
Who can access this plant
Admin: full control — delete data, manage users, view the audit log. User: upload, download/export, create & edit — but cannot delete data or manage users.
Work Orders → + New Work Order. Pick the type, machine and spares used, set the status. Marking it Completed deducts the spares from stock.
How do I mark a PM task done?
On PM Schedules, tick the Done ✓ checkbox on that row. The next due date moves forward automatically.
How do I upload from Excel?
Backup / Data → download a template, fill it in Excel, then “↑ Upload file”. Re-uploading updates existing rows.
How do I get a new account?
On the login screen tap “+ Request an account”, choose your plant and submit. An admin approves it.
How do I install it on my phone?
Android (Chrome): ⋮ → Add to Home screen. iPhone (Safari): Share → Add to Home Screen.
❓ Ask a question
Describe your problem — you'll get an instant suggested answer, and an admin can reply too.
💡 Instant answer
{{S.help.lastAuto}}
My questions
{{q.subject}}{{q.status}}
{{q.message}}
Answer · {{q.answeredBy}}: {{q.answer}}
💡 Suggested: {{q.autoAnswer}}
You haven't asked any questions yet.
Backup / Data
Bulk upload, export & restore — for {{S.plant.name}}
Bulk Upload via Excel / CSV
Download a template, fill it in Excel, then upload the saved .xlsx (or .csv). Rows are matched by code / part number — existing entries are updated, new ones added.
Last breakdown: {{qrHealth.overview.lastBreakdown||'—'}} · Last PM: {{qrHealth.overview.lastPM||'—'}}
⚠ {{qrHealth.failurePatterns[0].name}} failing faster than planned — {{qrHealth.failurePatterns[0].count}}× · every {{qrHealth.failurePatterns[0].avgDays}}d vs planned {{qrHealth.failurePatterns[0].planned}}d