πŸ“˜ Next PMS β€” User Guide

Project management, time tracking, weekly planning and team performance for Enfono. This guide covers everything from your first check-in to how management reads the Performance Score.

App: next_pms · Frappe v15 · Access: /next-pms

Overview

Next PMS is Enfono's project management system: sprint-based IT project tracking with a built-in timer, attendance check-in, weekly capacity planning, meeting calendar, client portal and automated reporting.

AreaWhat you do there
ProjectsSprints, Kanban board, Gantt, budget & team
My TasksYour assigned tasks across all projects
Time LogsTimer history β€” every logged work session
Weekly PlanManagement's projects Γ— people hour allocations for the week
CalendarScheduled meetings with attendees and mandatory minutes
Task ReportFilterable task table + Productivity + Performance (management) tabs
Client PortalToken-based project view for customers β€” no login needed

Getting Started

  1. Log in at https://office.enfono.com/next-pms with your ERPNext account. No PMS menu? Ask an admin to enable your PMS Access (Settings β†’ Team β†’ User Management).
  2. Check in β€” click ● Check In at the bottom of the sidebar when you start your day. Check out when you leave. This is your attendance record.
  3. Open My Tasks β€” everything assigned to you, sorted by priority and due date.
  4. Start the timer on the task you're working on (or press T). The timer is the only thing that counts as logged work hours.
  5. Stop the timer when you switch tasks or take a break. Move the task across the Kanban board as it progresses.
⚠️ Attendance β‰  work hours. Check-in proves you were present; the timer proves what you worked on. Being checked in all day with no timer running = 0 logged hours in every report.
My Tasks view
My TasksEverything assigned to you across projects β€” start the timer here, move cards as work progresses.

Roles & Access

RoleAccess
Next PMSBase role β€” required for everyone using the app
PMS ManagerFull control of own/assigned projects, team management, budgets, all reports, Performance tab
PMS DeveloperWork on assigned tasks, own time logs; reports/settings hidden by default
PMS ViewerRead-only on assigned projects
PMS CustomerClient portal only

System Manager / Administrator see everything. Per-user fine-tuning (sidebar items, project tabs, feature switches) lives in User Detail β†’ Permissions (admin only).

βš™οΈ Admin Guide

Everything below is admin-only (System Manager / Administrator). All of it lives in the SPA under Settings β†’ User Management β€” no desk access needed except where noted.

1. Register / onboard a user

Any ERPNext user on the site can be given PMS access β€” you do not create a separate PMS account.

  1. Open Settings β†’ User Management (admin only).
  2. Find the person in the user list (they must already exist as an enabled ERPNext System User; create them in the desk User list first if not).
  3. Toggle PMS Access ON. This grants the base Next PMS role plus PMS Developer as the starting role.
  4. Set their functional role from the dropdown β€” PMS Manager / PMS Developer / PMS Viewer. Changing the role replaces the previous one (the base role stays).
  5. For a client contact, give PMS Customer instead and share a portal token (see Client Portal).
⚠️ Toggling PMS Access OFF removes all PMS roles (including the base role) β€” the person disappears from team pickers, reports and the leaderboard. Their historical time logs and snapshots are kept.

2. Set the hours baseline

In User Management β†’ settings, set Working Hours / Day (default 8). This single number is the bar behind Utilization, every target, and the whole Performance Score. Sundays, each employee's holiday list and approved leave are removed automatically β€” you do not configure those here.

πŸ’‘ For leave/holiday to actually reduce a person's target, they need an Employee record with a Holiday List and approved Leave Applications (standard HR doctypes). Without an Employee record the app falls back to "all non-Sundays are working days".

3. Configure automated emails

Same User Management β†’ settings panel. Each toggle maps to one scheduled job (full list in Automated Emails):

  1. Daily AI report β€” turn on, set the recipient, and paste an AI provider key + model (used only to write the narrative). Fires 03:00 daily.
  2. Weekly summary β€” turn on and set the Weekly Team Summary Recipient. This one address also receives the monthly leaderboard. Members always get their own copy. Fires Saturday 07:00.
  3. Attendance reminders β€” turn on and set manager digest recipients. Fires 08:30 on working days.
  4. Save. Changes take effect on the next scheduled run β€” no restart needed.
πŸ’‘ The monthly Performance leaderboard + score emails (1st, 08:00) are ON by default. To disable them, set monthly_performance_enabled = 0 on the PMS AI Settings single doctype in the desk (this one toggle isn't in the SPA panel yet).

4. Per-user permissions

Fine-grained control β€” which sidebar items, project tabs and features (e.g. finance/cost visibility) a user sees β€” lives in User Detail β†’ Permissions (open a user from User Management). Managers see everything relevant to their projects by default; developers get a restricted set.

5. First-time setup checklist

  1. Enable PMS Access for the team; set one PMS Manager.
  2. Set Working Hours / Day and turn on the emails you want.
  3. Create a Project, add team members with hourly rates (rates drive cost + budget), set a budget, and move it to Active (timers are blocked on Planning-stage projects).
  4. Publish the first Weekly Plan so Plan Adherence has something to score.
  5. Ensure staff check in and run timers from day one β€” every report is empty until there are time logs.

Projects & Sprints

Project lifecycle

Draft→ Active→ On Hold→ Completed

A project holds: budget (mandatory), hourly-rated team members, sprints, tasks, expenses and client-portal settings. Budget utilisation is tracked automatically from timer cost β€” alerts fire at 80%.

Sprints

Planning→ Active→ Completed

Plan the backlog by dragging tasks into a sprint, activate it, and track burn on the project dashboard and Gantt view.

Tasks & Kanban

Backlog→ To Do→ In Progress→ In Review→ Done
FieldWho sets itWhy it matters
Estimated hoursPM (β‰ˆ90% of the time)Feeds Efficiency and the Performance Score's Delivery dimension
Due datePM / assigneeFeeds Timeliness and overdue counts
Actual hoursAutomatic from timerNever typed by hand
Priority / Type / ReviewerPM / assigneeFiltering, review flow
πŸ’‘ Estimate honestly and keep due dates real β€” these two fields drive most of the evaluation metrics. Comment with @mention to notify a teammate.

Time Tracking

  1. Open the task β†’ click Start Timer (or press T).
  2. Work. The elapsed time survives page reloads. A reminder fires if a timer runs 4+ hours.
  3. Stop when done or switching. Duration and cost (hours Γ— your hourly rate) save automatically as a PMS Time Log.

Review or fix your entries under Time Logs. Every report β€” daily AI report, weekly email, Productivity, Performance β€” reads from these entries.

Animation: Start Timer button becomes a running timer with elapsed time, then stops
β–Ά WalkthroughOne click starts the timer; it counts up live and survives reloads; click again to stop and save a time log.
Global running-timer bar showing task and elapsed time with a Stop button
Running barWhile a timer runs, a bar at the top shows the task and live elapsed time from anywhere in the app β€” Stop is always one click away.
⚠️ Forgot the timer? Log time the same day where possible. Reports window hours by the time-log date; late back-filling distorts your daily consistency metric.

Check-In / Check-Out

Weekly Plan

Management publishes an Excel-style projects Γ— people matrix every week: planned hours per (project, member), plus priorities, closures and a watch list.

Weekly Plan projects Γ— people allocation matrix
Weekly PlanThe published plan β€” hero stats, per-person load vs capacity, and the projects Γ— people allocation matrix.
Animation: clicking Edit plan opens the allocation matrix builder
β–Ά WalkthroughManagers click Edit plan (or + New week) to open the matrix builder.
Weekly plan allocation matrix builder with capacity and per-cell hours
Matrix builderSet hours per person Γ— project; column totals flag over/under capacity. Tick Published to make the week visible and scoreable (feeds Plan Adherence).

Calendar & Meetings

Calendar view with scheduled meetings
CalendarScheduled meetings with attendees; minutes are mandatory before a meeting is complete.

Task Report

Three tabs under Task Report:

TabAudienceContents
TasksAllFilterable task table (project, user, status, priority, type, date window) with cost summary for finance-enabled users
ProductivityAll (own data) / managers (anyone)Per-employee: attendance, office hours, logged hours, tasks, on-time %, Efficiency, Utilization, day-wise chart, per-project table, leave & holiday breakdown
PerformanceManagement onlyComposite Performance Score + full methodology documentation (see below)
πŸ’‘ Productivity periods (5d/10d/30d…) are rolling windows ending today β€” not calendar weeks. See "Metrics Explained" for why this matters.
Task Report β€” Tasks tab with filters and totals
Tasks tabFilter by project, user, status, priority, type and date window; totals for tasks, estimated/actual hours and cost update live.
Task Report β€” Productivity tab showing one employee's stats
Productivity tabPer-employee attendance, office vs logged hours, Efficiency and Utilization side by side, on-time completion, and a per-project breakdown.

Metrics Explained β€” Utilization vs Efficiency

Two percentages appear across Next PMS and are not comparable to each other:

UtilizationEfficiency
Formulalogged hours Γ· target hours Γ— 100estimated hours Γ· actual hours Γ— 100
Question"Did I log enough hours against the 8h/day bar?""Were the task estimates accurate?" (>100% = faster than estimated)
Low value meansUnder-logged β€” low activity or timers not runSlower than estimated (or tight estimates)

Target hours β€” the fair bar

Target = 8h Γ— effective working days. Sundays, public holidays and approved leave are removed before any percentage is computed; half-day leave deducts 0.5 day. You are never penalised for approved absence β€” a sick day lowers your target, not your score.

Why the weekly email and Task Report can disagree

Performance Score (Management)

A single 0–100 composite used as an input to appraisals, increments and promotions. Weighted across 8 dimensions:

DimensionWeightMeasures
Delivery25%Estimated hours of completed tasks vs target β€” output volume, size-weighted
Timeliness15%On-time completion of due-dated tasks
Utilization15%Logged hours vs leave-adjusted target
Plan Adherence15%Hours on Weekly-Plan projects vs planned
Efficiency10%Estimate accuracy (capped 120%)
Quality10%1 βˆ’ task reopen rate
Consistency5%Steady daily logging vs binge logging
Attendance5%Check-in presence on working days

Bands: A β‰₯ 85 B β‰₯ 70 C β‰₯ 50 D < 50. Dimensions with no data are excluded and weights renormalised β€” missing data never scores zero.

βœ… Fairness built in: leave-adjusted everywhere Β· PM-controlled estimates Β· anti-gaming caps Β· evaluate 30–90-day trends, never a single week Β· metrics inform, humans decide. Full methodology with formulas is published inside the Performance tab itself.
Individual performance score ring and summary pills
Individual viewThe composite score (0–100) and band, with working days, logged-vs-target hours and tasks completed for the window.
Dimension breakdown table with per-dimension score bars
Dimension breakdownEvery dimension's weight, 0–100 score, contribution to the composite, and the exact basis behind the number.

πŸ† Team Leaderboard

The Performance tab has two views: Individual (one employee's full breakdown) and Leaderboard (every PMS member ranked by composite score for the chosen window). The top performer is highlighted πŸ†; #2 and #3 get πŸ₯ˆ / πŸ₯‰. Each row shows score, band, logged-vs-target hours, tasks done and the member's weakest dimension β€” a low rank always comes with its reason attached. Members with no scorable data appear unranked rather than as zeros. Clicking any row opens that member's individual breakdown.

Team leaderboard ranked by composite score with medals
Leaderboard viewRanked team table with medals, a top-performer banner, and a weakest-dimension column so a low rank explains itself.

Analysing specific dates

Besides the rolling periods (5d…90d), a Custom Range (from β†’ to) is available on both views β€” use it to score an exact appraisal cycle, a single sprint, or one calendar month. Clear it (βœ•) to return to rolling periods.

Performance tab controls: view toggle, employee, period, custom range
ControlsView toggle (Individual / Leaderboard), employee picker, rolling period buttons, and the custom date range.

πŸ“¬ Monthly score email

On the 1st of every month at 08:00 the system evaluates the previous calendar month and emails:

🧊 Frozen monthly snapshots

Before those emails go out, the same cron writes each ranked member's score into a frozen snapshot record (PMS Performance Score, one per member per month, e.g. PERF-2026-06-name@enfono.com) and submits it. Why this matters:

Score History card listing frozen monthly snapshots
Score HistoryOne row per frozen month β€” final score, band, rank, and an adj badge where a management adjustment was applied (hover shows the reason).

✏️ How to apply a management adjustment (±10)

Metrics can't see everything β€” a production firefight, mentoring load, a client escalation handled off-ticket. Managers can correct a frozen month by up to Β±10 points, with the reason on record:

  1. Open Task Report β†’ Performance β†’ Individual and select the employee.
  2. In the Score History card, find the month and click Adjust.
  3. Enter the adjustment (-10 … +10) and a reason β€” mandatory whenever the adjustment is not zero. Save.
  4. The row updates instantly: Final Score = frozen score + adjustment (clamped 0–100), band recomputed, and an adj Β±n badge appears β€” hover it to read the reason and who adjusted.
Animation: opening the Adjust editor, entering +3 and a reason, saving, and the row updating
β–Ά WalkthroughAdjusting April by +2.5 with a reason β€” the final score rises 88.5 β†’ 91.0 and the adj +2.5 badge appears, all captured in the version trail.
Inline adjustment editor with number, reason, Save and Cancel
The inline editor: adjustment (βˆ’10…+10), a mandatory reason, Save / Cancel.
πŸ’‘ Rules: adjustments apply only to submitted snapshots (not the live score); out-of-range values and missing reasons are rejected; the original computed score is never overwritten β€” final score is stored beside it; adjusting again replaces the previous adjustment, and both remain visible in the audit trail. Available to System Manager / PMS Manager only.

Automated Emails

EmailScheduleToContainsOff switch
Daily AI reportDaily 03:00ManagementPer-person daily metrics, plan-vs-actual, anomaliesEnable Daily Report
Scheduled project reports08:00 Mon–SatPer report configSingle/multi-project status reportsPer report schedule
Your Weekly Work SummarySaturday 07:00Each memberOwn hours, target, Utilization, Efficiency, tasks, attendanceEnable Weekly Summary
Team Weekly Work SummarySaturday 07:00Management recipientAll-member table: Logged / Target / Utilization / Efficiency / Tasks DoneEnable Weekly Summary
Your Monthly Performance Score1st of month 08:00Each memberOwn composite score, band, rank, dimension scores for the previous monthMonthly Performance Enabled
Team Performance Leaderboard1st of month 08:00Management recipientRanked leaderboard, top performer of the monthMonthly Performance Enabled
Check-in / check-out reminders08:30 Mon–SatMember + manager digestMissing check-in / check-out for the previous working dayEnable Attendance Reminders
Task deadline reminderDailyAssigneeTasks due tomorrow (not Done/Cancelled)β€”
Long-running timer alertHourlyTimer ownerTimer running 4+ hours β€” stop or confirmβ€”
Budget alertDaily checkProject managerProject at β‰₯80% budget utilisationβ€”

All "off switches" live in PMS AI Settings (see Settings Reference). Recipients: member emails go to the member; management copies go to the configured Weekly Team Summary Recipient.

In-App Notifications

The bell icon (sidebar) shows unread notifications; mark one or all read from the panel. Notifications are created for:

TriggerWho is notified
Task assigned to you / task comment with @mentionAssignee / mentioned user
Task due tomorrowAssignee
Timer running 4+ hoursTimer owner
Project budget β‰₯ 80%Project manager
Client comment on a portal taskProject team

Real-time updates (Kanban moves, new comments) arrive live via Socket.io β€” no refresh needed. The mobile app (PWA) additionally supports push notifications.

Settings Reference (PMS AI Settings)

Admin-only single settings document that controls reports, emails and the hours baseline (Desk β†’ PMS AI Settings).

GroupSettingWhat it does
AIAI Provider / API Key / ModelLLM used for the daily AI report narrative
Fallback Provider / API Key / ModelSecondary LLM if the primary fails
Report Detail LevelVerbosity of the daily AI report
Daily reportEnable Daily ReportMaster switch, daily 03:00
Primary Recipient / Additional RecipientsWho receives the daily AI report
Plan Evaluation DepartmentDepartment whose Weekly Plan is evaluated in the report
Hours baselineWorking Hours Per DayThe daily target (default 8h) behind Utilization, targets and the Performance Score
β€”Sundays, holiday lists and approved leave are always excluded automatically (not configurable per user)
Weekly/monthlyEnable Weekly SummarySaturday member + team emails
Weekly Team Summary RecipientManagement inbox for team summary and monthly leaderboard
AttendanceEnable Attendance Reminders08:30 missing check-in/out nudges
Manager Digest RecipientsManagers receiving the attendance digest
BudgetBudget Approver EmailsWho approves budget requests

Per-user access control (sidebar items, project tabs, feature switches, finance visibility) is separate β€” User Detail β†’ Permissions, admin only. Roles are covered in Roles & Access.

Client Portal

Support Tickets

Client-raised or internal tickets tracked under Support Tickets (managers/admins). Tickets can be converted into PMS Tasks (task type Support Ticket) so the work is timed and reported like everything else.

FAQ

QuestionAnswer
My utilization looks low but I worked all week?Timer discipline β€” check-in hours don't count as work hours. Run the timer on tasks.
I was on approved leave β€” does it hurt my numbers?No. Leave days are removed from your target before any % is computed.
Email says 49% but Task Report says 79% β€” bug?No β€” two different metrics over two different windows. See Metrics Explained.
Who can see my Performance Score?Management only (System Manager / PMS Manager). Not visible to peers.
Task estimate looks wrong β€” can I change it?Ask your PM. Estimates are PM-controlled because they feed evaluation metrics.
I can't see Reports / Settings in the sidebarRole defaults. An admin can enable them per user in User Detail β†’ Permissions.

Roadmap

StatusItemDetail
ShippedMonthly Performance Score snapshotsFrozen submittable record per employee-month (PERF-YYYY-MM-user), created by the monthly cron before emails; Score History trend card. See Performance Score.
ShippedManagement adjustment Β±10 with mandatory reasonBounded, audited post-freeze correction on the snapshot β€” who, when, how much, why, all in the version trail. See "How to apply a management adjustment".
PlannedTask completion date fieldReplace the "Done + modified in window" proxy with a real completion timestamp.
PlannedPerformance Settings doctypeManagement-tunable dimension weights and caps (currently fixed in code).
PlannedAndroid APK releaseCapacitor build of the mobile app.

Next PMS Β· Enfono Technologies Β· This guide is served at /pms-guide and updates with the app.