Spryple → Spyrl Gap Analysis
Version: 1.0 · Date: 2026-11-14 · Scope: every screen, option and sub-feature in the Spryple Help Center (https://spryple.com/help/), mapped to the Spyrl PRD (prd.md). Inputs: spryple-feature-tree.md (438 screens / 2,054 sub-items, with breadcrumbs) · spryple-analysis.md §21 (screenshot-only facts) · prd.md (342 functional requirements) · the feature catalogue. Method: seven analysts worked in parallel, one per module family across all audiences. Each mapped every 🔹 screen node (cross-audience duplicates merged) and every screenshot-only feature to real PRD requirement IDs. The results were consolidated and de-duplicated, and the proposed IDs were checked for collisions.
Executive summary
- 357 Spryple features assessed. 269 (75%) are covered by the Spyrl PRD; 147 of those are improved over Spryple, and 122 are at parity.
- 56 partial, 8 deferred to a later release, 3 genuine gaps, and 21 intentionally dropped.
- The attend-to-pay core (Attendance, Leave, Payroll) has no hard gaps. Its partials are specification depth: named-but-unspecified reports, and policy semantics that Spryple leaves vague.
- The three hard gaps are small: a retention notice before resignation (EXT), an associate-wise CRM report (FFM), and Lite quick-add employee on mobile (MOB). Only the last affects the MVP.
- The biggest real risk is the Lite plan. Spryple Lite is a phone-only, face-attendance, simple-salary product. Our Lite plan ships in R1, but face punch arrives in R2 and there are no mobile owner reports, so we propose an interim selfie + geo-fence punch, quick-add and mobile reports in R1.
- 49 PRD changes are recommended (§9). They are mostly Should, and none changes the architecture. They are pending approval: prd.md is not modified until they are accepted.
Scorecard by module family
| Section | Module family | Rows | ✅ Covered (parity) | ⬆️ Covered + improved | 🟡 Partial | ⏳ Deferred | ❌ Gap | 🚫 Intentionally dropped | Covered % |
|---|---|---|---|---|---|---|---|---|---|
| §1 | Core HR, Org & Identity | 40 | 11 | 21 | 3 | 1 | 0 | 4 | 80% |
| §2 | Attendance | 84 | 46 | 25 | 8 | 4 | 0 | 1 | 84% |
| §3 | Leave | 55 | 22 | 22 | 9 | 0 | 0 | 2 | 80% |
| §4 | Payroll | 50 | 12 | 23 | 10 | 3 | 0 | 2 | 70% |
| §5 | Claims, Exit & Engagement | 26 | 5 | 16 | 4 | 0 | 1 | 0 | 80% |
| §6 | Field Force & CRM | 50 | 14 | 20 | 5 | 0 | 1 | 10 | 68% |
| §7 | Timesheets, LMS, Dashboards & Mobile | 52 | 12 | 20 | 17 | 0 | 1 | 2 | 61% |
| Total | 357 | 122 | 147 | 56 | 8 | 3 | 21 | 75% |
Status legend
| Status | Meaning |
|---|---|
| ✅ Covered (parity) | A PRD requirement delivers the same behaviour |
| ⬆️ Covered + improved | It is delivered, and better: effective-dated, configurable, more secure or less duplicated |
| 🟡 Partial | Some of it is delivered; the row says what is missing |
| ⏳ Deferred | Planned for a later release (R2–R4) |
| ❌ Gap | Not in the PRD; a new requirement is proposed |
| 🚫 Intentionally dropped | We decided not to build it; the row says why |
Breadcrumb shorthand used in some tables: SA = For Super Admin, AD = For Admin, MG = For Managers, EW = For Employee (Sales CRM Web), MA = Mobile App.
Key themes
- Reports named but not specified (the most common partial). Several reports appear in Spryple but only as names in our PRD, with no columns or filters defined: payroll payment register, bank-wise salary summary, payable-days report, PT slab viewer, approval history, the claims register, the CRM accounts, associate and assignment reports, and the timesheet summary. Action: specify them in the RPT report framework, which is cheap because the data already exists.
- Lite / micro-business on the phone. The Lite plan needs quick-add employee, mobile attendance and payroll summaries for the owner, and a punch method before face verification exists (FR-MOB-020, -021, -023, FR-PAY-075).
- Leave configuration nuances. These are: an owning requirement for the leave cycle, tenant-level common-rule defaults, per-event entitlement (maternity, wedding, bereavement), separate comp-off eligibility switches, and a guard on deactivating a leave type (FR-LVE-029 to -033).
- Payroll policy semantics that Spryple leaves vague. "Dynamic payroll processing", the proportionate week-off deduction formula and Variable DA need explicit specifications. VDA matters for minimum-wage sectors, so we recommend raising it (FR-PAY-067 to -069).
- Timing risks. Form 16 is planned for R2, but the first June after an R1 go-live needs a TDS certificate. Ship Form 16 Part B or an interim certificate in time (FR-PAY-076).
- Small UX parity items. These are: authenticated change password, onboarding reminders, HR-keyed candidate entry, approver name and entitlement totals on the leave request, a shift selector on requests, and the regularize-as-week-off option.
- Dropped on purpose (21). These fall into four groups:
- Duplicate leave, shift and attendance screens inside the CRM (10).
- Tenant-editable "Messages Master" UI strings (5), replaced by i18n and template overrides.
- Security anti-patterns (3): the default password, the plaintext credentials email, and admin password reveal.
- Others: marital-status leave eligibility, CTC-range pay groups, and the LMS chatbot.
1. Core HR, Organisation & Identity (Spryple "Employee Management")
Scope: 35 section nodes (🔹) in the three tree slices (Admin 20, Managers 10, Employee 5), plus 6 screenshot-only rows. Two Manager nodes ("Login with HR manager to Add an Employee" and "User Login") are merged into EMP-G21 because both are pure login boilerplate. That gives 40 rows. Highest existing IDs: FR-ORG-018, FR-IAM-025, FR-EMP-022, FR-ENG-008.
1.1 Coverage summary
| Status | Count |
|---|---|
| ✅ Covered (parity) | 11 |
| ⬆️ Covered + improved | 21 |
| 🟡 Partial | 3 |
| ⏳ Deferred | 1 |
| ❌ Gap | 0 |
| 🚫 Intentionally dropped | 4 |
| Total rows | 40 |
1.2 Feature-by-feature gap table
| # | Breadcrumb | Spryple option (what it does) | Evidence | Spyrl coverage (FR/US) | Status | Release | Gap / action |
|---|---|---|---|---|---|---|---|
| EMP-G01 | Help › For Admin › Employee Management › Company Information | Edit/Save/Cancel company profile (name, location, other details). | [Observed] | FR-ORG-001, FR-ORG-002, FR-ORG-003 | ⬆️ Covered + improved | R0/R1 | Adds legal entity with PAN/TAN/EPF/ESI, multi-entity, financial year, time zone. None. |
| EMP-G02 | Help › For Admin › Employee Management › Department | Add/rename departments, Active/Inactive, no duplicate names; must transfer employees before inactivating. | [Observed] | FR-ORG-006, FR-ORG-009, US-ORG-04 | ⬆️ Covered + improved | R0 | Adds hierarchy, head, cost centre, bulk-reassignment wizard with effective date. None. |
| EMP-G03 | Help › For Admin › Employee Management › Designation | Same rules as Department, for designations. | [Observed] | FR-ORG-006, FR-ORG-009, US-ORG-04 | ⬆️ Covered + improved | R0 | Adds grades/bands and the shared masters pattern. None. |
| EMP-G04 | Help › For Admin › Employee Management › Work Location | Branch address, short code, map picker, prefix + seed drive employee-ID generation; shared prefix = shared sequence. | [Observed] + [Observed-SS] (IDs like NE13) | FR-ORG-004, FR-ORG-005, US-ORG-01 | ⬆️ Covered + improved | R0 | Adds geo point, state drives PT/LWF, token pattern, sequence scope ORG/ENTITY/LOCATION, no code reuse. None. |
| EMP-G05 | Help › For Admin › Employee Management › Company Logo | Upload jpg/png ≤ 1 MB; shown in header; change/remove. | [Observed] | FR-ORG-001, FR-ORG-015 | ⬆️ Covered + improved | R0/R1 | Adds svg, brand colour with WCAG check, login background. None. |
| EMP-G06 | Help › For Admin › Employee Management › Shift | Create shifts (name, description), deactivate unused ones. | [Observed] | FR-ATT-011, FR-ATT-012, FR-ATT-013 | ⬆️ Covered + improved | R1 | Cross-module (ATT). Adds colour, fixed/flexible type, rotations, roster. None. |
| EMP-G07 | Help › For Admin › Employee Management › Shift Timings | Start/end time pickers; total hours auto-calculated. | [Observed] | FR-ATT-011 | ✅ Covered (parity) | R1 | Midnight-crossing shifts also supported. None. |
| EMP-G08 | Help › For Admin › Employee Management › Grace Period | In/out grace; "lates more than N → deduct leave count". | [Observed] | FR-ATT-011, FR-ATT-022 | ⬆️ Covered + improved | R1 | Adds ordered leave-type deduction chain and fractional day. None. |
| EMP-G09 | Help › For Admin › Employee Management › Overtime duration | Minimum work hours per day (overtime threshold); shift listing and view. | [Observed] | FR-ATT-011, FR-ATT-027, FR-ATT-028 | ⬆️ Covered + improved | R1 | Adds OT policy, rounding, caps, manager approval. None. |
| EMP-G10 | Help › For Admin › Employee Management › Holidays | Holidays per branch: date, Public/Optional type, name; no duplicate date+branch; edit/delete; branch filter. | [Observed] | FR-ORG-010 | ⬆️ Covered + improved | R0 | Adds named calendars, half-day, copy-to-next-year, recompute of unlocked periods. None. |
| EMP-G11 | Help › For Admin › Employee Management › Checklist | Onboarding/Offboarding checklist by department; Active/Inactive; edit. | [Observed] | FR-EMP-010, US-EMP-07 | ⬆️ Covered + improved | R1 | Adds item owners, due offsets, evidence, shared engine with EXT. None. |
| EMP-G12 | Help › For Admin › Employee Management › Induction | Induction program-type master (HR Policies, Domain knowledge), no duplicates, Active/Inactive. | [Observed] | FR-EMP-011, FR-ORG-009 | ✅ Covered (parity) | R1 | FR-EMP-011 lists a "type master"; masters pattern gives Active/Inactive and duplicate rejection. None. |
| EMP-G13 | Help › For Admin › Employee Management › Announcements | Topic, title, publish from/to, Submit or Save as Draft; status-driven actions (stop, republish). | [Observed] | FR-ENG-001, FR-ENG-002, FR-ENG-003, FR-ENG-004, US-ENG-01, US-ENG-03 | ⏳ Deferred | R2 | Planned in ENG (R2) with targeting and acknowledgement. Spryple shows announcements on the R1-equivalent main dashboard; see FR-ENG-011 proposal. |
| EMP-G14 | Help › For Admin › Employee Management › Messages Master | Admin edits every UI success/error message per screen. | [Observed] | FR-NTF-017 (Won't); FR-NTF-001 (notification template overrides); FR-ORG-017 (label overrides) | 🚫 Intentionally dropped | — | Dropped: free-text edits of system messages break i18n, support and test stability. Notification text stays tenant-editable (FR-NTF-001) and terms via label overrides (FR-ORG-017, R2). None. |
| EMP-G15 | Help › For Admin › Employee Management › Users Login | Admin sets username per employee; password defaults to "Welcome1!". | [Observed] + [Observed-SS] | FR-IAM-001, FR-IAM-002, US-IAM-01; EMP-005 (auto user creation) | 🚫 Intentionally dropped | R0 | Dropped: shared default password and manual credential step. Replaced by activation link set by the user; no admin-visible passwords. Username/user creation itself is covered. |
| EMP-G16 | Help › For Admin › Employee Management › Roles & Permissions | Text duplicates Users Login; no documented permission model. | [Observed] defect + [Observed-SS] (same screenshots reused) | FR-IAM-009, FR-IAM-010, FR-IAM-011, FR-IAM-012, FR-IAM-025, US-IAM-03 | ⬆️ Covered + improved | R0/R1 | Full permission x scope model, custom roles, role preview. Nothing to match; none. |
| EMP-G17 | Help › For Admin › Employee Management › Onboarding Settings | Toggle automatic reminders for pending onboarding checklists; toggle probation with months. | [Observed] | FR-EMP-012 (probation), FR-NTF-013 (reminder rules), FR-EMP-010 | 🟡 Partial | R1 | Probation covered. Missing: an explicit reminder to the employee/owners for pending onboarding checklist items, with an on/off switch. Action: add FR-EMP-024. |
| EMP-G18 | Help › For Admin › Employee Management › HR Policies | 48 rules: password complexity, onboarding/offboarding reminders, probation/notice, week-offs, auto-shift, late deduction, half/full day, regularization, grace, extra-day pay, week-off penalty. Changes affect only new employees. | [Observed] | FR-ORG-011, FR-IAM-003, FR-EMP-012, FR-EMP-013, FR-ATT-011, FR-ATT-016, FR-ATT-020, FR-ATT-021, FR-ATT-022, FR-ATT-024, FR-ATT-027, FR-ATT-029, FR-ATT-030, FR-ORG-007, US-ORG-02 | ⬆️ Covered + improved | R0/R1 | Typed, versioned, effective-dated policies by applicability with impact preview replace one global form. Rule 4 ("must start with capital") is not carried over (FR-IAM-003 uses character classes); accept. |
| EMP-G19 | Help › For Admin › Employee Management › Employee Password Reset | Pick location/department/employee; reset username, password or both; employee emailed. | [Observed] | FR-IAM-005, FR-IAM-001, FR-IAM-020 | ⬆️ Covered + improved | R0 | Admin sends a reset link and never sets or sees a password; sessions revoked. Username change is a profile edit; none. |
| EMP-G20 | Help › For Admin › Employee Management › Department Designation Mapping | Map designations to departments; search; active when Rule 36 = Yes. | [Observed] | FR-ORG-007 | ✅ Covered (parity) | R1 | Optional setting, same behaviour. None. |
| EMP-G21 | Help › For Managers › Employee Management › Login with HR manager to Add an Employee + Help › For Managers › Employee Management › User Login | Merged, pure login boilerplate: company code, username, password; lands on main dashboard. | [Observed] | FR-IAM-002, FR-IAM-004, FR-IAM-006, FR-IAM-007 | ✅ Covered (parity) | R0 | Adds MFA, SSO, lockout. None. |
| EMP-G22 | Help › For Managers › Employee Management › HR manager Main Dashboard | Left menu shows Employee Management and HR Manager sections by role. | [Observed] | FR-IAM-009, FR-IAM-010, FR-RPT-006 | ✅ Covered (parity) | R0/R1 | Permission-driven menus plus HR persona dashboard. None. |
| EMP-G23 | Help › For Managers › Employee Management › Adding New Hire | New Hires list (Hired/Joined), Add form, acknowledgement email with self-onboarding link for personal, family, experience, education, documents. | [Observed] + [Observed-SS] | FR-EMP-001, FR-EMP-002, FR-EMP-003, FR-EMP-004, FR-EMP-008, US-EMP-01, US-EMP-02 | ⬆️ Covered + improved | R1 | Adds OTP-gated link, drafts, section reopen, duplicate PAN/Aadhaar block. Candidate Data fallback is EMP-G35. |
| EMP-G24 | Help › For Managers › Employee Management › Employee Directory | Joining Formalities, work info (email, type, role, location, designation, manager), contact, family, contract/promotions, bank, experience, education, documents; Edit; credential email to Admin. | [Observed] + [Observed-SS] | FR-EMP-003, FR-EMP-005, FR-EMP-006, FR-EMP-014, FR-EMP-015, FR-IAM-009, US-EMP-03, US-EMP-04 | ⬆️ Covered + improved | R1 | Effective-dated job history, change log, search/filters. Manual credential hand-off replaced by auto-invite (see EMP-G15). None. |
| EMP-G25 | Help › For Managers › Employee Management › Onboarding Pending Checklist | Every onboarding checklist assigned to each hire; HR ticks items; "No Due" moves status Pending → Completed; employee sees status. | [Observed] | FR-EMP-010, FR-EMP-005, US-EMP-07 | ⬆️ Covered + improved | R1 | Per-item owners, due dates, evidence. Overdue reminders: see EMP-G17. |
| EMP-G26 | Help › For Managers › Employee Management › Document Approval | View, approve/reject uploads; email on outcome; re-upload loop; HR uploads auto-approved. | [Observed] | FR-EMP-009, FR-NTF-013 | ⬆️ Covered + improved | R1 | Adds virus scan, expiry reminders, required-for-activation flag, reject reason. None. |
| EMP-G27 | Help › For Managers › Employee Management › Induction Program | Create program, assign employees, invite emails, edit/cancel notifications, shown on employee home. | [Observed] | FR-EMP-011 | ✅ Covered (parity) | R1 | Adds calendar file and attendance marking; Priority is Should. None. |
| EMP-G28 | Help › For Managers › Employee Management › Employee Reports | Column chooser, generate and download employee report. | [Observed] + [Observed-SS] (column list) | FR-RPT-001, FR-RPT-003 (catalogue row 3, employee master), FR-RPT-004, FR-RPT-005 | ✅ Covered (parity) | R1 | Column chooser, filters, xlsx/csv/pdf, custom fields; sensitive columns masked. None. |
| EMP-G29 | Help › For Managers › Employee Management › Excel Upload | Bulk upload employee data into the directory; download data. | [Observed] | FR-ORG-012, FR-EMP-007, US-ORG-03 | ⬆️ Covered + improved | R0/R1 | Templates, dry-run, idempotent natural keys, rollback. None. |
| EMP-G30 | Help › For Employee › Employee Management › (intro) | Employee dashboard with month attendance and leave balance. | [Observed] | FR-RPT-006 (Employee persona) | ✅ Covered (parity) | R1 | None. |
| EMP-G31 | Help › For Employee › Employee Management › My Profile | View personal, experience, bank, family, education, documents; edit. | [Observed] | FR-EMP-003, FR-EMP-013, FR-IAM-012 | ✅ Covered (parity) | R1 | None. |
| EMP-G32 | Help › For Employee › Employee Management › Onboarding checklist | See induction program and onboarding checklist with status. | [Observed] | FR-EMP-010, FR-EMP-011, US-EMP-07 (AC2) | ✅ Covered (parity) | R1 | None. |
| EMP-G33 | Help › For Employee › Employee Management › Edit Profile | Edit info and upload profile picture (shown on dashboard). | [Observed] | FR-EMP-013, FR-EMP-003, US-EMP-05 | ⬆️ Covered + improved | R1 | Per-field direct/approval/none policy with HR approval. None. |
| EMP-G34 | Help › For Employee › Employee Management › Change Password | Current, new and confirm password form. | [Observed] | FR-IAM-003 (policy, history), FR-IAM-005 (sessions revoked on change), FR-IAM-020 | 🟡 Partial | R0 | No FR states the authenticated change-password flow (current password check, other sessions revoked). Action: add FR-IAM-026. |
| EMP-G35 | Help › For Managers › Employee Management › Adding New Hire (sub-flow "Candidate Data") | If a hire has no registered email, HR enters their data manually as "Candidate Data". | [Observed] (SP-EMP-04) | FR-EMP-001 (email optional), FR-EMP-002 (SMS link), FR-EMP-009 (HR uploads) | 🟡 Partial | R1 | Mobile-only candidates get an SMS link, but HR-keyed entry on behalf of a candidate (no link, e.g. no smartphone) is not stated. Action: add FR-EMP-023. |
| EMP-G36 | Help › For Managers › Employee Management › Adding New Hire (pre-onboarding link expiry) | Link expires after 24 h; sent from no-reply with "Welcome to Spryple". | [Observed-SS] §21.2 | FR-EMP-002, US-EMP-02 | ⬆️ Covered + improved | R1 | 7-day default (1–30), OTP per open, drafts. None. |
| EMP-G37 | Help › For Managers › Employee Management › Employee Directory (credentials email) | Credentials email carries login URL, company code, username and plaintext "Welcome1!". | [Observed-SS] §21.2 | FR-IAM-001 (no password generated or emailed), US-IAM-01 | 🚫 Intentionally dropped | R0 | Dropped: plaintext password by email. Activation link plus company login URL replaces it. |
| EMP-G38 | Help › For Admin › Employee Management › Employee Password Reset (existing-password reveal) | Reset form shows "Existing Password" with an eye toggle so admin can reveal it. | [Observed-SS] §21.12 | FR-IAM-001, FR-IAM-005, FR-IAM-012, US-IAM-01 (AC3) | 🚫 Intentionally dropped | R0 | Dropped: passwords stored one-way (argon2id); nobody, including admins, can view them. |
| EMP-G39 | Help › For Managers › Employee Management › Employee Directory (profile fields) | Aadhaar, notice period, reporting-manager department, permanent address "same as residence", Contract/Promotions tab, employee ID with location prefix. | [Observed-SS] §21.2 | FR-EMP-003, FR-EMP-004, FR-EMP-006, FR-ORG-005 | ⬆️ Covered + improved | R1 | Aadhaar encrypted/masked with checksum; promotions become effective-dated job assignments. None. |
| EMP-G40 | Help › For Managers › Employee Management › Onboarding Pending Checklist (item owner and comments) | Checklist items carry Department and Approver Name; "Add Comments" beside No Due. | [Observed-SS] §21.2 | FR-EMP-010 (owner, evidence none/comment/file) | ✅ Covered (parity) | R1 | None. |
1.3 Where Spyrl goes beyond Spryple
- No default passwords: activation link, no password generated, emailed or shown (FR-IAM-001, US-IAM-01); Spryple emails plaintext "Welcome1!".
- Real access model: permission x scope roles, custom roles, SELF/TEAM/DEPARTMENT/LOCATION/ORG scopes, role preview (FR-IAM-009, FR-IAM-010, FR-IAM-011, FR-IAM-025); Spryple documents none.
- Security depth: TOTP MFA, SSO, lockout, session controls, device binding, field-level masking (FR-IAM-004, FR-IAM-006, FR-IAM-007, FR-IAM-014, FR-IAM-015, FR-IAM-012).
- Audit and privacy: append-only audit log, consent centre and data-subject requests (FR-IAM-016, FR-IAM-018, FR-IAM-019).
- Effective-dated job history with reasons and timeline instead of a flat "Contract/Promotions" tab (FR-EMP-006, US-EMP-04); profile change history (FR-EMP-015).
- Typed, versioned, effective-dated policies with impact preview replace one global 48-rule form that never touches existing staff (FR-ORG-011, US-ORG-02).
- Import with dry-run and idempotency (FR-ORG-012, FR-EMP-007, US-ORG-03).
- Safer onboarding: OTP-gated 7-day link, drafts, per-section reopen, duplicate PAN/Aadhaar blocking (FR-EMP-002, FR-EMP-004, US-EMP-02).
- Self-service with approval workflow per field (FR-EMP-013, US-EMP-05).
- Org tooling Spryple lacks: custom fields, setup wizard with readiness score, multi-entity, org chart, letter templates, rehire (FR-ORG-013, FR-ORG-014, FR-ORG-003, FR-ORG-016, FR-EMP-016, FR-EMP-019).
1.4 Recommended PRD changes
| Proposed ID | Requirement | Priority (MoSCoW) | Release | Source breadcrumb |
|---|---|---|---|---|
| FR-EMP-023 | HR-assisted candidate entry: HR can create and complete a candidate's profile and documents on their behalf (no link needed) and mark it submitted; HR-entered documents are auto-approved (FR-EMP-009); the entry is audited as "entered by HR". | Should | R1 | Help › For Managers › Employee Management › Adding New Hire (Candidate Data) |
| FR-EMP-024 | Onboarding reminders: tenant switch (default on) to remind the new hire and checklist-item owners about pending or overdue onboarding items and documents at a configurable interval (default every 2 days); escalates to HR after N days; included in the FR-NTF-013 catalogue. | Should | R1 | Help › For Admin › Employee Management › Onboarding Settings |
| FR-IAM-026 | Authenticated change password: current password verified, new password checked against FR-IAM-003 (policy, history, breach list), confirm field; other sessions revoked; security notification sent (FR-IAM-020). | Must | R0 | Help › For Employee › Employee Management › Change Password |
| FR-ENG-011 | R1-lite announcements: a basic "notice" banner on the employee and manager home (title, body, publish from/to, audience by location) so day-one tenants are not without a broadcast channel; full ENG (FR-ENG-001..004) stays R2. Optional; accept only if R1 capacity allows. | Could | R1 | Help › For Admin › Employee Management › Announcements |
2. Attendance, Shifts & Time
2.1 Coverage summary
| Status | Count |
|---|---|
| ✅ Covered (parity) | 46 |
| ⬆️ Covered + improved | 25 |
| 🟡 Partial | 8 |
| ⏳ Deferred | 4 |
| ❌ Gap | 0 |
| 🚫 Intentionally dropped | 1 |
| Total rows | 84 |
Rows merge only duplicate nodes across audiences, entry points of the same feature, and empty container nodes. Feature-tree nodes outside attendance (Lite 4.4 Payroll Reports, rewards, leave and comp-off on mobile, Rules 1–15, 34, 36, 37) belong to other parts of this analysis. Release R2 items are marked Deferred even where Spyrl improves on the reference. Report numbers refer to the report catalogue table in prd.md section 13.
2.2 Feature-by-feature gap table
| # | Breadcrumb | Spryple option (what it does) | Evidence | Spyrl coverage (FR/US) | Status | Release | Gap / action |
|---|---|---|---|---|---|---|---|
| ATT-G01 | Help › For Super Admin › Attendance Management › Monthly Attendance Report; Help › For Admin › Attendance Management › Monthly Attendance Report | Absent, present, late and total counts per employee, filtered by city-branch then manager | [Observed] | FR-RPT-003 (report 8, monthly attendance register), FR-RPT-002 (location, manager filters), FR-ATT-037 | ⬆️ Covered + improved | R1 | None. Spyrl adds the full status-code grid, half-day counts and pay-group periods. |
| ATT-G02 | Help › For Super Admin › Attendance Management › Monthly Shifts Report; Help › For Admin › Attendance Management › Monthly Shifts Report | Employees present, week-off or absent per shift for a manager, branch and date range | [Observed] | FR-RPT-003 (report 15, shift-wise attendance and coverage), FR-ATT-014 (coverage row) | ⬆️ Covered + improved | R1 | None. |
| ATT-G03 | Help › For Super Admin › Attendance Management › Attendance Summary Report; Help › For Admin › Attendance Management › Attendance Summary Report; Help › For Employee › Attendance Management › Attendance Summary Report | First in, last out, total, productive, OT and permission hours with punch images and source name; details link | [Observed] | FR-RPT-003 (reports 9, 10), FR-ATT-019, FR-ATT-002, FR-ATT-026 | ✅ Covered (parity) | R1 | None. "Productive hours" maps to worked minutes net of unpaid break. |
| ATT-G04 | Help › For Managers › Attendance Management › Summary Report | Manager sees team summary for a chosen period with Excel and PDF download | [Observed] | FR-RPT-003 (report 8), FR-RPT-004 | ✅ Covered (parity) | R1 | None. |
| ATT-G05 | Help › For Super Admin › Attendance Management › Current Day Attendance Report; Help › For Admin › Attendance Management › Current Day Attendance Report; Help › For Managers › Attendance Management › Current Day Attendance Report | Today's punches per employee or all, with check-in and check-out images | [Observed] | FR-RPT-003 (report 9), FR-ATT-038, FR-ATT-002 | ⬆️ Covered + improved | R1 | None. Spyrl adds fence status and live "not yet punched" counts. |
| ATT-G06 | Help › For Super Admin › Attendance Management › Punch Summary Report; Help › For Admin › Attendance Management › Punch Summary Report; Help › For Managers › Attendance Management › Punch Summary Report | Multiple punch-ins and punch-outs per employee for a month; Excel download; default out-time only when policy says so | [Observed] | FR-RPT-003 (report 10), FR-RPT-004, FR-ATT-020 | ✅ Covered (parity) | R1 | None. |
| ATT-G07 | Help › For Admin › Attendance Management › Missed Punch Report; Help › For Managers › Attendance Management › Missed Punch Report; Help › For Employee › Attendance Management › Missed Punch Report | Month and employee view of missed punch-outs, searchable by ID and name, gated by Rule 35 | [Observed] | FR-RPT-003 (report 12), FR-ATT-020, FR-ATT-024, US-ATT-04 | ✅ Covered (parity) | R1 | None. Employees see their own missed punches through the regularization alerts. |
| ATT-G08 | Help › For Admin › Attendance Management › Mapping ID’s | Map biometric device user ID to employee ID so punches flow in | [Observed] | FR-ATT-006, FR-ATT-007, US-ATT-10 | ⬆️ Covered + improved | R1 | None. Adds device master, bulk import and an "Unmapped punches" queue. |
| ATT-G09 | Help › For Admin › Attendance Management › Attendance Messages Master: | Admin edits success and error message texts per screen | [Observed] | FR-NTF-017 (Won't); FR-NTF-001 (notification templates only) | 🚫 Intentionally dropped | — | Dropped in FR-NTF-017: UI strings are localised and versioned in code (FR-MOB-019), not tenant-edited. Notification text stays editable via FR-NTF-001. |
| ATT-G10 | Help › For Admin › Attendance Management › Shift configuration; Help › For Managers › Attendance Management › Shift configuration | Assign a shift, date range, week-offs and employees | [Observed] | FR-ATT-012, FR-ATT-014 | ✅ Covered (parity) | R1 | None. Bulk-by-filter assignment is an extra. |
| ATT-G11 | Help › For Admin › Attendance Management › Shift wise Report; Help › For Managers › Attendance Management › Shift wise Report | Employee attendance status per shift over a period, with a per-day drill | [Observed] | FR-RPT-003 (report 15), FR-ATT-014 | ✅ Covered (parity) | R1 | None. |
| ATT-G12 | Help › For Admin › Attendance Management › Week off configuration; Help › For Managers › Attendance Management › Week off configuration | Set weekly-off days per employee and view history | [Observed] | FR-ATT-016, FR-ATT-012 | ⬆️ Covered + improved | R1 | None. Adds nth-weekday rules and effective-dated history. |
| ATT-G13 | Help › For Admin › Attendance Management › Extra Days Slab configuration | Per designation: min days worked, max days worked, eligible extra days | [Observed] | FR-ATT-029 | ✅ Covered (parity) | R1 | None. |
| ATT-G14 | Help › For Admin › Attendance Management › Applicable Designations for Penalty | Activate or deactivate designations to which week-off penalty applies | [Observed] | FR-ATT-030, FR-ATT-029 | ✅ Covered (parity) | R1 | None. Applicability rules replace the per-designation toggle. |
| ATT-G15 | Help › For Managers › Attendance Management › Managers | Manager dashboard: pending approvals, absent counts, employee list on a calendar | [Observed] | FR-ATT-038, FR-RPT-006, FR-NTF-011 | ✅ Covered (parity) | R1 | None. |
| ATT-G16 | Help › For Managers › Attendance Management › Dashboard; Help › For Managers › Attendance Management › 1)Add a request (Dashboard); Help › For Managers › Attendance Management › 2)Request Behalf of Employee (Side Navigation) | Manager raises work-type request for an employee; submitted and approved at once | [Observed] | PRD 6.2 on-behalf rule, US-ATT-11, FR-ATT-023, FR-ATT-025 | ⬆️ Covered + improved | R1 | None. Adds mandatory reason, raised_by audit and employee notification. |
| ATT-G17 | Help › For Managers › Attendance Management › 1) Approve from Main Dashboard; Help › For Managers › Attendance Management › 2) Approve request (Dashboard); Help › For Managers › Attendance Management › 3) Pending Approvals (Side Navigation) | Approve or reject (with reason) attendance requests from three entry points | [Observed] | FR-NTF-011, FR-NTF-007, FR-NTF-010, PRD 6.2 lifecycle | ⬆️ Covered + improved | R1 | None. Adds bulk action, SLA escalation, delegation (FR-NTF-009). |
| ATT-G18 | Help › For Managers › Attendance Management › Excel Upload | Manager uploads attendance from a vendor template | [Observed] | FR-ATT-007, FR-ATT-036, FR-ATT-009 | ⬆️ Covered + improved | R1 | None. Upload is limited to HR by the 7.5.10 permission table and has dry-run and idempotency, so it is a deliberate tightening. |
| ATT-G19 | Help › For Managers › Attendance Management › Approval History | Approved and rejected attendance requests with a view button | [Observed] | FR-NTF-011 (pending tasks only) | 🟡 Partial: no decided-request history view for approvers | R1 | Add FR-ATT-041. |
| ATT-G20 | Help › For Managers › Attendance Management › Manager Detailed Report; Help › For Employee › Attendance Management › Monthly Detail Report | Day-wise attendance detail for team or self with Excel and PDF | [Observed] | FR-RPT-003 (reports 8, 9, 10), FR-RPT-004, FR-ATT-037 | ✅ Covered (parity) | R1 | None. |
| ATT-G21 | Help › For Managers › Attendance Management › Late Attendance Report; Help › For Employee › Attendance Management › Late Attendance Report | Late attendance for an employee or all within a period, Excel and PDF | [Observed] | FR-RPT-003 (report 11), FR-RPT-004, FR-ATT-022 | ✅ Covered (parity) | R1 | None. Report 11 is limited to HR and line managers; employees see their lates in the calendar (FR-ATT-037). |
| ATT-G22 | Help › For Managers › Attendance Management › Approve Shift Change Request; Help › For Employee › Attendance Management › Shift Change Request | Employee requests a shift change; manager approves, rejects or swaps with another employee | [Observed] | FR-ATT-017, US-ATT-06 | ⬆️ Covered + improved | R1 | None. Counterpart consent is a Should in R1. |
| ATT-G23 | Help › For Managers › Attendance Management › Shift rotation Sequences | Named rotation of ordered shifts per location | [Observed] | FR-ATT-013 | ✅ Covered (parity) | R1 | None. |
| ATT-G24 | Help › For Managers › Attendance Management › Assign Rotation Shift | Assign a rotation to employees who have none | [Observed] | FR-ATT-013, FR-ATT-012 | ✅ Covered (parity) | R1 | None. |
| ATT-G25 | Help › For Managers › Attendance Management › Reassign Rotation Shift | Reassign rotation with a new start shift and applicable date | [Observed] | FR-ATT-013 | ✅ Covered (parity) | R1 | None. Past days are never changed. |
| ATT-G26 | Help › For Managers › Attendance Management › Approve Permission | Approve, reject or edit employee permission requests | [Observed] | FR-ATT-026, FR-NTF-011 | ✅ Covered (parity) | R1 | None. |
| ATT-G27 | Help › For Managers › Attendance Management › Permission History | Permission statuses Approved, Rejected, Deleted, Cancelled | [Observed] | PRD 6.2 lifecycle (Withdrawn, Cancelled), FR-ATT-026 | ✅ Covered (parity) | R1 | None. "Deleted" maps to Withdrawn. |
| ATT-G28 | Help › For Employee › Attendance Management › Request Permission | Employee requests minutes of permission for a date; one per day; cancel after approval | [Observed] | FR-ATT-026, PRD 6.2 (CancelRequested) | ⬆️ Covered + improved | R1 | None. Adds period limits, max minutes and excusing of late or early-go. |
| ATT-G29 | Help › For Managers › Attendance Management › Manager Attendance Regularization | Full-day and half-day exception lists; multi-select raise attendance or leave | [Observed] | FR-ATT-025 | ✅ Covered (parity) | R1 | None. |
| ATT-G30 | Help › For Managers › Attendance Management › Regularization Approval | Multi-select approve or reject regularizations | [Observed] | FR-NTF-011, FR-ATT-025 | ✅ Covered (parity) | R1 | None. |
| ATT-G31 | Help › For Managers › Attendance Management › Overtime Report | Hours beyond shift per month and location | [Observed] | FR-RPT-003 (report 13), FR-ATT-027, FR-ATT-028 | ⬆️ Covered + improved | R1 | None. Adds approval, rounding, multipliers and cost estimate. |
| ATT-G32 | Help › For Managers › Attendance Management › Extra Days & Penalty Report; Help › For Managers › Attendance Management › Extra Days; Help › For Employee › Attendance Management › Extra Days & Penalty Report; Help › For Employee › Attendance Management › Extra Days | Week-off and holiday present days and slab count per pay-schedule window, Excel and PDF | [Observed] | FR-RPT-003 (report 14), FR-ATT-029, FR-ATT-031, FR-ATT-035 | 🟡 Partial: employee self-view not specified | R1 | Report 14 is HRM and PRM only. Add FR-ATT-043. |
| ATT-G33 | Help › For Managers › Attendance Management › Penalty Days; Help › For Employee › Attendance Management › Penalty Days | Late-attendance and week-off-absence penalty days per pay-schedule window | [Observed] | FR-RPT-003 (report 14), FR-ATT-030, FR-ATT-022, FR-ATT-035 | 🟡 Partial: employee self-view not specified | R1 | Same action as above: FR-ATT-043. |
| ATT-G34 | Help › For Employee › Attendance Management › Login | Company code, user name and password, then the Attendance module | [Observed] | FR-IAM-002 | ✅ Covered (parity) | R0 | None. |
| ATT-G35 | Help › For Employee › Attendance Management › Employee Dashboard; Help › For Employee › Attendance Management › Calendar | Calendar with attendance, holidays, week-offs and leaves | [Observed] | FR-ATT-037 | ⬆️ Covered + improved | R1 | None. Adds colour codes, legend and half counts. |
| ATT-G36 | Help › For Employee › Attendance Management › Check In/Out | First in and last out for the day | [Observed] | FR-ATT-037, FR-ATT-001, FR-ATT-002 | ✅ Covered (parity) | R1 | None. Spyrl also lets the employee punch from the same card. |
| ATT-G37 | Help › For Employee › Attendance Management › Shifts | Current and next shifts with date and time | [Observed] | FR-ATT-037 | ✅ Covered (parity) | R1 | None. |
| ATT-G38 | Help › For Employee › Attendance Management › Requesting Attendance; Help › For Employee › Attendance Management › From Main Dashboard; Help › For Employee › Attendance Management › Dashboard; Help › For Employee › Attendance Management › Send a request | Pending-day alerts with one-click attendance or leave request for the day | [Observed] | FR-ATT-024, FR-ATT-023, US-ATT-04 | ⬆️ Covered + improved | R1 | None. Adds lookback and per-period limits. |
| ATT-G39 | Help › For Employee › Attendance Management › Attendance Request | Work type (WFH, WFO, On-Duty, Remote), dates, first or second half, reason, attachment | [Observed] | FR-ATT-023, PRD 6.2 | ⬆️ Covered + improved | R1 | None. Work types come from a tenant master with monthly limits. |
| ATT-G40 | Help › For Employee › Attendance Management › Edit Request | Edit a Submitted request | [Observed] | PRD 6.2 (requester edits, resets approvals), FR-ATT-023 | ✅ Covered (parity) | R1 | None. |
| ATT-G41 | Help › For Employee › Attendance Management › Delete Request | Delete a Submitted request after confirmation; status Deleted | [Observed] | PRD 6.2 (Withdrawn) | ✅ Covered (parity) | R1 | None. |
| ATT-G42 | Help › For Employee › Attendance Management › View | View a decided request | [Observed] | PRD 6.2, FR-MOB-003 | ✅ Covered (parity) | R1 | None. |
| ATT-G43 | Help › For Employee › Attendance Management › Attendance Regularization | Missed out-time: enter out time or convert to leave (LOP if no balance) | [Observed] | FR-ATT-024, FR-ATT-020, US-ATT-04 | ⬆️ Covered + improved | R1 | None. |
| ATT-G44 | Help › Mobile App › Spryple HR › Applying Attendance Request by Employee | Mobile attendance request and history; self check-in with face | [Observed] | FR-MOB-003, FR-ATT-023, FR-ATT-002 | ✅ Covered (parity) | R1 | None. |
| ATT-G45 | Help › Mobile App › Spryple HR › Approving Attendance Request by Manager | Mobile Pending Approvals with approve or reject | [Observed] | FR-MOB-004, FR-NTF-011, US-MOB-02 | ⬆️ Covered + improved | R1 | None. Adds push deep links and bulk actions. |
| ATT-G46 | Help › Mobile App › Spryple HR › Reports; Help › Mobile App › Spryple HR › Today Attendees | Multiple check-ins and check-outs of all employees for today | [Observed] | FR-ATT-038, FR-MOB-004 | ✅ Covered (parity) | R1 | None. |
| ATT-G47 | Help › Mobile App › Spryple HR › Attendance Details; Help › Mobile App › Spryple Lite › 4.2 Detailed Reports | Date-wise check-ins and check-outs per employee on the phone | [Observed] | FR-MOB-004 (team calendar), FR-ATT-038 (drill to punches) | 🟡 Partial: no mobile date-wise punch listing | R1 | Add FR-MOB-021 (proposed). |
| ATT-G48 | Help › Mobile App › Spryple HR › Attendance Summary; Help › Mobile App › Spryple Lite › 4.3 Attendance Reports | Present count per employee for a chosen month | [Observed] | FR-MOB-004 (team calendar), FR-RPT-003 (report 8, web) | 🟡 Partial: no mobile monthly present-count summary | R1 | Add FR-MOB-021 (proposed). |
| ATT-G49 | Help › Mobile App › Spryple HR › Capture Employee Image; Help › Mobile App › Spryple Lite › 4. Facial Recognition for Attendance; Help › Mobile App › Spryple Lite › 4.1.2 Configure User | Manager enrols, views, recaptures or deletes a face profile; Verified or Not Verified | [Observed] | FR-MOB-014, FR-IAM-018, US-MOB-04 | ⏳ Deferred | R2 | None. Improved with consent, liveness and templates. |
| ATT-G50 | Help › Mobile App › Spryple HR › Configure Location | Manager sets the location within which employees can check in | [Observed] | FR-ATT-003, FR-ATT-004, FR-ORG-004 | ⬆️ Covered + improved | R1 | None. Multiple fences and block or flag modes. |
| ATT-G51 | Help › Mobile App › Spryple HR › Attendance captured by employees in Receptionist Login; Help › Mobile App › Spryple Lite › 4.5 Receptionist Login; Help › Mobile App › Spryple HR › 2.1 Account Creation; Help › Mobile App › Spryple Lite › 2.1 Account Creation | Receptionist logs in so employees check in at the front office; all or selected employees; accounts created for Manager and Receptionist | [Observed] | FR-MOB-012, FR-MOB-013, FR-MOB-017, FR-ATT-010, US-MOB-03 | ⏳ Deferred | R2 | None. Kiosk uses a punch-only device token, liveness and PIN fallback. |
| ATT-G52 | Help › Mobile App › Spryple Lite › Employee Login | Employee self check-in and check-out on own device | [Observed] | FR-ATT-002, FR-ATT-003, FR-MOB-015 | ✅ Covered (parity) | R1 | None. Selfie punch is R1; face verification is R2 (FR-MOB-015). |
| ATT-G53 | Help › Mobile App › Spryple Lite › 4.1.1 Add Employee | Manager adds an employee by name, mobile, monthly salary and shift | [Observed] | FR-EMP-001, FR-PAY-018 (Lite profile) | 🟡 Partial: no quick-add on mobile for Lite | R1 | Add FR-MOB-020 (proposed). |
| ATT-G54 | Help › Mobile App › Spryple HR › 3.1 Main Screen; Help › Mobile App › Spryple Lite › 3.1 Main Screen | Mobile home with attendance, approvals and (Lite) reports for managers | [Observed] | FR-MOB-001, FR-MOB-003, FR-MOB-004 | ✅ Covered (parity) | R1 | None. |
| ATT-G55 | Help › For Admin › Employee Management › Shift | Shift master with name, description, active toggle, view | [Observed] | FR-ATT-011, PRD 6.4 masters | ✅ Covered (parity) | R1 | None. |
| ATT-G56 | Help › For Admin › Employee Management › Shift Timings | Shift start and end time | [Observed] | FR-ATT-011 | ⬆️ Covered + improved | R1 | None. Adds cross-midnight shifts and attribution windows. |
| ATT-G57 | Help › For Admin › Employee Management › Grace Period | Grace time for late attendance | [Observed] | FR-ATT-011, grace.in_minutes and grace.out_minutes (7.5.8) | ✅ Covered (parity) | R1 | None. Grace-out is an extra. |
| ATT-G58 | Help › For Admin › Employee Management › Overtime duration | Minimum work hours beyond which OT counts | [Observed] | FR-ATT-011, FR-ATT-027 | ⬆️ Covered + improved | R1 | None. |
| ATT-G59 | Help › For Admin › Employee Management › HR Policies › Rules 16–18 | Default 1st, 2nd and 3rd weekly off | [Observed] | FR-ATT-016 | ✅ Covered (parity) | R1 | None. |
| ATT-G60 | Help › For Admin › Employee Management › HR Policies › Rules 19–21, 25–26 | Auto-assign a default shift and duration to unassigned or new employees | [Observed] | FR-ATT-012, FR-ATT-018 | ✅ Covered (parity) | R1 | None. |
| ATT-G61 | Help › For Admin › Employee Management › HR Policies › Rules 22–24 | After N lates a month, deduct X days of a chosen leave type | [Observed] | FR-ATT-022, US-ATT-07, FR-LVE-004 | ⬆️ Covered + improved | R1 | None. Adds free count, blocks and ordered leave types. |
| ATT-G62 | Help › For Admin › Employee Management › HR Policies › Rules 27–28 | Minimum hours for half day (4) and full day (8) | [Observed] | FR-ATT-011, FR-ATT-019, thresholds.* (7.5.8) | ✅ Covered (parity) | R1 | None. |
| ATT-G63 | Help › For Admin › Employee Management › HR Policies › Rule 29 | Paid or unpaid permission | [Observed] | FR-ATT-026 | ✅ Covered (parity) | R1 | None. |
| ATT-G64 | Help › For Admin › Employee Management › HR Policies › Rules 30–31 | Flexible shift on or off and its required hours | [Observed] | FR-ATT-011 | ✅ Covered (parity) | R1 | None. Optional core window is an extra. |
| ATT-G65 | Help › For Admin › Employee Management › HR Policies › Rule 32 | Option on the regularization screen to mark a record as week-off | [Observed] | FR-ATT-024 (actions: add time, request, leave) | 🟡 Partial: no week-off marking in regularization | R1 | Add FR-ATT-045. |
| ATT-G66 | Help › For Admin › Employee Management › HR Policies › Rule 33 | Number of past days shown for regularization | [Observed] | FR-ATT-024 (regularization.lookback_days), US-ATT-04 | ✅ Covered (parity) | R1 | None. |
| ATT-G67 | Help › For Admin › Employee Management › HR Policies › Rule 35 | Populate a default punch-out if the out punch is missed | [Observed] | FR-ATT-020 | ⬆️ Covered + improved | R1 | None. Adds provisional value and auto-resolution at close. |
| ATT-G68 | Help › For Admin › Employee Management › HR Policies › Rules 38–42 | Lunch and tea break durations and their grace periods | [Observed] | FR-ATT-021 | ✅ Covered (parity) | R1 | None. Priority is Should. |
| ATT-G69 | Help › For Admin › Employee Management › HR Policies › Rules 43–45 | Extra-day pay on up to two weekly-off days | [Observed] | FR-ATT-029 | ✅ Covered (parity) | R1 | None. Adds comp-off outcome. |
| ATT-G70 | Help › For Admin › Employee Management › HR Policies › Rules 46–48 | Salary deduction for absence on up to two week-off days | [Observed] | FR-ATT-030, US-ATT-08 | ✅ Covered (parity) | R1 | None. |
| ATT-G71 | Help › For Admin › Employee Management › HR Policies › Note: changes affect only newly added employees | Policy edits do not apply to existing employees | [Observed] | PRD 6.1 (effective-dated versions, preview, recompute), FR-ATT-019 | ⬆️ Covered + improved | R1 | None. |
| ATT-G72 | Monthly Attendance grid day-status legend (A, P, W, L, H, HD, WP, HP, HL) | Nine day codes, counts accept halves (14.5) | [Observed-SS] | PRD 7.5.4, FR-ATT-019, FR-ATT-037 | ⬆️ Covered + improved | R1 | None. Adds OD, MP and NE. |
| ATT-G73 | Punch records: time, in or out, location address, source (Lite, CRM, MOBILEAPP) | Punch log with source and address | [Observed-SS] | FR-ATT-001, FR-ATT-002, FR-ATT-010, FR-RPT-003 (report 10), FR-ORG-004 geocoding | ✅ Covered (parity) | R1 | None. |
| ATT-G74 | Punch detail popup: first and last check-in photos | Photo evidence of first and last punch | [Observed-SS] | FR-ATT-002, FR-ATT-038, FR-RPT-003 (reports 9, 10) | ✅ Covered (parity) | R1 | None. Purged after retention.punch_photo_days. |
| ATT-G75 | Rule: with multiple sources, break timings are not considered | Break minutes only from a single source | [Observed-SS] | PRD 7.5.5 rule 2, FR-ATT-021 | ✅ Covered (parity) | R1 | None. |
| ATT-G76 | Monthly Shifts grid: column per shift, present/total per day (e.g. 3/109) | Shift coverage grid | [Observed-SS] | FR-ATT-014 (coverage row), FR-RPT-003 (report 15) | ✅ Covered (parity) | R1 | None. |
| ATT-G77 | Branch Location screen: geo-fencing radius (200 m) | Per-branch fence with radius | [Observed-SS] | FR-ATT-003, US-ATT-01 | ⬆️ Covered + improved | R1 | None. |
| ATT-G78 | Kiosk "Face Detections": all or selected employees, camera flip, no liveness | Shared-device face capture with no anti-spoofing | [Observed-SS] | FR-MOB-013, FR-MOB-014, FR-MOB-017 | ⏳ Deferred | R2 | None. Liveness fixes the gap. |
| ATT-G79 | Mobile attendance request: half-day checkboxes and a required Shift | Request form asks for shift | [Observed-SS] | FR-ATT-023 (halves; no shift field) | 🟡 Partial: no shift selector | R1 | Add FR-ATT-046. |
| ATT-G80 | Mobile calendar legend: Present, Absent, Holiday, Leave, Week-Off, Half Day, Week-off Present, Holiday Present | Colour legend on phone | [Observed-SS] | FR-ATT-037, PRD 7.5.11 | ✅ Covered (parity) | R1 | None. |
| ATT-G81 | Dashboard Alerts: "dd-mm-yyyy – Attendance not recorded" with quick attendance or leave actions | Alerts for days without attendance | [Observed-SS] | FR-ATT-024, 7.5.11 | ✅ Covered (parity) | R1 | None. |
| ATT-G82 | Late Attendance report columns: Shift, Date, Shift In Time, In Time, Late Hours (data showed 672:00:00) | Late detail with implausible values | [Observed-SS] | FR-RPT-003 (report 11), FR-ATT-019 | ⬆️ Covered + improved | R1 | None. Day engine computes lates per shift instance. |
| ATT-G83 | Overnight sessions ending near 04:00 suggest auto punch-out default | Auto punch-out for open sessions | [Inferred] | FR-ATT-020, US-ATT-03 | ✅ Covered (parity) | R1 | None. |
| ATT-G84 | Field punch with photo, name and address (punch source CRM) | Punch at client site | [Observed-SS] | FR-ATT-010 (source FIELD), FR-ATT-002 | ⏳ Deferred | R3 | None. Ships with FFM. |
2.3 Where Spyrl goes beyond Spryple
- One typed attendance policy (FR-ATT-011,
attendance_policyin 7.5.8) replaces rules scattered across the Shift master, HR Policy Rules 16–48 and Payroll policies, with effective-dated versions, an impact preview and recompute (PRD 6.1). Spryple applies policy changes to new employees only. - Deterministic day-computation engine with a "How calculated" view (FR-ATT-019), session-level status, and the extra codes OD, MP and NE beyond Spryple's nine.
- Geo-fences with several fences per location, radius 25–2,000 m, accuracy tolerance and block, flag or off modes (FR-ATT-003, US-ATT-01), versus Spryple's single configured location.
- Offline punch queue with clock-drift flags (FR-ATT-005, US-ATT-02), anomaly review (FR-ATT-039) and optional Wi-Fi or QR fences (FR-ATT-040).
- Overtime with approval, rounding, caps, multipliers and pay or comp-off outcome (FR-ATT-027, FR-ATT-028, US-ATT-05). Spryple only reports "hours beyond shift".
- Swap consent from the counterpart before manager approval (FR-ATT-017, US-ATT-06).
- Period close and lock with blocker checklist, unlock control and next-period adjustments (FR-ATT-032, FR-ATT-033, FR-ATT-034, US-ATT-09).
- Biometric ingestion: device master, idempotent import, unmapped queue, push gateway and device health (FR-ATT-006, FR-ATT-007, FR-ATT-008, US-ATT-10).
- Liveness-checked kiosk and consented face enrolment (FR-MOB-012 to FR-MOB-014, FR-IAM-018), closing the anti-spoof gap seen in the screenshots.
- Late deduction with free count and ordered leave types (FR-ATT-022, US-ATT-07), and roster grid with coverage (FR-ATT-014, FR-ATT-015).
2.4 Recommended PRD changes
| Proposed ID | Requirement | Priority (MoSCoW) | Release | Source breadcrumb |
|---|---|---|---|---|
| FR-ATT-041 | Approval history: approvers can list decided attendance, regularization, permission, shift-change and OT requests (approved, rejected, withdrawn, cancelled) with filters by employee, type, date and decision, and open the full record. Extend FR-NTF-011 with a "Decided" tab. | Should | R1 | Help › For Managers › Attendance Management › Approval History |
| Manager mobile team reports: (a) date-wise punch listing per employee with photos and fence status; (b) monthly present-count summary per employee with a month picker, in addition to Team today and team calendar (FR-MOB-004). | Should | R1 | Help › Mobile App › Spryple HR › Attendance Details; Help › Mobile App › Spryple HR › Attendance Summary; Help › Mobile App › Spryple Lite › 4.2 Detailed Reports | |
| FR-ATT-043 | Employee self-view of extra days, week-off penalty days and late-deduction days for the current and past periods, inside the month summary (FR-ATT-037). Add an employee row to report 14. | Should | R1 | Help › For Employee › Attendance Management › Extra Days; Help › For Employee › Attendance Management › Penalty Days |
| Lite quick-add employee on mobile (name, mobile, monthly salary, shift, optional face enrolment later) that creates a minimal employee through FR-EMP-001 under the Lite entitlement profile. Cross-reference to EMP and MOB owners. | Should | R1 | Help › Mobile App › Spryple Lite › 4.1.1 Add Employee | |
| FR-ATT-045 | Regularization policy option regularization.allow_mark_weekoff: HR may let a regularization record be resolved as week-off (W) or week-off present (WP) when a punch falls on an off day. | Could | R1 | Help › For Admin › Employee Management › HR Policies › Rule 32 |
| FR-ATT-046 | Attendance request shows a shift selector only when the employee has more than one shift on a requested date; otherwise the shift is taken from the roster. Stored on the OD session. | Could | R1 | Mobile attendance request screenshot (research 21.3) |
3. Leave & Holidays
3.1 Coverage summary
| Status | Count |
|---|---|
| ✅ Covered (parity) | 22 |
| ⬆️ Covered + improved | 22 |
| 🟡 Partial | 9 |
| ⏳ Deferred (later release) | 0 |
| ❌ Gap (not in our PRD) | 0 |
| 🚫 Intentionally dropped | 2 |
| Total rows | 55 |
3.2 Feature-by-feature gap table
| # | Breadcrumb | Spryple option (what it does) | Evidence | Spyrl coverage (FR/US) | Status | Release | Gap / action |
|---|---|---|---|---|---|---|---|
| LVE-G01 | Help › For Admin › Leave Management › Leave Policies; Help › For Admin › CRM Field Force Management › 1.4 Leave Policies | Leave Policies page lists common rules plus every activated leave policy; CRM Super Admin edits the same common rules and default types | [Observed] | FR-LVE-002, FR-LVE-021, §7.6.9 (HR policy editor with version timeline) | ✅ Covered (parity) | R1 | None. The CRM admin screen is the same engine, so no separate CRM leave module is needed. |
| LVE-G02 | Help › For Admin › Leave Management › Common rules configuration (rule 1) | Sandwich across week-offs when leave is on Friday and Monday: Yes counts the weekend, No deducts 2 days | [Observed] | FR-LVE-008 (sandwich.weekends, sandwich.adjacent), US-LVE-01 AC2/AC3 | ⬆️ Covered + improved | R1 | None. Improved: uses the employee's own roster and labels sandwich days on the request. |
| LVE-G03 | Help › For Admin › Leave Management › Common rules configuration (rule 2) | Company holiday between leave days counts as leave (sandwich) | [Observed] | FR-LVE-008 (sandwich.holidays) | ✅ Covered (parity) | R1 | None. |
| LVE-G04 | Help › For Admin › Leave Management › Common rules configuration (rule 3) | Number of past days allowed for back-dated leave | [Observed] | FR-LVE-009, §7.6.6 request.backdated_days | ✅ Covered (parity) | R1 | None. |
| LVE-G05 | Help › For Admin › Leave Management › Common rules configuration (rule 4) | Send emails on submit / approve / reject: Yes or No | [Observed] | FR-LVE-002 (notifications.enabled), §7.6.10, FR-NTF-001, FR-NTF-004 | ⬆️ Covered + improved | R1 | None. Improved: per-channel templates and per-user preferences. The mandatory "approval assigned" category cannot be fully disabled (FR-NTF-004). |
| LVE-G06 | Help › For Admin › Leave Management › Common rules configuration (rule 5) | Company leave cycle: April–March or January–December | [Observed] | §7.6.6 tenant-level leave_cycle (ORG), FR-LVE-016 | 🟡 Partial | R1 | The setting appears only in the §7.6.6 table; no FR owns it. Action: add FR-LVE-029 (tenant leave cycle and cycle-change rules). |
| LVE-G07 | Help › For Admin › Leave Management › Common rules configuration (rule 6) | Maximum optional holidays an employee may take per financial year | [Observed] | FR-LVE-013 (optional_holiday.max_per_year, default 2), US-LVE-08 | ✅ Covered (parity) | R1 | None. |
| LVE-G08 | Help › For Admin › Leave Management › Common rules configuration (one form applies to all 10 types) | One common-rules form holds the defaults; per-type forms then repeat the sandwich questions | [Observed] | FR-LVE-002 (per-type leave_policy); sandwich.* exists only per type | 🟡 Partial | R1 | Spyrl has no tenant-level default for sandwich, backdated window or notice. Action: add FR-LVE-030 (tenant common-rule defaults inherited by each type and overridable per type). |
| LVE-G09 | Help › For Admin › Leave Management › How to activate default leaves? | Add new: pick any deactivated default policy and submit to activate it | [Observed] | FR-LVE-001 (templates seed the ten types, active flag) | ⬆️ Covered + improved | R1 | None. Improved: the builder also creates custom types (Restricted, Study, Sabbatical). |
| LVE-G10 | Help › For Admin › Leave Management › How to deactivate Default leaves | Deactivate button hides a leave type (e.g. Loss of Pay) from the policy table | [Observed] | FR-LVE-001 (active flag; LOP is a system type that cannot be deleted) | 🟡 Partial | R1 | No rule for deactivating a type that has open balances, pending requests or future approved leave. Action: add FR-LVE-031. |
| LVE-G11 | Help › For Admin › Leave Management › Casual leave Configuration (Rule1–Rule10) | R1 annual quota; R2 credit frequency; R3 weekend sandwich; R4 max per instance; R5 min service months; R6 advance notice days; R7 holiday sandwich; R8 colour; R9 days after which unused leave lapses or converts; R10 lapsed leave convertible to perks | [Observed] | R1 FR-LVE-002 (entitlement.annual_days); R2 FR-LVE-005; R3 and R7 FR-LVE-008; R4 FR-LVE-009 (request.max_days); R5 FR-LVE-003 (min_service_days); R6 FR-LVE-009; R8 FR-LVE-001; R9 FR-LVE-016 (lapse with grace days); R10 FR-LVE-017 (encashment replaces perks) | ⬆️ Covered + improved | R1 | None. Improved: accrual timing, pro-rata on joining (FR-LVE-006), encashment instead of perks, service in days. |
| LVE-G12 | Help › For Admin › Leave Management › Sick leave Configuration (Rule1–Rule6) | R1 quota; R2 credit frequency; R3 weekend sandwich; R4 holiday sandwich; R5 minimum days that need a supporting document; R6 colour | [Observed] | R1 FR-LVE-002; R2 FR-LVE-005; R3 and R4 FR-LVE-008; R5 FR-LVE-009 (document_required_above_days, upload now or after return); R6 FR-LVE-001 | ⬆️ Covered + improved | R1 | None. Improved: the document may be uploaded within N days after return. |
| LVE-G13 | Help › For Admin › Leave Management › Comp-off leave Configuration (Rule1–Rule9) | R1 max per instance; R2 min service months; R3 week-off work eligible; R4 holiday work eligible; R5 lapsed comp-off convertible to perks; R6 minimum hours worked; R7 back-dated days to raise the request; R8 days after which comp-off lapses; R9 colour | [Observed] | R1 FR-LVE-009 (request.max_days); R2 FR-LVE-003; R3 and R4 FR-LVE-014 (both WP and HP dates always selectable; no separate switches); R5 FR-LVE-017; R6, R7, R8 FR-LVE-014 (comp_off.min_hours, backdated_days, expiry_days with 7-day reminder); R9 FR-LVE-001 | 🟡 Partial | R1 | R3 and R4 are not switches, so a tenant cannot allow week-off work but exclude holiday work. Action: add FR-LVE-032 (comp_off.eligible_day_types). Other rules are covered; R8 is improved by the reminder. |
| LVE-G14 | Help › For Admin › Leave Management › Loss of pay Leave Configuration (Rule1–Rule3) | R1 weekend sandwich; R2 holiday sandwich; R3 colour | [Observed] | R1 and R2 FR-LVE-008; R3 FR-LVE-001; LOP is a system type (FR-LVE-001); insufficient balance split into LOP: FR-LVE-025 | ⬆️ Covered + improved | R1 | None. |
| LVE-G15 | Help › For Admin › Leave Management › Maternity Leave Configuration (Rule1–Rule6) | R1 min service months; R2 document threshold; R3 minimum years gap between terms; R4 maximum times; R5 days per term; R6 colour | [Observed] | R1 FR-LVE-003 (days-worked condition supported); R2 FR-LVE-009; R3 FR-LVE-009 (limits.min_gap_years); R4 FR-LVE-009 (limits.max_times_career); R5 no dedicated per-term days setting (only annual quota or per-request max); R6 FR-LVE-001 | 🟡 Partial | R1 | R5: event-based entitlement (fixed days per occurrence rather than annual accrual) is not modelled. Action: add FR-LVE-033 (entitlement.per_event_days, accrual frequency event). |
| LVE-G16 | Help › For Admin › Leave Management › Paternity Leave Configuration (Rule1–Rule5) | R1 min service; R2 min gap years; R3 maximum times; R4 days per term; R5 colour | [Observed] | R1 FR-LVE-003; R2 and R3 FR-LVE-009 limits; R4 gap, see FR-LVE-033; R5 FR-LVE-001; type becomes "Parental — secondary caregiver" (FR-LVE-001, US-LVE-05) | 🟡 Partial | R1 | R4 shares the days-per-term gap (FR-LVE-033). Gender and marital conditions are dropped; see the eligibility row. |
| LVE-G17 | Help › For Admin › Leave Management › Wedding Leave configuration (Rule1–Rule5) | R1 min service; R2 advance notice days; R3 maximum times; R4 days per term; R5 colour | [Observed] | R1 FR-LVE-003; R2 and R3 FR-LVE-009; R4 gap, see FR-LVE-033; R5 FR-LVE-001; "Marriage" label via FR-LVE-001 template and FR-ORG-017 | 🟡 Partial | R1 | R4 shares the days-per-term gap (FR-LVE-033). The marital-status condition is dropped (see eligibility row). |
| LVE-G18 | Help › For Admin › Leave Management › Bereavement Leave configuration (Rule1–Rule3) | R1 maximum times; R2 days per term; R3 colour | [Observed] | R1 FR-LVE-009 (max_times_per_year, max_times_career); R2 gap, see FR-LVE-033; R3 FR-LVE-001 | 🟡 Partial | R1 | R2 shares the days-per-term gap (FR-LVE-033). |
| LVE-G19 | Help › For Admin › Leave Management › Earned Leave configuration (Rule1–Rule10) | R1 quota; R2 credit frequency; R3 weekend sandwich; R4 max per instance; R5 min service; R6 advance notice; R7 holiday sandwich; R8 maximum carry-forward; R9 max times per year; R10 colour | [Observed] | R1 FR-LVE-002; R2 FR-LVE-005; R3 and R7 FR-LVE-008; R4 and R6 FR-LVE-009; R5 FR-LVE-003; R8 FR-LVE-016 (carry_forward_max, preview, idempotent); R9 FR-LVE-009 (max_times_per_year); R10 FR-LVE-001; extra: encashment FR-LVE-017 | ⬆️ Covered + improved | R1 | None. |
| LVE-G20 | Help › For Admin › Leave Management › Advanced leave configuration | Advanced leave allowed only when CL, SL or EL credits monthly; admin picks which of the three is borrowed against and its balance is reduced | [Observed] | FR-LVE-015 (negative_allowed_days on a monthly-accruing type; recovered from future accruals; F&F deduction), FR-LVE-025 | ⬆️ Covered + improved | R1 | None. Improved: recovery from accruals and F&F deduction. Priority is Should, which is acceptable. |
| LVE-G21 | Help › For Admin › Leave Management › Maternity Leave Configuration (note); …› Paternity Leave Configuration (note); …› Wedding Leave configuration (note) | Maternity only for married females; paternity only for married males; wedding depends on marital status | [Observed] | FR-LVE-003, US-LVE-05 (AC2: the policy editor offers no marital-status field) | 🚫 Intentionally dropped | R1 | Dropped on purpose: marital status is never an eligibility condition; gender is used only for types flagged statutory_gender_specific. Parental leave is gender-neutral and covers adoption and surrogacy. The Maternity Benefit Act does not require marriage. |
| LVE-G22 | Help › For Admin › Leave Management › Leaves Messages Master | Edit every leave success and error message, listed by screen name | [Observed] | FR-NTF-017 (Won't); replaced by i18n bundles, FR-NTF-001 template overrides and FR-ORG-017 label overrides | 🚫 Intentionally dropped | — | Dropped: per-tenant editing of every UI string is a maintenance trap (§7.8.3). Tenant overrides of notification text and selected labels remain. |
| LVE-G23 | Help › For Admin › Leave Management › Casual leave Configuration (note) | Policy changes affect only newly added employees, never existing ones | [Observed] | FR-LVE-024 (preview and adjustment entries), FR-LVE-002 (effective-dated), US-LVE-06 | ⬆️ Covered + improved | R1 | None. Fixes the Spryple limitation with an explicit "apply to existing employees from date X". |
| LVE-G24 | Help › For Admin › Employee Management › Holidays | Define holidays for the whole company or specific branches: branch, date, type (Public/Optional), name; duplicates for the same date and branch rejected; used in leave duration | [Observed] | FR-ORG-010 (calendars by location, public/optional, half-day option, duplicate rejection, recompute on change), FR-ORG-009, FR-LVE-008 | ⬆️ Covered + improved | R0 | None. Improved: named calendars, copy to next year, half-day holiday, recomputation of leave day counts. |
| LVE-G25 | Help › For Admin › Employee Management › Holidays (edit, delete, Public / Optional filters, branch search) | Edit icon, delete icon, Public and Optional list filters, search by branch | [Observed] | FR-ORG-010, FR-ORG-009 (masters pattern), FR-RPT-002 | ✅ Covered (parity) | R0 | None. Confirm in design that deleting a holiday used by approved leave triggers recompute (§7.6.12 edge case). |
| LVE-G26 | Help › For Managers › Leave Management › Manager Leave Dashboard | Calendar of employees with approved leave | [Observed] | FR-LVE-020 (team leave calendar), FR-LVE-010, §7.6.9 | ⬆️ Covered + improved | R1 | None. Adds pending leave, conflict banner and max-concurrent warning. |
| LVE-G27 | Help › For Managers › Leave Management › Pending Requests; …› Approve; …› Reject; …› Review & approve; Help › Mobile App › Spryple HR › Approving Leave Request by Manager; Help › Mobile App › Sales CRM Mobile Application › 5.8.c Pending Approvals | Pending list; view, approve, reject with mandatory reason; mobile pending approvals with View, Approve, Reject | [Observed] | US-LVE-02, FR-NTF-011 (unified inbox, bulk), FR-NTF-007, FR-MOB-004 | ⬆️ Covered + improved | R1 | None. Improved: team context, multi-level conditional approval, bulk approve. |
| LVE-G28 | Help › For Managers › Leave Management › Pending Comp-off; Help › Mobile App › Spryple HR › Approving Comp-Off Request by Manager | Pending comp-off requests with approve, reject, view (web and mobile) | [Observed] | FR-LVE-014, FR-NTF-011, FR-MOB-004 | ✅ Covered (parity) | R1 | None. |
| LVE-G29 | Help › For Managers › Leave Management › Pending Cancellation Requests | Approve, reject or view employee leave cancellation requests | [Observed] | FR-LVE-011, US-LVE-03, §6.2 (CancelRequested) | ⬆️ Covered + improved | R1 | None. Improved: partial cancel of remaining days and ledger reversal. |
| LVE-G30 | Help › For Managers › Leave Management › Leave History | All approved, rejected and deleted leave requests | [Observed] | FR-LVE-019, FR-RPT-003, §7.6.11 (leave register), §6.2 states | ✅ Covered (parity) | R1 | None. Ensure the status filter includes Withdrawn (Spryple "Deleted") and Cancelled. |
| LVE-G31 | Help › For Managers › Leave Management › Comp-off History | Comp-off requests: approved, utilized, expired | [Observed] | FR-LVE-004 (comp_off_credit, comp_off_expiry entries), FR-LVE-014, §7.6.11 (comp-off register: credited, availed, expired) | ⬆️ Covered + improved | R1 | None. |
| LVE-G32 | Help › For Managers › Leave Management › Detailed Report; …› Employee wise Report | Employee-, date-, leave-type- and designation-wise reports; filters by period, type, status, designation, All employees; Excel and PDF download | [Observed] | §7.6.11 (leave register), FR-RPT-002, FR-RPT-003, FR-RPT-004 | ✅ Covered (parity) | R1 | None. |
| LVE-G33 | Help › For Managers › Leave Management › Summary Report | Total worked days and total leave count, Excel/PDF | [Observed] | §7.6.11 (leave summary: worked days vs leave), FR-RPT-003, FR-RPT-004 | ✅ Covered (parity) | R1 | None. |
| LVE-G34 | Help › For Managers › Leave Management › Payroll Report | Approved leaves, LOP and absent counts; current month by default; single employee; Excel/PDF | [Observed] | FR-LVE-023 (leave payroll bridge reconciled with ATT payable days), FR-RPT-004 | ⬆️ Covered + improved | R1 | None. |
| LVE-G35 | Help › For Managers › Leave Management › Request on Behalf of Employee | Manager applies leave for an employee, sees their balance and count, auto-approved | [Observed] | FR-LVE-012, FR-LVE-007 | ⬆️ Covered + improved | R1 | None. Improved: reason mandatory and audited; HR can also act. |
| LVE-G36 | Help › For Managers › Leave Management › Comp off Request on Behalf of Employee | Manager picks employee, worked date (only week-off or holiday worked dates), leave date, reason | [Observed] | FR-LVE-012, FR-LVE-014 | ✅ Covered (parity) | R1 | None. Spyrl credits the comp-off first; the leave date is taken later as a normal request. |
| LVE-G37 | Help › For Managers › Leave Management › Optional Holiday Approval | Pending, approved and rejected optional-holiday requests; date-range and name search; reject with reason | [Observed] | FR-LVE-013, US-LVE-08, FR-NTF-011, FR-RPT-002 | ✅ Covered (parity) | R1 | None. |
| LVE-G38 | Help › For Managers › Leave Management › Optional Holiday on Behalf of Employee | Manager picks employee and optional holiday plus remarks; approved list | [Observed] | FR-LVE-013 (on-behalf), FR-LVE-012 | ✅ Covered (parity) | R1 | None. |
| LVE-G39 | Help › For Employee › Leave Management › Employee; Help › For Employee › Leave Management › Leave Dashboard | Leave module entry and dashboard with colour-coded balances | [Observed] | FR-LVE-019, FR-LVE-001 (colour), §7.6.9 (balance chips) | ✅ Covered (parity) | R1 | None. |
| LVE-G40 | Help › For Employee › Leave Management › Calendar; Help › For Employee › Sales CRM Web Application (calendar of presents, absents, week-offs, holidays, leaves) | Calendar of holidays, week-offs and leaves | [Observed] | FR-LVE-020, FR-ATT-037 | ✅ Covered (parity) | R1 | None. |
| LVE-G41 | Help › For Employee › Leave Management › Holiday List | Company holiday list, next 3 upcoming, View All | [Observed] | FR-LVE-020 (next 3 and View all), FR-MOB-003 | ✅ Covered (parity) | R1 | None. |
| LVE-G42 | Help › For Employee › Leave Management › Leave Request; Help › For Employee › Sales CRM Web Application › 4. 5 Leave Request | Type limited by balance, from/to date, first/second half, auto count, reason, past dates per config, sandwich per rules | [Observed] | FR-LVE-007, FR-LVE-008, FR-LVE-009, FR-LVE-025, US-LVE-01 | ⬆️ Covered + improved | R1 | None. Improved: labelled sandwich days, balance after, split into LOP, team-conflict warning. |
| LVE-G43 | Help › For Employee › Leave Management › Leave History; Help › For Employee › Sales CRM Web Application › 4.6 Leave History | View, edit, delete before approval; cancel approved future leave; no cancel of past leave; view submitted, approved, rejected, deleted | [Observed] | FR-LVE-011 (withdraw, cancel future, remaining days only, past via HR), §6.2 (edit resets approvals), US-LVE-03 | ⬆️ Covered + improved | R1 | None. |
| LVE-G44 | Help › For Employee › Leave Management › Leave Balance; Help › For Employee › Sales CRM Web Application › 4.7 Leave Balance | Available balance per leave type | [Observed] | FR-LVE-019, FR-LVE-004 (ledger) | ⬆️ Covered + improved | R1 | None. Improved: booked, pending, expiring and "how calculated". |
| LVE-G45 | Help › For Employee › Leave Management › Comp-off Request | Pick worked date (only week-off and holiday dates enabled), hours and minutes, reason; view registered comp-offs | [Observed] | FR-LVE-014, US-LVE-04 | ⬆️ Covered + improved | R1 | None. Improved: auto-credit from ATT outcomes (FR-ATT-028/029) and expiry reminder. |
| LVE-G46 | Help › For Employee › Leave Management › Company Leave Policies | Read-only common rules and per-type rules for admin-configured leaves | [Observed] | FR-LVE-021, §7.6.8 (own policy R) | ⬆️ Covered + improved | R1 | None. Improved: plain-language summary of the employee's own resolved policy. |
| LVE-G47 | Help › For Employee › Leave Management › Optional Holiday Request | Add: pick optional holiday and remarks; view, delete; list by month; submitted, approved, rejected, deleted | [Observed] | FR-LVE-013, US-LVE-08, §6.2 (Withdrawn) | ✅ Covered (parity) | R1 | None. |
| LVE-G48 | Help › Mobile App › Spryple HR › Applying Leave Request by Employee; Help › Mobile App › Sales CRM Mobile Application › 4.7.a Leave Request; …› 4.7.b Leave History; …› 5.8.a Leave Request | Mobile leave apply (type, dates, half days, reason, balance) and history; managers apply their own leave; confirmation message | [Observed] | FR-MOB-003, FR-MOB-004, FR-LVE-007, US-LVE-01 | ⬆️ Covered + improved | R1 | None. Improved: one app for HR and CRM users (FR-MOB-001) and offline cache of balances (FR-MOB-005). |
| LVE-G49 | Help › Mobile App › Spryple HR › Applying Comp-Off Request by Employee | Mobile comp-off request (worked date, hours, minutes, reason) and comp-off history | [Observed] | FR-MOB-003, FR-LVE-014 | ✅ Covered (parity) | R1 | None. |
| LVE-G50 | Help › Mobile App › Sales CRM Mobile Application › 5.8.b Leave History | Manager sees all employees' applied, approved, rejected and cancelled leave and acts on them in the app | [Observed] | FR-MOB-004, FR-LVE-020, FR-NTF-011 | ✅ Covered (parity) | R1 | None. |
| LVE-G51 | Help › For Employee › Leave Management › Leave Request (mobile fields Contact Number and Emergency Mail) | Leave request captures a contact number and emergency email during the leave; colour-coded balance chips | [Observed-SS] | FR-LVE-007 (contact number and alternate email), §7.6.9, FR-MOB-003 | ✅ Covered (parity) | R1 | None. Naming differs ("alternate email" vs "Emergency Mail"); keep the data fields. |
| LVE-G52 | Help › For Employee › Leave Management › Leave History (status "Cancel Submitted") | Status shown while an employee's cancellation of approved leave awaits the manager | [Observed-SS] | §6.2 CancelRequested, FR-LVE-011, US-LVE-03 | ✅ Covered (parity) | R1 | None. Use the user-facing label "Cancellation requested" on the status chip. |
| LVE-G53 | Help › For Employee › Leave Management › Leave Request (Manager Name and Used / Available / Total panel) | Request screen shows reporting manager name and Used, Available and Total balance | [Observed-SS] | FR-LVE-007 (live balance only), FR-LVE-019 (available, booked, pending, taken), FR-NTF-008 (approver resolution) | 🟡 Partial | R1 | Approver name and total entitlement are not stated on the request form. Action: add FR-LVE-034. |
| LVE-G54 | Help › For Employee › Leave Management › Company Leave Policies (sample type "Marriage"; CRM history statuses Approved, Rejected, Deleted, Cancelled) | Observed labels: Marriage for Wedding; CRM statuses and types Casual, Sick, LOP, Comp Off | [Observed-SS] | FR-LVE-001 (templates), FR-ORG-017 (label overrides), §6.2 states | ✅ Covered (parity) | R1 | None. Seed a "Marriage" label alias on the Wedding template. |
| LVE-G55 | Help › For Employee › Leave Management › Leave Request (dashboard alert shortcut) | Alerts panel "Attendance not recorded" with quick attendance or leave request actions | [Observed-SS] | FR-ATT-024 (regularization alerts with apply-leave action), FR-ATT-037 | ✅ Covered (parity) | R1 | None. |
3.3 Where Spyrl goes beyond Spryple
- Custom leave types (FR-LVE-001): a builder with templates replaces ten fixed types, so tenants add Restricted, Study, Sabbatical or state-specific leave without code.
- Ledger (FR-LVE-004, FR-LVE-019): every balance is derived and explainable, with "how calculated" per entry; Spryple shows only a balance.
- Inclusive eligibility (FR-LVE-003, US-LVE-05): no marital-status or binary-gender rules; gender-neutral parental leave including adoption and surrogacy.
- Policy versions and migration (FR-LVE-002, FR-LVE-024, US-LVE-06): effective-dated, with a preview and adjustment entries, instead of "new employees only".
- Encashment (FR-LVE-017) replaces "convert to perks"; year-end preview and idempotent run (FR-LVE-016, US-LVE-07).
- Pro-rata and accrual engine (FR-LVE-005, FR-LVE-006) with joining cut-off and rounding.
- Team conflict warnings (FR-LVE-010, US-LVE-02) and unified, multi-level approvals with delegation (FR-NTF-007, FR-NTF-009, FR-NTF-011).
- Cancellation (FR-LVE-011): partial cancel of remaining days and ledger reversal.
- Insufficient-balance split into LOP (FR-LVE-025) and negative-balance recovery at F&F (FR-LVE-015).
- Locked-period protection (FR-LVE-022) and holiday-change recomputation (§7.6.12).
- Auto comp-off credit from attendance (FR-LVE-014 b) with expiry reminders.
- Calendar sync (FR-LVE-027, R3) and statutory state templates (FR-LVE-026, R2).
3.4 Recommended PRD changes
| Proposed ID | Requirement | Priority (MoSCoW) | Release | Source breadcrumb |
|---|---|---|---|---|
| FR-LVE-029 | Tenant-level leave cycle setting (April–March or January–December; others allowed) owned by an FR, with rules for changing the cycle mid-life (pro-rated bridge period, carry-forward run). | Must | R1 | Help › For Admin › Leave Management › Common rules configuration |
| FR-LVE-030 | Tenant common-rule defaults (sandwich flags, backdated window, notice days, emails) inherited by every leave type and overridable per type; the policy editor shows "inherited" versus "overridden". | Should | R1 | Help › For Admin › Leave Management › Common rules configuration |
| FR-LVE-031 | Deactivating a leave type with open balances, pending requests or future approved leave is blocked or requires an explicit choice (keep until exhausted, convert, or lapse); the type then hides from new requests. | Should | R1 | Help › For Admin › Leave Management › How to deactivate Default leaves |
| FR-LVE-032 | Comp-off eligibility switches comp_off.eligible_day_types (week-off work, holiday work), each on or off per policy. | Should | R1 | Help › For Admin › Leave Management › Comp-off leave Configuration |
| FR-LVE-033 | Event-based entitlement: entitlement.per_event_days with accrual frequency event, so Maternity, Parental, Wedding and Bereavement templates grant a fixed number of days per occurrence, combined with max_times and min_gap_years. | Must | R1 | Help › For Admin › Leave Management › Maternity Leave Configuration |
| FR-LVE-034 | The leave request and history show the resolved approver name and Used / Available / Total entitlement per type. | Should | R1 | Help › For Employee › Leave Management › Leave Request |
4. Payroll & Statutory Compliance
4.1 Coverage summary
| Status | Count |
|---|---|
| ✅ Covered (parity) | 12 |
| ⬆️ Covered + improved | 23 |
| 🟡 Partial | 10 |
| ⏳ Deferred (later release) | 3 |
| ❌ Gap (not in our PRD) | 0 |
| 🚫 Intentionally dropped | 2 |
| Total rows | 50 |
4.2 Feature-by-feature gap table
| # | Breadcrumb | Spryple option (what it does) | Evidence | Spyrl coverage (FR/US) | Status | Release | Gap / action |
|---|---|---|---|---|---|---|---|
| PAY-G01 | Help › For Super Admin › Payroll Management › Employee Pay Group ListHelp › For Managers › Payroll Management › Employee Pay group List | List employees by location and pay group (name, location, pay group); search by name. SS grid adds Emp ID, Designation, CTC, Assigned On. | [Observed] [Observed-SS] | FR-PAY-004, FR-PAY-006; CTC report (§7.7.15) | ✅ Covered (parity) | R1 | Ensure the CTC report and compensation list filter by pay group, location and effective date, and include Assigned On (effective-from). |
| PAY-G02 | Help › For Admin › Payroll Management › Finance AdminHelp › For Managers › Payroll Management › Finance Manager | Role entry: log in as finance admin / finance manager and open the Payroll module. | [Observed] | §7.7.12 permissions (finance_admin, payroll_manager) | ⬆️ Covered + improved | R1 | None. Spyrl splits prepare / approve with segregation of duties (FR-PAY-035, FR-PAY-036). |
| PAY-G03 | Help › For Admin › Payroll Management › Finance DashboardHelp › For Managers › Payroll Management › Finance Manager | Pick past month and department; see total salary, EPF, ESI details. | [Observed] | FR-PAY-062 | ⬆️ Covered + improved | R1 | None. |
| PAY-G04 | Help › For Admin › Payroll Management › EPFHelp › For Managers › Payroll Management › EPF | Edit EPF employee/employer contribution, admin charges, EDLI. | [Observed] | FR-PAY-007, FR-PLT-009 | ⬆️ Covered + improved | R1 | None. Values come from the versioned statutory pack. |
| PAY-G05 | Help › For Admin › Payroll Management › ESIHelp › For Managers › Payroll Management › ESI | ESI config; 'include employer contribution in CTC' toggle; state-wise ESI numbers. | [Observed] | FR-PAY-008 | ✅ Covered (parity) | R1 | None. |
| PAY-G06 | Help › For Admin › Payroll Management › Pay ScheduleHelp › For Managers › Payroll Management › Pay Schedule | Same or different payroll and leave window (e.g. 25th-24th); salary basis actual days or organisation working days. | [Observed] | FR-PAY-005 | ⬆️ Covered + improved | R1 | None. Adds attendance cut-off, fixed 30 / fixed 26 bases. |
| PAY-G07 | Help › For Admin › Payroll Management › Pay groupHelp › For Managers › Payroll Management › Pay group | Pay group = name + CTC start/end range + chosen earnings and deductions; status Configuration in Progress to Active. | [Observed] | FR-PAY-003, FR-PAY-006 | 🚫 Intentionally dropped | R1 | Dropped by design: a CTC range must not decide the structure (a promotion at the same CTC, or a CTC outside every range, breaks Spryple). Spyrl uses versioned structure templates plus effective-dated compensation; pay group = legal entity + schedule. Migration: map each Spryple pay group to one template. |
| PAY-G08 | Help › For Admin › Payroll Management › Pay group configurationHelp › For Managers › Payroll Management › Pay group configuration | Per component set % (of CTC/Basic) or flat; rename for payslip; EPF-eligible flag; flat disabled for some components. | [Observed] | FR-PAY-001, FR-PAY-002, FR-PAY-003 | ⬆️ Covered + improved | R1 | None. Adds formulas and a never-negative balancing component. |
| PAY-G09 | Help › For Managers › Payroll Management › Assign Pay Group | Pick employee, enter CTC, choose matching pay group, see monthly/annual CTC breakdown, assign. | [Observed] | FR-PAY-004 | ⬆️ Covered + improved | R1 | None. |
| PAY-G10 | Help › For Managers › Payroll Management › Reassign Pay group | Change CTC with same pay group, or with a new pay group (new FY / increment). | [Observed] | FR-PAY-004, FR-PAY-017, US-PAY-02 | ⬆️ Covered + improved | R1 | None. Effective-dated, with arrears and bulk revision. |
| PAY-G11 | Help › For Admin › Payroll Management › Bank Master | Bank name, IFSC, account, address, country/state/city, status, flags Is EPF / Is ESI / Is PT. | [Observed] | FR-PAY-012 | ✅ Covered (parity) | R1 | Confirm the bank master carries IFSC lookup and the EPF/ESI/PT payer flags (FR-PAY-012 has them). |
| PAY-G12 | Help › For Admin › Payroll Management › Payroll Policies | 14 rules. R1 advance instalments: FR-PAY-023 (covered). R2 cooling-off months: FR-PAY-023 (covered). R3 OT in salary: FR-PAY-013 (covered). R4 Gratuity Act coverage and R5 gratuity in monthly component: FR-PAY-011 (improved: employer provision, not deduction). R6 variable DA applicable: FR-PAY-016 (deferred R2). R7 absent = LOP: FR-PAY-013 (covered). R8 dynamic payroll processing and R9 leave threshold: see PAY-G13 (partial). R10 ESI/EPF independent of LOP: FR-PAY-013 (covered). R11 minimum OT hours: FR-ATT-027 minimum minutes (covered). R12 variable-pay frequency: FR-PAY-013, FR-PAY-022 (covered). R13 proportionate week-off deduction: see PAY-G14 (partial). R14 extra-day payment: FR-PAY-013, FR-ATT-029 (covered). | [Observed] | FR-PAY-013, FR-PAY-023, FR-PAY-011, FR-PAY-016, FR-ATT-027, FR-ATT-029 | 🟡 Partial | R1 (R6: R2) | Rules 8, 9, 13 need explicit specs (rows PAY-G13, PAY-G14). R6 depends on VDA (PAY-G16). Add an acceptance table mapping each of the 14 Spryple rules to a payroll_policy key so migration is lossless (FR-PAY-066). |
| PAY-G13 | Dynamic payroll processing (Payroll Policies Rules 8-9; breadcrumb Help › For Admin › Payroll Management › Payroll Policies) | Rule 8 yes/no; Rule 9 'number of leaves threshold for dynamic payroll processing' (minimum leaves accepted for the same leave window). Semantics undocumented. | [Observed] (doc is ambiguous) | FR-PAY-005 (attendance cut-off with true-up), FR-PAY-040, FR-LVE-022 (back-dated changes become arrears or adjustments) | 🟡 Partial | R1 | Intent (late leave or attendance changes after the payroll window are still honoured) is met through the cut-off true-up and arrears; the toggle and threshold are not. Action: confirm Spryple semantics with a pilot customer; if a threshold is needed add payroll_policy.late_leave_threshold (FR-PAY-067); otherwise mark 'subsumed' and drop. |
| PAY-G14 | Help › For Admin › Payroll Management › Payroll PoliciesRule 13 | Rule 13: after how many LOP days a proportionate week-off deduction applies. | [Observed] | FR-PAY-013 ('LOP-linked week-off deduction'), FR-ATT-030 | 🟡 Partial | R1 | FR-PAY-013 names the rule but not the threshold or the proration formula. Action: specify weekoff_lop.threshold_days and a proportionate deduction (week-offs x LOP/working-days) in FR-PAY-013 with a worked example (FR-PAY-068). |
| PAY-G15 | Help › For Admin › Employee Management › HR Policies(Rules 43-48, payroll effect) | Extra-day payment (Y/N, week-off day 1 and day 2) adds to payslip and extra-day report; week-off penalty (Y/N, day 1 and day 2) deducts and shows in penalty report and payslip. | [Observed] | FR-ATT-029, FR-ATT-030, FR-PAY-013, FR-ATT-035, FR-PAY-042 | ✅ Covered (parity) | R1 | None. Confirm the payslip prints extra days and penalties as separate lines (FR-PAY-042 does). |
| PAY-G16 | Help › For Admin › Payroll Management › Variable DA | Concept page: Dearness Allowance that varies with CPI; mainly used for government-linked pay. | [Observed] | FR-PAY-016, FR-PAY-001 | ⏳ Deferred (later release) | R2 | Deferred (Could). Minimum-wage sectors (security, housekeeping, factories) pay VDA, so raise to Should and keep the date at R2, or ship it earlier as a formula component using the Slab lookup method (FR-PAY-001) in R1. See FR-PAY-069. |
| PAY-G17 | Help › For Admin › Payroll Management › Variable DA Configuration | Add notification: name, published name, CPI points, CPI at notified date, date, VDA rate per point, effective date, attachment; view/edit. | [Observed] | FR-PAY-016 | ⏳ Deferred (later release) | R2 | Build as an effective-dated rate master in the statutory pack path so VDA drives a component automatically. Requires: notification record, rate per point, effective date, attachment, history, arrears on back-dated notification (FR-PAY-040). |
| PAY-G18 | Help › For Admin › Payroll Management › Arrear Distribution | Arrear entry by month/year, branch, employee; pick arrear names and amounts. | [Observed] | FR-PAY-040, FR-PAY-020, FR-PAY-041, US-PAY-02 | ⬆️ Covered + improved | R1 | None. Auto-computed arrears plus manual entry via one-time earnings. |
| PAY-G19 | Help › For Admin › Payroll Management › Arrear Distribution History | History by month and branch; search by name/ID; status Pending/Paid; paid arrears show on payslip. | [Observed] | Arrears report (§7.7.15), FR-PAY-037, FR-PAY-038, FR-PAY-042 | ⬆️ Covered + improved | R1 | None. |
| PAY-G20 | Help › For Managers › Payroll Management › Monthly Payroll (Generate Payroll) | Select FY, month, employees; Calculate Salary publishes payslips (Finance Manager only). | [Observed] | FR-PAY-028 to FR-PAY-031, FR-PAY-032, US-PAY-03 | ⬆️ Covered + improved | R1 | None. Adds validation, review, approval, lock. |
| PAY-G21 | Help › For Managers › Payroll Management › Monthly Payroll Report (View generated Payroll) | Generated salaries with bank account info; download PDF for the bank. | [Observed] | Payroll register (§7.7.15), FR-PAY-044 | ⬆️ Covered + improved | R1 | None. Bank files are machine-readable, not only PDF. |
| PAY-G22 | Help › For Managers › Payroll Management › EPF Report | Employee-wise EPF deductions; download for EPF portal upload. | [Observed] | FR-PAY-045, EPF report (§7.7.15) | ⬆️ Covered + improved | R1 | None. ECR text file with validation. |
| PAY-G23 | Help › For Managers › Payroll Management › ESI Report | ESI report as PDF or Excel. | [Observed] | FR-PAY-046 | ⬆️ Covered + improved | R1 | None. |
| PAY-G24 | Help › For Managers › Payroll Management › Professional Tax Report | Employee count by state; month and state search for PT employee data. | [Observed] | FR-PAY-047 | ✅ Covered (parity) | R1 | None. |
| PAY-G25 | Help › For Managers › Payroll Management › Professional Tax (View) | Read-only PT ranges and monthly deduction amounts by state, for states of the tenant's locations. | [Observed] | FR-PAY-009, FR-PLT-009 (slabs in pack; change log) | 🟡 Partial | R1 | Slabs live in the pack but no screen to view them is specified. Action: add a read-only PT slab viewer per state with effective dates and the pack version (FR-PAY-070). |
| PAY-G26 | Help › For Managers › Payroll Management › Payroll Messages Master | Editable catalogue of error, success and failure messages by screen. | [Observed] | No FR | 🚫 Intentionally dropped | - | Dropped: tenant-editable system messages break support, translation and accessibility consistency. Spyrl keeps one message catalogue maintained centrally. Tenant wording is limited to payslip labels (FR-PAY-001) and notification templates. |
| PAY-G27 | Help › For Managers › Payroll Management › Employee Payments Report | Branch, manager, month/year; past months plus current with regularization; grand total. | [Observed] | FR-PAY-038, payroll register (§7.7.15) (no dedicated report) | 🟡 Partial | R1 | No 'employee payments' register is specified. Action: add a payment register (employee, net pay, mode, paid date, UTR, status) with branch/manager/month filters and grand total, including late attendance regularization effects (FR-PAY-071). |
| PAY-G28 | Help › For Managers › Payroll Management › Leave Balance Report | Available leave balance per employee. | [Observed] | FR-LVE-019, FR-LVE-004 | 🟡 Partial | R1 | FR-LVE-019 is a per-employee view; confirm an org-wide balance report is in the LVE report list and visible to payroll_manager (needed for leave encashment and F&F). |
| PAY-G29 | Help › For Managers › Payroll Management › Other Deductions | Master of deduction name and amount; add/edit. | [Observed] | FR-PAY-021, FR-PAY-020 | ✅ Covered (parity) | R1 | None. |
| PAY-G30 | Help › For Managers › Payroll Management › Manage Other Deductions | Map deduction to pay group (pay-group-deduction mapping), add/remove. | [Observed] | FR-PAY-021 (assigned per employee), FR-PAY-003 | 🟡 Partial | R1 | Pay group mapping is replaced by per-employee assignment. Action: bulk-assign a recurring deduction by pay group, template or filter (FR-PAY-072). |
| PAY-G31 | Help › For Managers › Payroll Management › Bank Wise Salary Summary | Month/year and bank; shows ESI, EPF, PT and pay group total; select employees (pending salary disabled), total, submit; history by month. | [Observed] | Bank-wise salary summary (§7.7.15), FR-PAY-044, FR-PAY-038 | 🟡 Partial | R1 | Listed as a report name only. Action: define it: net pay by employee bank (beneficiary) and by debit account with statutory deductions, selection total, mark-paid hook, and history (FR-PAY-073). |
| PAY-G32 | Help › For Managers › Payroll Management › EPF deduction | EPF category view and PT category view of employees (PT-eligible by state). | [Observed] | FR-PAY-045, FR-PAY-047 | ✅ Covered (parity) | R1 | None. |
| PAY-G33 | Help › For Managers › Payroll Management › ESI category | ESI-eligible employees' salary details by state. | [Observed] | FR-PAY-046, FR-PAY-008 | ✅ Covered (parity) | R1 | None. |
| PAY-G34 | Help › For Managers › Payroll Management › Detailed Payroll Report | Month/year search; view and download payslip. | [Observed] | FR-PAY-034, FR-PAY-042, FR-PAY-043 | ⬆️ Covered + improved | R1 | None. |
| PAY-G35 | Help › For Managers › Payroll Management › Advance Salary Report | Advance recovery report (section empty in the Help Center). | [Observed] (doc defect) | FR-PAY-025, advance and loan recovery report (§7.7.15) | ⬆️ Covered + improved | R1 | None. Fixes the empty section. |
| PAY-G36 | Help › For Managers › Payroll Management › Payable Days Report | Month, branch; employee payable days table with history. | [Observed] | Payable-days report (§7.7.15), FR-ATT-035 | 🟡 Partial | R1 | Named in the report list, no FR in PAY. Action: specify it with columns from FR-ATT-035 (P, A, L, LOP, W, H, extra days, penalties), ATT lock version, branch filter and month history (FR-PAY-074). |
| PAY-G37 | Help › For Managers › Payroll Management › TDS Distribution | TDS entry: month and branch, tick employees, type amount, submit; TDS history. | [Observed] | FR-PAY-050, FR-PAY-051 to FR-PAY-054, US-PAY-07 | ⬆️ Covered + improved | R1 | None. Engine replaces manual TDS; keeps manual override per employee per run with reason, and TDS register for history. |
| PAY-G38 | Help › For Managers › Payroll Management › Variable Pay Distribution | Entry by branch, calculation period, distribution period; select employees and amounts. | [Observed] | FR-PAY-022 | ✅ Covered (parity) | R1 | None. |
| PAY-G39 | Help › For Managers › Payroll Management › Variable Pay Schedule | Distribution type: monthly share or lump sum. | [Observed] | FR-PAY-022, FR-PAY-013 | ✅ Covered (parity) | R1 | None. |
| PAY-G40 | Help › For Employee › Payroll Management › Employee Dashboard | See payslips and EPF deduction (ESI where eligible). | [Observed] | FR-PAY-061, US-PAY-09 | ⬆️ Covered + improved | R1 | None. |
| PAY-G41 | Help › For Employee › Payroll Management › CTC History | View earning components monthly and annually. | [Observed] [Observed-SS] | FR-PAY-004, FR-PAY-061 | ✅ Covered (parity) | R1 | None. |
| PAY-G42 | Help › For Employee › Payroll Management › Pay Slips | View and download payslip; includes earnings, deductions, other deductions, LOP, arrears, variable pay, gratuity, OT, extra days. | [Observed] | FR-PAY-042, FR-PAY-043, FR-PAY-061 | ⬆️ Covered + improved | R1 | None. |
| PAY-G43 | Help › For Employee › Payroll Management › Request Advance Salary | Needs one payslip; amount up to gross; Finance Manager approval; recovery table. | [Observed] | FR-PAY-023, FR-PAY-025, US-PAY-08 | ⬆️ Covered + improved | R1 | None. |
| PAY-G44 | Help › Mobile App › Spryple HR › (Payroll Management payslips steps, in the comp-off approvals node) | Pick financial year and month; see Net Pay, Total Earnings, Deductions. | [Observed] | FR-PAY-061, US-PAY-09, §7.7.13 mobile Pay tab | ⬆️ Covered + improved | R1 | None. Adds 'How was this calculated?' and tax tab. |
| PAY-G45 | Help › Mobile App › Spryple Lite › 4.4 Payroll Reports | Summary of payroll for a period: name, monthly salary, presents, payable salary (SS also shows P. Tax). | [Observed] [Observed-SS] | FR-PAY-018, FR-PAY-004 | 🟡 Partial | R1 | Lite run screen is specified but not the mobile summary report. Action: add the Lite payroll summary (name, salary, present days, PT, payable) as a mobile report (FR-PAY-075). |
| PAY-G46 | Help › For Employee › Payroll Management › Pay Slips (layout) | Payslip: pay summary with UAN, ESI No., PAN; bank; leave balance panel; LOP amount with days; arrears; total in words; system-generated footer. Gratuity shown as deduction. | [Observed-SS] | FR-PAY-042, FR-PAY-011 | ⬆️ Covered + improved | R1 | None. Gratuity is an employer provision; arrears are included in the printed formula. |
| PAY-G47 | Help › For Employee › Payroll Management › CTC History (duration selector) | Select Duration (e.g. July 2023 - Present) implies effective-dated periods. | [Observed-SS] | FR-PAY-004 | ✅ Covered (parity) | R1 | None. |
| PAY-G48 | Help › For Employee › Payroll Management › Request Advance Salary (form) | Read-only gross and eligible amount; required amount; months to recover (default 2); status and recovery columns. | [Observed-SS] | FR-PAY-023, FR-PAY-025 | ⬆️ Covered + improved | R1 | Show eligible amount and default instalments in the form. |
| PAY-G49 | Help › For Employee › Payroll Management › IT Declaration (menu only) | Employee IT Declaration menu; no Help Center text. | [Observed-SS] | FR-PAY-052, FR-PAY-053, FR-PAY-051 | ⬆️ Covered + improved | R1 | None. |
| PAY-G50 | Help › For Employee › Payroll Management › Form 16 (menu only) | Employee Form 16 menu; no Help Center text. | [Observed-SS] | FR-PAY-055 | ⏳ Deferred (later release) | R2 | Deferred to R2 while TDS and declarations ship R1. Risk: first full year ends before R2. Action: confirm Form 16 ships before the first June after go-live, or provide a TDS certificate fallback (see FR-PAY-076). |
4.3 Where Spyrl goes beyond Spryple
- Run lifecycle (Draft, Calculated, Reviewed, Approved, Locked, Paid, Reversed) with four-eyes approval and reversal (FR-PAY-029, FR-PAY-035, FR-PAY-036, FR-PAY-039); Spryple has only Calculate Salary.
- Structure templates and formula components replace CTC-range pay groups; a never-negative balancing component (FR-PAY-002, FR-PAY-003).
- TDS engine with regime choice, declarations, proofs, previous-employer income and a tax worksheet (FR-PAY-050 to FR-PAY-054), versus manual TDS entry.
- Portal-ready ECR, ESI, PT and LWF files and bank transfer files (FR-PAY-044 to FR-PAY-048); LWF and challan tracking are absent in Spryple.
- Gratuity as an employer provision, not an employee deduction (FR-PAY-011).
- Effective-dated compensation with automatic arrears, variance report, validations, salary hold, off-cycle and F&F runs (FR-PAY-030, FR-PAY-033, FR-PAY-040, FR-PAY-041, FR-PAY-026, FR-PAY-060).
- Advances and loans on a recovery ledger; fills the empty Advance Salary Report (FR-PAY-023 to FR-PAY-025).
- Statutory values in a versioned pack with change log (FR-PLT-009); 8-year reproducibility (FR-PAY-065).
4.4 Recommended PRD changes
| Proposed ID | Requirement | Priority (MoSCoW) | Release | Source breadcrumb |
|---|---|---|---|---|
| FR-PAY-066 | Migration map: each of Spryple's 14 payroll policy rules maps to a named payroll_policy key, documented in 7.7.10. | Should | R1 | Help › For Admin › Payroll Management › Payroll Policies |
| FR-PAY-067 | Late leave and attendance threshold: decide and specify payroll_policy.late_leave_threshold or declare the cut-off true-up (FR-PAY-005) as the replacement for dynamic payroll processing. | Should | R1 | Help › For Admin › Payroll Management › Payroll Policies (Rules 8-9) |
| FR-PAY-068 | Proportionate week-off deduction: weekoff_lop.threshold_days and formula (week-offs x LOP days / working days) in the payroll policy, with a worked example. | Must | R1 | Help › For Admin › Payroll Management › Payroll Policies (Rule 13) |
| FR-PAY-069 | Variable DA: raise FR-PAY-016 to Should; allow a CPI-driven VDA lookup component in R1 via the Slab lookup method (FR-PAY-001), full notification master in R2. | Should | R1 / R2 | Help › For Admin › Payroll Management › Variable DA Configuration |
| FR-PAY-070 | Read-only PT slab viewer per state, with effective dates and pack version. | Should | R1 | Help › For Managers › Payroll Management › Professional Tax (View) |
| FR-PAY-071 | Payment register report: employee, net pay, payment mode, paid date, UTR, status; filters branch, manager, month; grand total. | Should | R1 | Help › For Managers › Payroll Management › Employee Payments Report |
| FR-PAY-072 | Bulk-assign recurring deductions by pay group, template, location or filter. | Should | R1 | Help › For Managers › Payroll Management › Manage Other Deductions |
| FR-PAY-073 | Bank-wise salary summary: net pay grouped by beneficiary bank and by debit account, with EPF, ESI, PT totals, selection total, mark-paid action and monthly history. | Should | R1 | Help › For Managers › Payroll Management › Bank Wise Salary Summary |
| FR-PAY-074 | Payable-days report: FR-ATT-035 columns, ATT lock version, branch and month filters, export. | Must | R1 | Help › For Managers › Payroll Management › Payable Days Report |
| FR-PAY-075 | Lite mobile payroll summary: name, monthly salary, present days, PT, payable salary for a chosen period. | Should | R1 | Help › Mobile App › Spryple Lite › 4.4 Payroll Reports |
| FR-PAY-076 | Form 16 timing: ship Form 16 Part B before the first June after go-live, or provide an interim TDS certificate. | Should | R1 / R2 | Help › For Employee › Payroll Management › Form 16 (menu) |
5. Claims, Exit & Engagement
5.1 Coverage summary
| Status | Count |
|---|---|
| ✅ Covered (parity) | 5 |
| ⬆️ Covered + improved | 16 |
| 🟡 Partial | 4 |
| ⏳ Deferred (later release) | 0 |
| ❌ Gap (not in our PRD) | 1 |
| 🚫 Intentionally dropped | 0 |
| Total rows | 26 |
5.2 Feature-by-feature gap table
| # | Breadcrumb | Spryple option (what it does) | Evidence | Spyrl coverage (FR/US) | Status | Release | Gap / action |
|---|---|---|---|---|---|---|---|
| CLM-G01 | Help › For Admin › Claims Management › Claim Management for Finance Manager; Help › For Admin › Claims Management › Claim Dashboard for Finance Manager (empty node) | Finance dashboard: claims count by status (current month), settlement ratio (paid vs total), alerts, previous vs current month scorecard with count and amount variance, paid amount by reimbursement type. Counts are by claim applied date. | [Observed] + [Observed-SS] §21.11 | FR-CLM-010; 7.11.10 alerts (NTF) | ⬆️ Covered + improved | R2 | None. Amounts alongside counts, unified status names. State in FR-CLM-010 that metrics key off applied date (to match the reference) or make the basis selectable. |
| CLM-G02 | Help › For Managers › Claims Management › Claims Module for Manager; Help › For Employee › Claims Management › Claims Module for Employee | Same dashboard (status counts, settlement ratio, scorecard, paid by type) shown to managers (team) and employees (own). | [Observed] | FR-CLM-010 is a finance dashboard only; 7.11.8 gives LM TEAM and EMP SELF view rights | 🟡 Partial | R2 | Add FR-CLM-015: role-scoped claims dashboard (self for employees, team for managers) reusing FR-CLM-010 widgets. |
| CLM-G03 | Help › For Admin › Claims Management › Claim Approval | Finance Manager queue of manager-verified claims. Filters: city-branch, manager, employee, from/to date, search. Tabs Verified, Approved, Paid, Rejected. View action. | [Observed] | FR-CLM-008, FR-CLM-006, FR-CLM-009, US-CLM-03 | ⬆️ Covered + improved | R2 | None. Adds bulk approve, approved ≤ verified rule, payroll payout. Make sure the grid keeps the branch/manager filters. |
| CLM-G04 | Help › For Managers › Claims Management › Claims Approval | Manager queue with employee and date filters and search. Tabs Pending, Verified, Approved, Paid, Rejected. View action. | [Observed] | FR-CLM-007, FR-CLM-006, US-CLM-02 | ⬆️ Covered + improved | R2 | None. Per-bill accept, reject or reduce on web as well as mobile. |
| CLM-G05 | Help › For Managers › Claims Management › Claims Approval (Claim Report section) | Claims Employee Detailed Report: employee and date filters, search, Excel and PDF download. Columns: S.No, Applied On, Employee, Claim ID, Bill count, Requested, Approved, Receipt Number, Status, Action On, Action By. | [Observed] | 7.11.11 claims register lists the columns but no FR; no export requirement | 🟡 Partial | R2 | Add FR-CLM-016: claims register with filters and Excel/PDF export, team-scoped for managers. |
| CLM-G06 | Help › For Employee › Claims Management › Claims Request | Add expense popup (type, bill number, date, amount, file). Total requested amount, description, submit. Date filter, search, tabs Submitted, In Progress, Paid, Rejected. View. | [Observed] | FR-CLM-001, FR-CLM-002, FR-CLM-003, FR-CLM-004, FR-CLM-005, FR-CLM-006, US-CLM-01, US-CLM-04 | ⬆️ Covered + improved | R2 | None. Adds policy checks, duplicate detection, drafts, withdraw. Unified statuses replace the employee-only four-tab grouping. |
| CLM-G07 | Help › For Employee › Claims Management › Claims Request (screenshot facts, research §21.6) | Claim ID CL_GEN_<company>_<n>; bill image mandatory, 2 MB limit; reimbursement type e.g. Food Charges; rejected reason shown. | [Observed-SS] | FR-CLM-003 (ID CLM-{YYYY}-{NNNNN}, ≤ 5 MB), FR-CLM-004, FR-CLM-006 | ⬆️ Covered + improved | R2 | None. Format is a deliberate change. Ensure rejection reason shows on the employee claim detail. |
| CLM-G08 | Help › Mobile App › Claims Management › 1. Introduction; › 1.1 Overview; › 1.2 Purpose of the App; › 1.3 System Requirements; › 2.1 Installation | Mobile app boilerplate: intro, overview, purpose, system requirements, Play Store install. | [Observed] | FR-MOB-001 (single app, iOS 15+, Android 9+) | ✅ Covered (parity) | R1 | None. |
| CLM-G09 | Help › Mobile App › Claims Management › 2. Getting Started; › 2.1 Account Creation; › 2.3 Usage of App; › 3. User Interface; › 3.1 Main Screen | Accounts are created in the web app. Login by role (manager or employee). Main screen lists Leave and Claims; manager approves, employee applies. Claims is a "More" tab module in the HCM app shell. | [Observed] + [Observed-SS] §21.6 | FR-MOB-002, FR-MOB-001, FR-MOB-003, FR-MOB-004 | ✅ Covered (parity) | R1 | None. Confirm Claims appears as a tab or entry in the single app (it is not a separate store app). |
| CLM-G10 | Help › For Employee › Claims Management › Employee Level Features; Help › Mobile App › Claims Management › Claims Module Mobile App User Manual; › Claims Management by Employee; › Claims Management - Manager | Navigation and heading nodes (More → Claims Management → Claims History; manager also sees Claims Pending Approvals). | [Observed] | FR-MOB-003, FR-MOB-004 | ✅ Covered (parity) | R1 | None. |
| CLM-G11 | Help › Mobile App › Claims Management › Claims History (employee and manager copies merged) | History list, status Submitted, Verified, Paid, Rejected, detail with image links. "Claim Request" adds bills (date, type, no., amount, image), running total, description, save. Managers can raise own claims. | [Observed] | FR-CLM-003, FR-CLM-006, US-CLM-01, 7.11.9 | ⬆️ Covered + improved | R2 | None. Camera capture, policy hints, drafts. |
| CLM-G12 | Help › Mobile App › Claims Management › Claim Pending Approvals | Search by name or claim ID. Detail with Verify and Reject; reject per bill; Verified Amount. Status flows to employee, finance on web. | [Observed] | FR-CLM-007, FR-CLM-008, FR-CLM-009, US-CLM-02 | ⬆️ Covered + improved | R2 | None. Ensure search by claim ID is in the manager queue spec. |
| EXT-G01 | Help › For Admin › Exit Management › Offboarding Settings | Toggle automatic reminders for clearance form completion; toggle notice period and pick days. | [Observed] | clearance.reminder_days (7.12.6), FR-EMP-012 (notice policy), 7.12.10 | ⬆️ Covered + improved | R2 | None. Notice policy is typed and tied to probation. |
| EXT-G02 | Help › For Admin › Exit Management › Termination Category | Master of termination categories: add, edit, no duplicates, active/inactive. | [Observed] | FR-EXT-004, termination_category entity | ✅ Covered (parity) | R2 | Active/inactive and duplicate rule assumed from the master convention; state it in FR-EXT-004. |
| EXT-G03 | Help › For Admin › Exit Management › Reason for Separation; › Some reasons for separation mentioned below | Master of separation reasons (Better Prospect, Unsatisfactory pay, Health, Distant office): add, edit, no duplicates, active/inactive. | [Observed] | FR-EXT-001 (reason master), FR-EXT-006 (aggregated reasons), separation_reason | ✅ Covered (parity) | R2 | Seed the four observed reasons. |
| EXT-G04 | Help › For Managers › Exit Management › Separation pending approvals | HR manager views requests, approves with an exit date and reason, or rejects with reason. Reporting manager is skipped. | [Observed] | FR-EXT-002, US-EXT-01 | ⬆️ Covered + improved | R2 | None. Line manager then HR with LWD negotiation; fixes the "approved" wording defect on rejection. |
| EXT-G05 | Help › For Managers › Exit Management › Separation Pending Checklist/Offboarding Pending Checklist | Approved employee shows master checklist; HR updates items; "No due" enabled when all done; status Pending → Completed. | [Observed] | FR-EXT-005, US-EXT-02 | ⬆️ Covered + improved | R2 | None. Owner-based clearance, due dates relative to LWD. |
| EXT-G06 | Help › For Managers › Exit Management › Termination | HR picks employee and category, confirms (Yes/No); termination checklist and No due. | [Observed] | FR-EXT-004, FR-EXT-005, FR-EXT-007 | ⬆️ Covered + improved | R2 | None. Adds types (retirement, death, absconding) and F&F hook. |
| EXT-G07 | Help › For Employee › Exit Management › Separation | Proceed, choose exit date, reason, notes, submit; edit, view and cancel before approval. | [Observed] | FR-EXT-001, FR-EXT-012, US-EXT-01 | ⬆️ Covered + improved | R2 | None. Shortfall shown, attachment, withdraw after approval. |
| EXT-G08 | Help › For Admin › Employee Management › HR Policies (Rule 37) | Backdated days allowed for termination, 0 to 60. | [Observed] | FR-EXT-004 (separation.backdate_max_days, default 30, locked-period guard) | ⬆️ Covered + improved | R2 | None. |
| EXT-G09 | Help › For Employee › Exit Management › Separation (form facts, research §21.11) | Form shows applied date, notice period (30), relieving date auto-computed (applied + notice), requested exit date, reason, notes. | [Observed-SS] | FR-EXT-001, FR-EXT-003, US-EXT-01 AC1 | ⬆️ Covered + improved | R2 | None. Policy LWD and shortfall are computed. |
| EXT-G10 | Help › For Employee › Exit Management › Separation (retention letter, research §21.11) | A retention letter ("discuss with your Reporting Manager or HR") shows before Proceed. | [Observed-SS] | None. FR-EXT-002 "request a discussion" is a manager action, not a pre-submit retention prompt. | ❌ Gap | R2 | Add FR-EXT-013: configurable retention notice shown before the resignation form is submitted. |
| ENG-G01 | Help › For Admin › Employee Management › Announcements | Announcement with topic, title, publish from/to, description; Submit (Published) or Draft. Row actions by status: Published edit/view/stop, Draft edit/view, Completed view/republish, Cancelled view. | [Observed] | FR-ENG-001, FR-ENG-002, FR-ENG-003, FR-ENG-004, US-ENG-01, US-ENG-03 | ⬆️ Covered + improved | R2 | None. Adds targeting, read receipts, acknowledgement, pin. |
| ENG-G02 | Help › Mobile App › Spryple HR › REWARDS & RECOGNITION | Employee picks colleague, recognition type and message (editable), submits. | [Observed] | FR-ENG-005, FR-ENG-006, US-ENG-02 | ⬆️ Covered + improved | R2 | None. Multiple recipients, public wall, reactions. |
| ENG-G03 | Help › Mobile App › Spryple HR › REWARDS & RECOGNITION (Sent / Received lists, Reports) | Sent list for the sender, Received list for the recipient; Reports show count per type per employee. | [Observed] | 7.11.11-style reporting at 7.13.11 (counts per type); no FR for personal Sent/Received lists | 🟡 Partial | R2 | Add FR-ENG-009: personal Sent and Received recognition lists on mobile. Make the per-type count report an explicit requirement. |
| ENG-G04 | Help › Mobile App › Spryple HR › REWARDS & RECOGNITION (types and templates, research §21.9) | Types: Birthday, Outstanding, Job Well Done, Congratulations, Performance-based. Messages come from a template with a 145-character limit. | [Observed-SS] | FR-ENG-005 (seeded types, 280-char limit); no template messages | 🟡 Partial | R2 | Add FR-ENG-010: per-type message templates, editable before sending, within the character limit. |
5.3 Where Spyrl goes beyond Spryple
- Claims: expense categories with policy by grade and city tier (FR-CLM-001, FR-CLM-002); policy checks and duplicate detection (FR-CLM-004, FR-CLM-005); one status model for all roles (FR-CLM-006); payroll or bank-file payout (FR-CLM-009); mileage from FFM travel (FR-CLM-011); advances (FR-CLM-012); OCR (FR-CLM-013); claims settled at exit (FR-CLM-014).
- Exit: notice shortfall, buy-out and waiver (FR-EXT-003); owner-based clearance (FR-EXT-005); exit interview (FR-EXT-006); F&F payroll run and statement (FR-EXT-007); relieving and experience letters (FR-EXT-008); access revocation and alumni login (FR-EXT-009, FR-IAM-017); rehire flag (FR-EXT-010); absconding (FR-EXT-011).
- Engagement: audience targeting, read receipts, acknowledgements (FR-ENG-002, FR-ENG-003); recognition wall, reactions, moderation (FR-ENG-006); birthday and anniversary feed (FR-ENG-007).
5.4 Recommended PRD changes
| Proposed ID | Requirement | Priority (MoSCoW) | Release | Source breadcrumb |
|---|---|---|---|---|
| FR-CLM-015 | Role-scoped claims dashboard: employees see own counts, scorecard and paid by category; managers see team figures; reuse the FR-CLM-010 widgets and settlement ratio. | Should | R2 | Help › For Managers › Claims Management › Claims Module for Manager; Help › For Employee › Claims Management › Claims Module for Employee |
| FR-CLM-016 | Claims register report with filters (employee, dates, status, branch) and Excel and PDF export, with the observed columns plus verified and paid amounts; team-scoped for managers. | Must | R2 | Help › For Managers › Claims Management › Claims Approval (Claim Report) |
| FR-EXT-013 | Retention notice: a configurable message shown to the employee before submitting a resignation, directing them to talk to their manager or HR; non-blocking. | Could | R2 | Help › For Employee › Exit Management › Separation (research §21.11) |
| FR-ENG-009 | Personal Sent and Received recognition lists, plus a per-type count report per employee. | Should | R2 | Help › Mobile App › Spryple HR › REWARDS & RECOGNITION |
| FR-ENG-010 | Per-type recognition message templates, editable before sending, bounded by recognition.message_max_chars. | Should | R2 | Help › Mobile App › Spryple HR › REWARDS & RECOGNITION (research §21.9) |
6. Field Force & Sales CRM
6.1 Coverage summary
| Status | Count |
|---|---|
| ✅ Covered (parity) | 14 |
| ⬆️ Covered + improved | 20 |
| 🟡 Partial | 5 |
| ⏳ Deferred (later release) | 0 |
| ❌ Gap (not in our PRD) | 1 |
| 🚫 Intentionally dropped | 10 |
| Total rows | 50 |
Rows merge cross-audience duplicates; every 🔹 node in the five slices appears in a breadcrumb cell. Ten rows are screens that Spryple duplicates from ATT/LVE inside CRM. FFM is R3, so FFM rows are R3; device approval and ATT/LVE rows carry the release of the module that owns them.
6.2 Feature-by-feature gap table
Breadcrumb prefixes: SA = Help › For Super Admin › CRM Field Force Management; AD = Help › For Admin › CRM Field Force Management; MG = Help › For Managers › CRM Field Force Management; EW = Help › For Employee › Sales CRM Web Application; MA = Help › Mobile App › Sales CRM Mobile Application. [Observed-SS] rows cite research/spryple-analysis.md §21.7, §21.11 and §11.
| # | Breadcrumb | Spryple option (what it does) | Evidence | Spyrl coverage (FR/US) | Status | Release | Gap / action |
|---|---|---|---|---|---|---|---|
| FFM-G01 | EW › 1. Introduction, 1.1 Overview, 1.2 Purpose of the App, 1.3 System Requirements, 2. Getting Started, 2.1 Account Creation, 3. User Interface, 3.1 Main Screen, 3.2 Navigation, 4.1 Login; MA › 1. Introduction, 1.1, 1.2, 1.3, 2. Getting Started, 2.1 Installation, 2.1 Account Creation, 2.3 Usage of App, 3. User Interface, 3.1, 3.2, 4.1 Login, 5.1 Login | App boilerplate: purpose text, device requirements, store install, accounts created in the web app, company code + username/email + password login, tab navigation. Web login then needs "CRM Module" in the side menu. | [Observed] | FR-MOB-001, FR-MOB-002, FR-MOB-008, FR-MOB-009, FR-IAM-001, FR-IAM-002, FR-PLT-003 | ✅ Covered (parity) | R1 | None. FFM is an entitlement inside the single app (FR-MOB-018), so there is no separate "CRM app" or CRM side-menu step. |
| FFM-G02 | SA › Sales Manager; AD › Admin Level Features, 1. Sales Admin, 2. Sales Manager, 3. Super Admin; MG › Manager Level Features; EW › 4. Employee Level Features, Employee Login; MA › 4. Employee Level Features, Employee Login, 5. Manager Level Features | Role-feature overviews and section headers (what Employee, Manager, Admin and Super Admin can do in CRM). | [Observed] | FR-IAM-009, FR-IAM-010, FR-IAM-011, FR-MOB-001, FR-MOB-018; permissions §7.14.8 | ✅ Covered (parity) | R3 | None. Roles are field_executive, sales_manager, sales_admin with scopes, not per-product role screens. |
| FFM-G03 | SA › 1.1 GPS Monitoring; AD › 2.1 GPS Monitoring; MG › 1.1 GPS Monitoring | Live map of assigned employees, today or a past date, battery % after punch-in, punch-in/out counts; Admin sees branch-wise and manager-wise. | [Observed] | FR-FFM-004, FR-FFM-003, FR-FFM-001, US-FFM-05, FR-IAM-011, FR-RPT-002 | ⬆️ Covered + improved | R3 | None. Improvements: consent, gaps explained ("GPS off 11:02–11:40"), route replay, mock-location flag, team/location scopes. |
| FFM-G04 | MA › 5.6 Employee Location | Manager mobile list of assigned employees (including the manager); tap the location icon to see present location. | [Observed] | FR-FFM-004 (web map), FR-MOB-001 (Team tab), FR-MOB-018 | 🟡 Partial | R3 | PRD specifies the live map for manager web only (§7.14.9). Add a mobile Team-location list with last known position, battery and last seen (FR-FFM-018). |
| FFM-G05 | [Observed-SS] §21.7 GPS modes (Point-to-Point, GPS Monitoring) | Two tracking modes: route from punch-in/out and visit activities only, or continuous from punch-in to punch-out; needs login, location permission and internet. | [Observed-SS] | FR-FFM-002, FR-FFM-014, FR-FFM-016 | ⬆️ Covered + improved | R3 | None. Adds adaptive sampling, 24 h offline buffer and 90-day retention. |
| FFM-G06 | [Observed-SS] §21.7 In-app location disclosure ("Allow Spryple CRM to track your activity") | Prominent disclosure before the Android precise/approximate "while using the app" prompt. | [Observed-SS] | FR-FFM-001, FR-IAM-018, FR-MOB-011, US-FFM-01 | ⬆️ Covered + improved | R3 | None. Ours adds a withdraw option, a persistent tracking indicator and tracking only between punches. |
| FFM-G07 | SA › 1.2 Clients; MG › 1.2 Clients | Manager pipeline board (Leads, Call for Demo, Demo Pending, Demo Completed, Future Leads), lead-age colours, date range ("View All" toggle), client + activity detail, add activity, reassign client or activity when the employee is unavailable. | [Observed] | FR-FFM-008, FR-FFM-010, FR-FFM-012, US-FFM-04, FR-FFM-006 | ⬆️ Covered + improved | R3 | None. Fixed demo-led columns replaced by a configurable pipeline with templates; "everything else is Future Leads" rule is replaced by explicit stages and stage history. |
| FFM-G08 | EW › 4.3 Client List, 4.3.a Client Demo Status | Employee Client List with two dashboards by dropdown; demo-status columns; client location, status, final price, amount collected; checkboxes for lead age and follow-up. | [Observed] | FR-FFM-008, FR-FFM-009, FR-FFM-010, FR-FFM-011 | ⬆️ Covered + improved | R3 | None. One pipeline view replaces the two dashboards. Add filters by age band and follow-up due to the board UI. |
| FFM-G09 | EW › 4.3.b Client Status | Second status set (Interested, Follow-up, Won, Lost, Not Interested); edit client, add activity (type, follow-up date/time, demo status, status, final price when Won), add payments, activity totals; update activity type until the lead closes. | [Observed] | FR-FFM-008 (one status system, won/lost flags), FR-FFM-009, FR-FFM-011 | ⬆️ Covered + improved | R3 | None. Two hard-coded status systems merge into one stage model. |
| FFM-G10 | MA › 4.5 Activity Dashboard; MA › 5.5 Activity Dashboard | Mobile board of clients by activity status; tap arrow to add an activity. | [Observed] | FR-FFM-008, FR-MOB-018, §7.14.9 (Pipeline list by stage) | ✅ Covered (parity) | R3 | None. |
| FFM-G11 | [Observed-SS] §21.7 and §21.11 Lead-age bands | Green 0–7, amber 8–14, red 15+ days; the Client List "by Status" report uses a different legend (0–5, 6–10, 11–15, 16–20, 21+). | [Observed-SS] | FR-FFM-010 | ⬆️ Covered + improved | R3 | None. Configurable thresholds replace two inconsistent legends. |
| FFM-G12 | EW › 4.2.1 Add Client; EW › 4.2 Employee Dashboard (web "Add client" toggle) | Web add-client form (organisation, contact, number, address, country/state/city, description), Submit/Reset; button is configurable. | [Observed] | FR-FFM-006, FR-FFM-015 | ✅ Covered (parity) | R3 | None. |
| FFM-G13 | EW › 4.2 Employee Dashboard; MA › 4.2 Dashboard; MA › 5.2 Dashboard | Dashboard: date, punch times, presents/absents, clients added, calendar (present, absent, holiday, leave, week-off), graph, maps; manager tabs include Employee Location and Attendance Reports. | [Observed] | §7.14.9 (Today tab), FR-ATT-037, FR-MOB-003, FR-MOB-004, FR-RPT-006 | 🟡 Partial | R3 | Calendar, punch card and attendance come from ATT/MOB. The PRD "Today" tab does not list clients-added count or a trend graph. Add a Today KPI strip (FR-FFM-019). |
| FFM-G14 | MA › 4.2.1 Today's Followup's | Follow-ups screen: pick date and employee, search to list follow-ups. | [Observed] | FR-FFM-009, §7.14.9 (follow-ups due), §7.14.10 | 🟡 Partial | R3 | PRD covers the employee's own follow-ups only. Add manager/team follow-up view filtered by date and employee (FR-FFM-019). |
| FFM-G15 | MA › 4.2.2 Activities; MA › 5.2.1 Activities | Image-only activity: camera, description, save, listed under Activities. | [Observed] | FR-FFM-009 | ✅ Covered (parity) | R3 | None. |
| FFM-G16 | MA › 4.3 Punch In/Punch Out; MA › 5.3 Punch In/Punch Out (two nodes) | Punch screen with camera, name and address; Take Picture enables Punch In/Out; image captured. | [Observed] | FR-ATT-002, FR-ATT-003, FR-ATT-010, FR-FFM-001 | ⬆️ Covered + improved | R3 | None. Adds geo-fence policy, offline queue (FR-ATT-005), face option (FR-MOB-015). |
| FFM-G17 | MA › 4.4 Add Client; MA › 5.4 Add Client | Mobile client capture: photo, organisation, contact, number, email, two address lines, country/state/city/PIN, expected price, description; lands in Leads. | [Observed] | FR-FFM-006, FR-FFM-007, FR-FFM-008 | ✅ Covered (parity) | R3 | None. Confirm in the field-app spec that sales_manager can also add accounts (matrix says TEAM). |
| FFM-G18 | MA › 4.5.a Add Activity; MA › 5.5.a Add Activity | Activity type, follow-up time/date, demo status, status, final price, description; client moves column by demo status. | [Observed] | FR-FFM-009, FR-FFM-008 | ⬆️ Covered + improved | R3 | None. Stage moves are driven by the configured pipeline. |
| FFM-G19 | MA › 4.5.b Activity List; MA › 5.5.b Activity List | List of activities for the client. | [Observed] | FR-FFM-009, FR-FFM-008 (stage history) | ✅ Covered (parity) | R3 | None. |
| FFM-G20 | MA › 4.5.c Client Details; MA › 5.5.c Client Details | Edit client details with Edit/Update/Cancel. | [Observed] | FR-FFM-006, FR-IAM-016 | ✅ Covered (parity) | R3 | None. |
| FFM-G21 | MA › 4.5.d Client Associates; MA › 5.5.d Client Associates | Add associate: type, qualification, specialization, name, contact, email; Save/Clear. | [Observed] | FR-FFM-006 | ✅ Covered (parity) | R3 | None. |
| FFM-G22 | [Observed-SS] §21.7 Client Associates sample data (Doctor / MBBS / Cardiology, hospital clients) | Confirms a pharma/healthcare field-sales design target. | [Observed-SS] | FR-FFM-006, FR-FFM-008 (pharma detailing template), FR-ORG-018, US-FFM-04 | ⬆️ Covered + improved | R3 | None. Seed Doctor/MBBS style associate masters with the pharma template. |
| FFM-G23 | MA › 4.5.e Client Payments; MA › 5.5.e Client Payments; [Observed-SS] §21.7 Pending Amount | Payments tab after a final price is set: method, collected amount, description; read-only Final Price and Pending Amount. | [Observed] + [Observed-SS] | FR-FFM-011 | ⬆️ Covered + improved | R3 | None. Adds reference, receipt photo and daily collection summary. |
| FFM-G24 | [Observed-SS] §21.7 Activity types and statuses | Types VISIT, CALL, MESSAGE, MAIL; statuses Call For Demo, Demo Scheduled, Demo Pending, Demo Completed; client status Interested, Not Interested, Won, Follow-up, Lost; follow-up icons Scheduled vs Exceeded. | [Observed-SS] | FR-FFM-009, FR-FFM-008, FR-FFM-010 | ⬆️ Covered + improved | R3 | None. Tenant-defined activity types and stages. |
| FFM-G25 | [Observed-SS] §21.7 Visit location-match indicator | Icons: client location matched, not matched, not available; first visit sets the client location. | [Observed-SS] | FR-FFM-007, US-FFM-02 | ⬆️ Covered + improved | R3 | None. Adds block / flag / allow enforcement and manager confirmation for the first location. |
| FFM-G26 | [Observed-SS] §21.7 Excel Upload (Sales Manager web menu) | Bulk client upload. | [Observed-SS] | FR-FFM-006 (import), FR-ORG-012 | ✅ Covered (parity) | R3 | None. Import uses the dry-run framework. |
| FFM-G27 | AD › 1.1 Demo Status; AD › 1.2 Status Master | Masters with add, rename, Active/Inactive, no duplicates; must transfer employees to another value before deactivating. | [Observed] | FR-FFM-008, FR-ORG-009 | ⬆️ Covered + improved | R3 | None. Two masters become one pipeline stage config; bulk reassignment wizard replaces manual transfer. |
| FFM-G28 | AD › 1.3 Client Associate Type, 1.3.a Associate Type, 1.3.b Qualifications, 1.3.c Specializations | Three masters with the same add/rename/Active-Inactive/transfer pattern. | [Observed] | FR-FFM-006, FR-ORG-009 | ✅ Covered (parity) | R3 | None. |
| FFM-G29 | AD › 3.1 Client Associate Reports | Report of employees by associate type, qualification and specialization. | [Observed] | None in §7.14.11 | ❌ Gap (not in our PRD) | R3 | Add an associate-wise report (by type, qualification, specialization, owner) with export (FR-FFM-021). |
| FFM-G30 | SA › 1.4 Clients Report; MG › 1.5 Clients Report; AD › 2.2 Clients Reports | Full client list with filters/search and download; Admin sees branch-wise and manager-wise. | [Observed] | FR-RPT-002, FR-RPT-004, §7.14.11 (pipeline by stage and age) | 🟡 Partial | R3 | PRD has pipeline analytics but no account register report. Add accounts report with filters, scope and export (FR-FFM-020). |
| FFM-G31 | SA › 1.5 Employee Activity Report, 1.5.1 Summary; MG › 1.6, 1.6.1 Summary; AD › 2.3 Employee Activity Report | Employee-wise punch in/out, total visits, travel type, kms; View drills to the tracking log. | [Observed] | §7.14.11, FR-FFM-005, FR-RPT-002, FR-RPT-004 | ✅ Covered (parity) | R3 | None. |
| FFM-G32 | SA › 1.5.2 Tracking Log, 1.7 Employee Tracking Log Report, 1.7.3 Employee Tracking Details; MG › 1.6.2, 1.8, 1.8.3; AD › 2.4 Employee Tracking Log Report | Started at, start location, details, stay and travel duration, kms, reached at, end location; PDF/Excel. | [Observed] | §7.14.11, FR-FFM-003, FR-FFM-004, FR-FFM-005, FR-FFM-016, FR-RPT-004 | ⬆️ Covered + improved | R3 | None. Adds snap-to-road kms and gap explanations; seven near-identical Spryple screens become one report. |
| FFM-G33 | SA › 1.7.1 Employee Summary Details; MG › 1.8.1 Employee Summary Details | First login, last logout, worked hours, new visits, new clients, total visits, kms, total activities. | [Observed] | §7.14.11 | ✅ Covered (parity) | R3 | None. |
| FFM-G34 | SA › 1.7.2 Activities; MG › 1.8.2 Activities | "Show" reveals the employee's activities. | [Observed] | FR-FFM-009, §7.14.11 | ✅ Covered (parity) | R3 | None. |
| FFM-G35 | SA › 1.8 Team Travel Approvals; MG › 1.9 Team Travel Approvals; MA › 5.7 Travel Approvals, 5.7.b Team Travel Approvals | Filters (employee, dates, minimum visits); tabs Pending, Verified, Approved, Travel Summary, Rejected, All; selected-records summary; Verify/Reject; Finance Manager approves. | [Observed] + [Observed-SS] | FR-FFM-013, FR-CLM-007, FR-CLM-008, FR-CLM-011, US-FFM-03, FR-NTF-007 | ⬆️ Covered + improved | R3 | None. Travel joins the single CLM pipeline instead of a separate path. |
| FFM-G36 | EW › 4. 4 Travel Approvals; MA › 4.6 Travel Approvals; MA › 5.7.a Travel Approvals | Employee's own travel records with status tabs, dates, minimum visits. | [Observed] | FR-FFM-013, FR-CLM-006, FR-MOB-018 | ⬆️ Covered + improved | R3 | None. Same status names as claims. |
| FFM-G37 | [Observed-SS] §21.7 KM Revised | Editable KM Revised on travel approval; summary of visits, travelled km, revised km before Verify/Reject. | [Observed-SS] | FR-FFM-005, FR-FFM-013, US-FFM-03 | ⬆️ Covered + improved | R3 | None. Revision needs a reason and the original is kept. |
| FFM-G38 | [Observed-SS] §21.11 Travel amount and Claimed | Travel amount = revised km × rate (e.g. ₹140 for 7 km); rows can reach Claimed. | [Observed-SS] | FR-CLM-011, FR-CLM-002 (mileage rate per vehicle type), FR-CLM-009 | ⬆️ Covered + improved | R3 | None. Amount computed from policy rate and paid via payroll. |
| FFM-G39 | SA › 1.9 Assignments Report; MG › 1.10 Assignments Report; [Observed-SS] §21.7 assignment statuses | Assignments by employee, scheduled date range and status (statuses include Cancelled, Exceeded). | [Observed] + [Observed-SS] | FR-FFM-012, FR-FFM-009 (exceeded), §7.14.11 (visits vs plan) | 🟡 Partial | R3 | PRD lacks an explicit assignment status set and report filters. Define statuses (Planned, Done, Missed, Cancelled, Exceeded) and the report (FR-FFM-022). |
| FFM-G40 | SA › 1.6 Device Approvals; MG › 1.7 Device Approvals | New phone needs manager approval before login. | [Observed] | FR-IAM-015, US-IAM-04, FR-MOB-004, §7.14.10 | ⬆️ Covered + improved | R1 | None. Adds block, remote sign-out and approver choice. |
| FFM-G41 | SA › 1.3 Attendance Summary Report; MG › 1.3 Attendance Summary Report, 1.4 Attendance Detailed Report; AD › 3.2 Monthly Attendance Reports | First in/last out, total and productive hours, break detail, monthly present/absent/late counts, Excel/PDF. | [Observed] | ATT reports §7.5.13, FR-ATT-021, FR-ATT-038, FR-RPT-004 | 🚫 Intentionally dropped | R1 | Duplicate ATT screen inside CRM (§7.14.3 no duplicated ATT/LVE screens). Capability lives in ATT. Confirm break and productive hours columns in the ATT register. |
| FFM-G42 | MG › 1.11 Missed Punch Report | Missed punches by month and employee. | [Observed] | FR-ATT-020, ATT reports §7.5.13 | 🚫 Intentionally dropped | R1 | Duplicate ATT screen; handled by ATT missed-punch report. |
| FFM-G43 | MG › 1.13 Configure Shift | Assign shifts to team for a date range; shift history. | [Observed] | FR-ATT-011, FR-ATT-012, FR-ATT-014 | 🚫 Intentionally dropped | R1 | Duplicate ATT screen; roster/shift assignment lives in ATT. |
| FFM-G44 | MG › 1.14 Week off Configuration | Assign weekly offs to team; history. | [Observed] | FR-ATT-016 | 🚫 Intentionally dropped | R1 | Duplicate ATT screen; effective-dated week-off patterns live in ATT. |
| FFM-G45 | MG › 1.12 Leave Approvals; MA › 5.8.c Pending Approvals | Manager approves, rejects or views leave requests. | [Observed] | FR-NTF-007, FR-MOB-004, LVE §7.6 | 🚫 Intentionally dropped | R1 | Duplicate LVE screen inside CRM; the approvals inbox covers it. Leave detail owned by the LVE analyst. |
| FFM-G46 | SA › 1.10 Leave History; MG › 1.15 Leave History; EW › 4.6 Leave History; MA › 4.7.b, 5.8.b Leave History | Approved/rejected/applied leaves, view, edit/delete before approval, PDF/Excel. | [Observed] | FR-LVE-011, FR-LVE-019, FR-LVE-020 | 🚫 Intentionally dropped | R1 | Duplicate LVE screen inside CRM; leave in LVE and the same app. |
| FFM-G47 | EW › 4. 5 Leave Request; MA › 4.7.a, 5.8.a Leave Request | Apply leave with type, dates, half-day, auto count, reason, balance and manager shown. | [Observed] | FR-LVE-009, FR-MOB-003 | 🚫 Intentionally dropped | R1 | Duplicate LVE screen inside CRM. |
| FFM-G48 | EW › 4.7 Leave Balance | View leave balance. | [Observed] | FR-LVE-019 | 🚫 Intentionally dropped | R1 | Duplicate LVE screen inside CRM. |
| FFM-G49 | AD › 1.4 Leave Policies | Edit common leave rules and default leave types. | [Observed] | FR-LVE-001, FR-LVE-002 | 🚫 Intentionally dropped | R1 | Duplicate LVE configuration inside CRM; leave policy is configured once in LVE. |
| FFM-G50 | MA › 4.7 More; MA › 5.8 More | "More" tab opens Leave Management. | [Observed] | FR-MOB-001, FR-MOB-003 | 🚫 Intentionally dropped | R1 | Leave is a first-class tab in our single app, so no CRM-specific More menu. |
6.3 Where Spyrl goes beyond Spryple
- Privacy by design: explicit consent, tracking only between punch-in and punch-out, a visible indicator, withdrawal handling and 90-day raw GPS retention (FR-FFM-001, FR-FFM-016, FR-IAM-018). Spryple documents none of this.
- Telemetry and gap explanation: battery, permission and GPS state, mock-location detection, and map annotations such as "No data 15:10–16:30 (battery 2%)" (FR-FFM-003, US-FFM-05).
- Honest distance: snap-to-road, outlier filtering, and revised km with mandatory reason and original kept (FR-FFM-005, US-FFM-03).
- Enforced geo-verification: block, flag or allow, with manager confirmation of a first location, instead of an indicator only (FR-FFM-007, US-FFM-02).
- One configurable pipeline: replaces Demo Status plus Status Master and the two inconsistent lead-age legends; industry templates (FR-FFM-008, FR-FFM-010, US-FFM-04).
- Travel paid through one pipeline: mileage claim from verified travel, policy rate, payout via payroll (FR-FFM-013, FR-CLM-011, FR-CLM-009).
- Shared account model with timesheets (FR-FFM-006) and offline capture with a 24 h GPS buffer (FR-FFM-014).
- Stronger device control: block, remote sign-out, approver choice (FR-IAM-015).
- No duplicate ATT/LVE screens inside the field module (§7.14.3).
6.4 Recommended PRD changes
Highest existing ID is FR-FFM-017; new IDs continue from 018.
| Proposed ID | Requirement | Priority (MoSCoW) | Release | Source breadcrumb |
|---|---|---|---|---|
| FR-FFM-018 | Manager mobile Team-location list: all team members including the manager, last known position, battery, last seen, tap to open a map; same scope rules as the web map. | Should | R3 | MA › 5.6 Employee Location |
| FR-FFM-019 | Today view for field and manager users: counts of clients added, visits and follow-ups due; manager/team follow-up list filtered by date and employee; trend graph. | Should | R3 | MA › 4.2 Dashboard, MA › 4.2.1 Today's Followup's, EW › 4.2 Employee Dashboard |
| FR-FFM-020 | Accounts report: filters (owner, stage, age band, location, date added), scope-aware (branch, manager, team), Excel/CSV/PDF export through FR-RPT-004. | Should | R3 | SA › 1.4 Clients Report, MG › 1.5 Clients Report, AD › 2.2 Clients Reports |
| FR-FFM-021 | Associate-wise report: associates by type, qualification, specialization and owning executive, with export. | Could | R3 | AD › 3.1 Client Associate Reports |
| FR-FFM-022 | Assignment statuses (Planned, Done, Missed, Cancelled, Exceeded) and an Assignments report filtered by employee, scheduled date range and status, with plan-vs-actual counts. | Should | R3 | SA › 1.9 Assignments Report, MG › 1.10 Assignments Report |
7. Timesheets, LMS, Dashboards & Mobile platform
7.1 Coverage summary
| Status | Count |
|---|---|
| ✅ Covered (parity) | 12 |
| ⬆️ Covered + improved | 20 |
| 🟡 Partial | 17 |
| ⏳ Deferred (later release) | 0 |
| ❌ Gap (not in our PRD) | 1 |
| 🚫 Intentionally dropped | 2 |
| Total rows | 52 |
Rows by module: TSM 17, LMS 14, RPT 9, MOB 12. Role-login nodes and the app boilerplate are merged into single rows. Messages Master is one cross-cutting row (RPT-G07).
7.2 Feature-by-feature gap table
| # | Breadcrumb | Spryple option (what it does) | Evidence | Spyrl coverage (FR/US) | Status | Release | Gap / action |
|---|---|---|---|---|---|---|---|
| TSM-G01 | Help › For Super Admin › Time Sheet Management › 1. Dashboard; Help › For Managers › Time Sheet Management › 1. Dashboard | Counts (clients, active projects, assigned employees, bench); pie of worked hours by project; donut of projects with/without variance; bar of estimated vs consumed hours; date dropdown | [Observed] | FR-TSM-008 (active projects, bench, hours by project, estimated vs consumed); permissions §7.15.8 | 🟡 Partial | R3 | Missing: clients count, project-status donut (with/without variance), date-range selector. Add FR-TSM-012. |
| TSM-G02 | Help › For Employee › Time Sheet Management › 1. Employee Dashboard | Assigned vs completed tasks per project (bar, date filter), pending-timesheet count, assigned projects and tasks table | [Observed] | None explicit (FR-TSM-002 has task status; US-TSM-01 has the week view) | 🟡 Partial | R3 | No employee dashboard FR. Add FR-TSM-013. |
| TSM-G03 | Help › For Super Admin › Time Sheet Management › 2. Summary Report; Help › For Managers › Time Sheet Management › 5. Summary Report; Help › For Employee › Time Sheet Management › 3. Summary Reports | Filters (client, project, date, status), Excel/PDF download, "Details" popup; scoped per role | [Observed] | §7.15.11 "Timesheet summary (by employee, project, client)"; FR-RPT-004 (export); FR-RPT-001 (scope-aware) | 🟡 Partial | R3 | Only a prose line, no numbered FR. Add FR-TSM-014 and tie it to the RPT framework. |
| TSM-G04 | Help › For Super Admin › Time Sheet Management › 3. Effort Variance Report | Project filter, search, Excel/PDF; variance from planned vs actual hours. Formula (Actual − Planned) / Planned, with actual start/end dates | [Observed] [Observed-SS] | FR-TSM-009; US-TSM-03 (400 h vs 460 h gives +15%) | ✅ Covered (parity) | R3 | None. |
| TSM-G05 | Help › For Super Admin › Time Sheet Management › 2. Summary Report (screenshot) | Project Summary grid: Client, Project, Project Manager, Estimated Days, Worked Hours, Status; details popup with planned vs actual task dates and hours | [Observed-SS] | FR-TSM-001 (project manager, estimated hours or days); FR-TSM-009 | 🟡 Partial | R3 | Columns are implied, not specified. Fix the columns and the popup in FR-TSM-014. |
| TSM-G06 | Help › For Admin › Time Sheet Management › 1. Admin Login | Role entry node | [Observed] | §7.15.8 permissions (OWN/HRA, project manager role) | ✅ Covered (parity) | R3 | None. |
| TSM-G07 | Help › For Admin › Time Sheet Management › 1.1 Client | Client master (contact, designation, number, email, start date, address, country/state/city/pin), no duplicates, Active/Inactive | [Observed] | FR-TSM-001 (client is a shared Account); §7.15.3 | 🟡 Partial | R3 | The shared Account is better, but the uniqueness rule and Active/Inactive for client, project, task and role are not stated. Add FR-TSM-015. |
| TSM-G08 | Help › For Admin › Time Sheet Management › 1.2 Project | Project CRUD, Active/Inactive, no duplicates | [Observed] | FR-TSM-001 | ✅ Covered (parity) | R3 | Uniqueness handled in FR-TSM-015. |
| TSM-G09 | Help › For Admin › Time Sheet Management › 1.3 Assign Team | Assign employees to a project; Active/Inactive | [Observed] | FR-TSM-001 (team assignment with allocation %); FR-TSM-008 (bench from allocation) | ⬆️ Covered + improved | R3 | None. Allocation % drives the bench count. |
| TSM-G10 | Help › For Admin › Time Sheet Management › 1.4 Task; Help › For Managers › Time Sheet Management › 2. Task | Task master with search, Active/Inactive, no duplicates | [Observed] | FR-TSM-002 | ✅ Covered (parity) | R3 | Uniqueness handled in FR-TSM-015. |
| TSM-G11 | Help › For Admin › Time Sheet Management › 1.5 Project Roles | Project role master | [Observed] | FR-TSM-001 (project roles) | ✅ Covered (parity) | R3 | None. |
| TSM-G12 | Help › For Managers › Time Sheet Management › 3. Assign Task | Manager assigns tasks to team members | [Observed] | FR-TSM-002 (assignees); §7.15.8 (project manager, own projects) | ✅ Covered (parity) | R3 | None. |
| TSM-G13 | Help › For Managers › Time Sheet Management › 1.3.2 History; … › 4.2 History; … › 4.4 All History; Help › For Employee › Time Sheet Management › 2.2 History | History by date range (default current week) with search, plus project filter in All History | [Observed] | FR-TSM-005 (history); FR-RPT-002 (filter bar) | ✅ Covered (parity) | R3 | None. |
| TSM-G14 | Help › For Managers › Time Sheet Management › 1.3.3 Defaulters; … › 4.3 Defaulters | Defaulters list with "Send Notification" email | [Observed] | FR-TSM-006 (one-click and scheduled reminders); US-TSM-02 | ⬆️ Covered + improved | R3 | None. Scheduled reminders added. |
| TSM-G15 | Help › For Managers › Time Sheet Management › 4. Pending Approvals; … › 4.1 Pending Request | Four-tab approvals; select and approve or reject | [Observed] | FR-TSM-005 (weekly submit, bulk approve/reject); FR-NTF-011 (unified inbox) | ⬆️ Covered + improved | R3 | None. |
| TSM-G16 | Help › For Employee › Time Sheet Management › 2. Submit Timesheet; … › 2.1 New Entry | Entry rows (date, project, task, description, hours); Add/Minus rows; rule "limit hours to attendance hours" | [Observed] | FR-TSM-003 (weekly grid, copy last week); FR-TSM-004 (attendance cap); US-TSM-01 | ⬆️ Covered + improved | R3 | None. |
| TSM-G17 | Help › For Employee › Time Sheet Management › 2.1 New Entry | "%" field and "Task Completed" checkbox on each entry | [Observed] | FR-TSM-002 (% complete at task level only) | 🟡 Partial | R3 | Per-entry % and task-completed flag are absent from FR-TSM-003. Add FR-TSM-016. |
| LMS-G01 | Help › For Admin › Learning Management System (LMS) › Admin; Help › For Managers › Learning Management System (LMS) › Manager; Help › For Employee › Learning Management System (LMS) › LMS- Employee Login; Help › LMS Instructor › Instructor Login | Role entry nodes for four audiences | [Observed] | §7.16.8 permissions (OWN, HRA, HRM, INS, LM, EMP); FR-PLT-004 (LMS add-on) | ✅ Covered (parity) | R4 | None. |
| LMS-G02 | Help › For Admin › Learning Management System (LMS) › Dashboard; Help › For Managers › Learning Management System (LMS) › Dashboard; Help › LMS Instructor › Dashboard | Courses overview, leaderboard, progress, badges by category, recommended courses | [Observed] | FR-LMS-009 (leaderboard), FR-LMS-010 (recommended), §7.16.11 | 🟡 Partial | R4 | Leaderboard and recommendations are Could. No FR defines the role dashboards. Add FR-LMS-011. |
| LMS-G03 | Help › For Admin › Learning Management System (LMS) › Configurations | Admin edits attribute values | [Observed] | §7.16.6 settings (lms.*) only | 🟡 Partial | R4 | Settings exist, but no admin screen is specified. Add FR-LMS-012. |
| LMS-G04 | Help › For Managers › Learning Management System (LMS) › Reports; Help › LMS Instructor › Reports | Enrolled, completed, badges, points, certificates counts | [Observed] | §7.16.11; US-LMS-03 (compliance report with overdue); FR-RPT-003 | ⬆️ Covered + improved | R4 | None. |
| LMS-G05 | Help › LMS Instructor › Course Builder | Add course (title, tags, description, difficulty, category, prerequisites, image), then modules, sections, content, review and submit | [Observed] | FR-LMS-001, FR-LMS-008 (draft, review, publish); FR-LMS-002 (SCORM 1.2) | ⬆️ Covered + improved | R4 | None. |
| LMS-G06 | Help › For Employee › Learning Management System (LMS) › Course Library | Catalogue with search; enrol and complete | [Observed] | FR-LMS-001 (course), FR-LMS-005 (progress); §7.16.9 "Library" tab | 🟡 Partial | R4 | Search and optional self-enrolment are not specified (only mandatory assignment). Add FR-LMS-013. |
| LMS-G07 | Help › For Employee › Learning Management System (LMS) › Course Library (assessment icon, Submit Test) | Take an assessment and submit | [Observed] [Observed-SS] | FR-LMS-003 (pass mark, attempts) | ⬆️ Covered + improved | R4 | None. |
| LMS-G08 | Help › For Employee › Learning Management System (LMS) › Learning Sphere | Sections completed, leader dashboard, course information; KPI tiles (courses, modules, sections, certificates, streak); tabs Enrolled, Assigned, Recommended, Trending, Popular, Personal | [Observed] [Observed-SS] | §7.16.9 (Assigned, Library, Certificates tabs); FR-LMS-010 | 🟡 Partial | R4 | No learning-home spec; Trending/Popular tabs absent. Add FR-LMS-014. |
| LMS-G09 | Help › For Employee › Learning Management System (LMS) › Learning Sphere ("Assigned" tab) | Assigned courses exist, contradicting "no mandatory assignment documented" | [Observed-SS] | FR-LMS-004 (assignment rules, due dates, recurrence, onboarding link); FR-LMS-007; US-LMS-01 | ⬆️ Covered + improved | R4 | None. |
| LMS-G10 | Help › For Employee › Learning Management System (LMS) › My Badges | Earned badges and next targets | [Observed] | FR-LMS-009 (badges, points; Could) | 🟡 Partial | R4 | "Next targets" are not specified. Cover in FR-LMS-014. |
| LMS-G11 | Help › For Employee › Learning Management System (LMS) › My Badges (screenshot) | Badge ladder by courses completed: APPRENTICE, SCHOLAR, MENTOR, GUIDE, PATHFINDER, EXPERT; streak | [Observed-SS] | FR-LMS-009 (generic) | 🟡 Partial | R4 | No ladder or streak definition. Add configurable levels in FR-LMS-012 (Could). |
| LMS-G12 | Help › For Employee › Learning Management System (LMS) › My Certificates | List of completed-course certificates | [Observed] | FR-LMS-006; US-LMS-02 | ⬆️ Covered + improved | R4 | None. Adds a verification link. |
| LMS-G13 | Help › For Employee › Learning Management System (LMS) › My Certificates (screenshot) | Certificate: recipient, course, date, tenant, instructor signature, ID like CERT250811174612SELE10, no score | [Observed-SS] | FR-LMS-006 (unique ID, signatory, optional score, verify link); lms.certificate_id_pattern | ⬆️ Covered + improved | R4 | None. |
| LMS-G14 | Help › For Employee › Learning Management System (LMS) › Learning Sphere (chatbot icon) | In-LMS chatbot | [Observed-SS] | None | 🚫 Intentionally dropped | — | Undocumented, and an AI helper is not a compliance-training need for SME buyers. |
| RPT-G01 | Help › For Super Admin › Super Admin Dashboard › Super Admin Dashboard | Org dashboard after Company Code login | [Observed] | FR-RPT-006 (persona dashboards); FR-RPT-007 (drill-down); US-RPT-01 | ⬆️ Covered + improved | R1 | None. |
| RPT-G02 | … › Super Admin Dashboard › Super Admin Dashboard (Employee Count By Location; Employees By Department By Location; Employee Count active/new/exit) | Three headcount widgets | [Observed] | FR-RPT-006 (§7.9.2 widgets); FR-RPT-007 | ✅ Covered (parity) | R1 | None. |
| RPT-G03 | … › Super Admin Dashboard › Super Admin Dashboard (Attendance By Work Type; Employees on Leave by Department; Leaves) | Attendance and leave widgets | [Observed] | FR-RPT-006 (attendance today by status) | ✅ Covered (parity) | R1 | None. |
| RPT-G04 | … › Super Admin Dashboard › Super Admin Dashboard (Shift Based Headcount by Department) | Headcount by department for a selected shift | [Observed] | FR-RPT-006 (via §7.9.2 widgets) | 🟡 Partial | R1 | Only listed by reference; confirm shift filter in FR-RPT-006 tile list. Add FR-RPT-014. |
| RPT-G05 | … › Super Admin Dashboard › Super Admin Dashboard (Payroll Amount by Department by Month) | Payroll cost by department by month | [Observed] | FR-RPT-006 (payroll cost trend); FR-RPT-005 (sensitive access) | ⬆️ Covered + improved | R1 | None. Gated by payroll permission. |
| RPT-G06 | … › Super Admin Dashboard › Super Admin Dashboard (screenshot of widgets) | The same widget set as rendered (organisation-wide, owner persona) | [Observed-SS] | FR-RPT-006; US-RPT-01 | ✅ Covered (parity) | R1 | None. |
| RPT-G07 | Help › For Admin › Employee Management › Messages Master; Help › For Admin › Attendance Management › Attendance Messages Master:; Help › For Admin › Leave Management › Leaves Messages Master; Help › For Managers › Payroll Management › Payroll Messages Master | Edit every success/error message, shown with its screen name | [Observed] | FR-NTF-017 (Won't); FR-NTF-001 (template overrides); FR-ORG-017 (label overrides) | 🚫 Intentionally dropped | — | Editing every UI string per tenant is a maintenance trap. i18n bundles plus template and label overrides cover the need. |
| RPT-G08 | Cross-cutting (SP-X-05): export buttons on report pages | Excel and PDF export on nearly every report | [Observed] | FR-RPT-004, FR-RPT-005 | ⬆️ Covered + improved | R1 | None. Adds async export, masking and audit. |
| RPT-G09 | Cross-cutting (SP-X-06): per-role, per-module reports and filter idiom | Same report rebuilt per role; Search and Clear filters | [Observed] | FR-RPT-001, FR-RPT-002, FR-RPT-008, FR-RPT-009 | ⬆️ Covered + improved | R1 | None. One scope-aware framework, plus saved views and scheduling. |
| MOB-G01 | Help › Mobile App › Spryple HR › Spryple integrated HCM/Lite User Manual; … › 1. Introduction; … › 1.1 Overview; … › 1.2 Purpose of the App; … › 1.3 System Requirements; … › 2. Getting Started; … › 2.1 Installation; … › 2.1 Account Creation; … › 2.3 Usage of App; … › 3. User Interface; … › 3.1 Main Screen; same set under Help › Mobile App › Spryple Lite incl. 3.2 Navigation | Manual boilerplate: install from Play Store, company code, credentials per role, accounts created in web, main-screen navigation | [Observed] | FR-MOB-001 (role tabs), FR-MOB-002 (company-code), FR-MOB-009 (low-end devices), FR-MOB-011, US-MOB-01 | ⬆️ Covered + improved | R1 | None. |
| MOB-G02 | Help › Mobile App › Spryple HR; Help › Mobile App › Spryple Lite (structure); store packages com.hrmslatest, com.hrmslatestlite, com.crmspryplesp | Four separate apps (HCM, Lite, CRM, Claims-inside-CRM) | [Observed] [Observed-SS] | FR-MOB-001, FR-MOB-018 (field inside same app); ADR-014 (§7.10.1) | ⬆️ Covered + improved | R1 | None. One app, entitlement-driven. |
| MOB-G03 | Help › Mobile App › Spryple HR (platform); store listings §21.1 | Android documented for HCM and Lite; iOS only for CRM; Lite unmaintained since 2024-08 | [Observed-SS] | FR-MOB-001 (iOS 15+, Android 9+), FR-MOB-008 | ⬆️ Covered + improved | R1 | None. |
| MOB-G04 | Help › Mobile App › Spryple HR › Attendance captured by employees in Receptionist Login; Help › Mobile App › Spryple Lite › 4.5 Receptionist Login | Receptionist login so staff can check in and out | [Observed] | FR-MOB-012, FR-MOB-013, FR-MOB-017 (kiosk and operator-assisted punch); FR-ATT-010; US-MOB-03 | ⬆️ Covered + improved | R2 | None. Not available at R1 (see MOB-G08). |
| MOB-G05 | Help › Mobile App › Spryple Lite › 1.1 Overview; … › 1.2 Purpose of the App | Lite as a separate product: face attendance plus simple payroll for micro-businesses | [Observed] | FR-PLT-004 (Lite plan as entitlements); FR-PAY-018 (Simple payroll template) | ⬆️ Covered + improved | R1 | None. |
| MOB-G06 | Help › Mobile App › Spryple Lite › 4.1.1 Add Employee | Manager adds an employee on the phone (name, mobile, monthly salary, shift) | [Observed] | None (FR-MOB-004 MSS has no create-employee action; FR-PAY-004 has monthly gross for Lite) | ❌ Gap | R1 | Micro-business owner works phone-only. Add FR-MOB-020 (Lite quick-add employee). |
| MOB-G07 | Help › Mobile App › Spryple Lite › 4.1.2 Configure User; Help › Mobile App › Spryple HR › Capture Employee Image | Edit employee, manage face profile with Verified/Not Verified, camera permission | [Observed] | FR-MOB-014; US-MOB-04 | ⬆️ Covered + improved | R2 | None. Adds consent and liveness. |
| MOB-G08 | Help › Mobile App › Spryple Lite › 4. Facial Recognition for Attendance; … › Employee Login | Face self check-in and check-out, the Lite headline feature | [Observed] | FR-MOB-013, FR-MOB-015, FR-ATT-010 | 🟡 Partial | R2 | Lite plan ships at R1 (FR-PAY-018) but face punch is R2. Add FR-MOB-023: a selfie-plus-geofence punch in the Lite plan at R1. |
| MOB-G09 | Help › Mobile App › Spryple Lite › 4.2 Detailed Reports; … › 4.3 Attendance Reports | Per-employee, per-date attendance and monthly present count on the phone | [Observed] | FR-MOB-004 (team today), §7.9.9 "reports are web-only except Team today" | 🟡 Partial | R1 | Owner cannot get monthly attendance summary on the phone. Add FR-MOB-021. |
| MOB-G10 | Help › Mobile App › Spryple Lite › 4.4 Payroll Reports | Salary, present count and payable salary per employee for a period | [Observed] | FR-PAY-018; §7.9.9 | 🟡 Partial | R1 | No mobile payroll estimate for Lite owners. Cover in FR-MOB-021 (respect payroll permission). |
| MOB-G11 | Help › Mobile App › Spryple HR › Applying/Approving Attendance Request; … › Reports; … › Today Attendees; … › Attendance Details; … › Attendance Summary; … › Configure Location; … › Applying/Approving Leave Request; … › Applying/Approving Comp-Off Request; payslips | Attendance, leave, comp-off and payroll screens (detail owned by other analysts) | [Observed] | FR-MOB-003, FR-MOB-004, FR-NTF-011 | ✅ Covered (parity) | R1 | Pointer row. Detail is assessed in the attendance, leave and payroll parts. |
| MOB-G12 | Help › Mobile App › Spryple HR › REWARDS & RECOGNITION | Send recognition (employee, type, message), Sent and Received lists, counts report | [Observed] | FR-ENG-005, FR-ENG-006 (R2); not listed in FR-MOB-003 | 🟡 Partial | R2 | Mobile access not stated. Add FR-MOB-022. |
7.3 Where Spyrl goes beyond Spryple
- Weekly timesheet grid with copy-last-week, billable flag and period lock (FR-TSM-003, FR-TSM-007), where Spryple has one-row-at-a-time forms. Shared client Accounts with FFM (FR-TSM-001) remove the duplicate client master.
- Bench from allocation % (FR-TSM-008) and scheduled defaulter reminders (FR-TSM-006), against Spryple's manual "Send Notification".
- LMS built around compliance. Mandatory assignment with due dates, recurrence and onboarding links (FR-LMS-004), overdue escalation (FR-LMS-007), SCORM import (FR-LMS-002), and certificates with a verification link (FR-LMS-006). Spryple documents none of these.
- One report framework (FR-RPT-001), with saved views, scheduled delivery, governed exports and drill-down (FR-RPT-005, FR-RPT-007..009), where Spryple rebuilds reports per role.
- One mobile app (FR-MOB-001) in place of four, with iOS, offline punching (FR-MOB-005), forced upgrade (FR-MOB-008), and consent-gated face data with liveness (FR-MOB-013, FR-MOB-014). Kiosk mode replaces the receptionist login, and Lite becomes a plan (FR-PLT-004).
- Messages Master replaced by i18n plus template overrides (FR-NTF-001, FR-NTF-017 Won't).
7.4 Recommended PRD changes
Next free IDs: TSM-012, LMS-011, RPT-014, MOB-020 (highest existing: FR-TSM-011, FR-LMS-010, FR-RPT-013, FR-MOB-019).
| Proposed ID | Requirement | Priority (MoSCoW) | Release | Source breadcrumb |
|---|---|---|---|---|
| FR-TSM-012 | Manager and owner dashboard adds a client count, a project-status donut (projects with and without variance) and a date-range selector for all charts. | Should | R3 | Help › For Super Admin › Time Sheet Management › 1. Dashboard; Help › For Managers › Time Sheet Management › 1. Dashboard |
| FR-TSM-013 | Employee timesheet dashboard: assigned vs completed tasks per project, pending-timesheet count, assigned projects and tasks list. | Should | R3 | Help › For Employee › Time Sheet Management › 1. Employee Dashboard |
| FR-TSM-014 | Timesheet summary report with filters client, project, date, status; columns client, project, project manager, estimated days, worked hours, status; a details view with planned vs actual task dates and hours; xlsx/CSV/PDF export; role-scoped via FR-RPT-001. | Must | R3 | Help › For Super Admin › Time Sheet Management › 2. Summary Report; Help › For Managers › Time Sheet Management › 5. Summary Report; Help › For Employee › Time Sheet Management › 3. Summary Reports |
| FR-TSM-015 | Uniqueness of client, project, task and project-role names within the tenant, and Active/Inactive status on each (inactive items cannot receive new entries). | Should | R3 | Help › For Admin › Time Sheet Management › 1.1 Client (and 1.2, 1.4, 1.5) |
| FR-TSM-016 | Per-entry "% complete" and "Task completed" flag on timesheet rows, updating the task status after approval. | Should | R3 | Help › For Employee › Time Sheet Management › 2.1 New Entry |
| FR-LMS-011 | Role dashboards (employee, manager, instructor, HR): courses overview, progress, overdue, and, when enabled, leaderboard, badges by category and recommended courses. | Should | R4 | Help › For Admin › Learning Management System (LMS) › Dashboard; Help › LMS Instructor › Dashboard |
| FR-LMS-012 | Admin LMS configuration screen for points per course, badge-level thresholds (default six levels), streak rules, certificate ID pattern, leaderboard on/off. | Could | R4 | Help › For Admin › Learning Management System (LMS) › Configurations; Help › For Employee › Learning Management System (LMS) › My Badges |
| FR-LMS-013 | Course library search and filters (category, difficulty, tag); optional self-enrolment for non-mandatory courses; per-course "open to all / by rule" setting. | Should | R4 | Help › For Employee › Learning Management System (LMS) › Course Library |
| FR-LMS-014 | Employee learning home: tiles (courses, sections, certificates, streak), tabs Enrolled, Assigned, Recommended, Popular, and "next badge" targets. | Could | R4 | Help › For Employee › Learning Management System (LMS) › Learning Sphere; … › My Badges |
| FR-RPT-014 | Org dashboard tile set confirmed in the FR text: headcount by location and by department-by-location, active/new/exit, attendance by work type, leave by department, shift-based headcount by department, payroll by department by month. | Must | R1 | Help › For Super Admin › Super Admin Dashboard › Super Admin Dashboard |
| FR-MOB-020 | Lite plan: manager quick-add employee on mobile (name, mobile, monthly salary, shift), with a handoff to complete the profile on web and optional face enrolment (FR-MOB-014). | Must | R1 | Help › Mobile App › Spryple Lite › 4.1.1 Add Employee |
| FR-MOB-021 | Mobile reports for owner and manager: monthly attendance summary per employee, per-employee detail by date, and, with payroll permission, a payable-salary estimate. | Should | R1 | Help › Mobile App › Spryple Lite › 4.2 Detailed Reports; … › 4.3 Attendance Reports; … › 4.4 Payroll Reports |
| FR-MOB-022 | Send and receive recognition, and view Sent and Received lists, on mobile (extends FR-ENG-005). | Could | R2 | Help › Mobile App › Spryple HR › REWARDS & RECOGNITION |
| FR-MOB-023 | Lite plan attendance before kiosk exists: selfie plus geofence punch with manager review, until face verification ships (R2). | Should | R1 | Help › Mobile App › Spryple Lite › 4. Facial Recognition for Attendance |
8. Consolidated PRD change list (pending approval)
This is every proposed requirement from §1–§7, de-duplicated. The IDs continue each module's highest existing FR number in prd.md. Two duplicates were merged (FR-ATT-042 → FR-MOB-021, FR-ATT-044 → FR-MOB-020), and one ID collision was renumbered (the R1-lite announcements requirement became FR-ENG-011).
| ID | Requirement | Priority | Release | Source | Module family |
|---|---|---|---|---|---|
| FR-ATT-041 | Approval history: approvers can list decided attendance, regularization, permission, shift-change and OT requests (approved, rejected, withdrawn, cancelled) with filters by employee, type, date and decision, and open the full record. Extend FR-NTF-011 with a "Decided" tab. | Should | R1 | Help › For Managers › Attendance Management › Approval History | Attendance |
| FR-ATT-043 | Employee self-view of extra days, week-off penalty days and late-deduction days for the current and past periods, inside the month summary (FR-ATT-037). Add an employee row to report 14. | Should | R1 | Help › For Employee › Attendance Management › Extra Days; Help › For Employee › Attendance Management › Penalty Days | Attendance |
| FR-ATT-045 | Regularization policy option regularization.allow_mark_weekoff: HR may let a regularization record be resolved as week-off (W) or week-off present (WP) when a punch falls on an off day. | Could | R1 | Help › For Admin › Employee Management › HR Policies › Rule 32 | Attendance |
| FR-ATT-046 | Attendance request shows a shift selector only when the employee has more than one shift on a requested date; otherwise the shift is taken from the roster. Stored on the OD session. | Could | R1 | Mobile attendance request screenshot (research 21.3) | Attendance |
| FR-CLM-015 | Role-scoped claims dashboard: employees see own counts, scorecard and paid by category; managers see team figures; reuse the FR-CLM-010 widgets and settlement ratio. | Should | R2 | Help › For Managers › Claims Management › Claims Module for Manager; Help › For Employee › Claims Management › Claims Module for Employee | Claims, Exit & Engagement |
| FR-CLM-016 | Claims register report with filters (employee, dates, status, branch) and Excel and PDF export, with the observed columns plus verified and paid amounts; team-scoped for managers. | Must | R2 | Help › For Managers › Claims Management › Claims Approval (Claim Report) | Claims, Exit & Engagement |
| FR-EMP-023 | HR-assisted candidate entry: HR can create and complete a candidate's profile and documents on their behalf (no link needed) and mark it submitted; HR-entered documents are auto-approved (FR-EMP-009); the entry is audited as "entered by HR". | Should | R1 | Help › For Managers › Employee Management › Adding New Hire (Candidate Data) | Core HR, Org & Identity |
| FR-EMP-024 | Onboarding reminders: tenant switch (default on) to remind the new hire and checklist-item owners about pending or overdue onboarding items and documents at a configurable interval (default every 2 days); escalates to HR after N days; included in the FR-NTF-013 catalogue. | Should | R1 | Help › For Admin › Employee Management › Onboarding Settings | Core HR, Org & Identity |
| FR-ENG-009 | Personal Sent and Received recognition lists, plus a per-type count report per employee. | Should | R2 | Help › Mobile App › Spryple HR › REWARDS & RECOGNITION | Claims, Exit & Engagement |
| FR-ENG-010 | Per-type recognition message templates, editable before sending, bounded by recognition.message_max_chars. | Should | R2 | Help › Mobile App › Spryple HR › REWARDS & RECOGNITION (research §21.9) | Claims, Exit & Engagement |
| FR-ENG-011 | R1-lite announcements: a basic "notice" banner on the employee and manager home (title, body, publish from/to, audience by location) so day-one tenants are not without a broadcast channel; full ENG (FR-ENG-001..004) stays R2. Optional; accept only if R1 capacity allows. | Could | R1 | Help › For Admin › Employee Management › Announcements | Core HR, Org & Identity |
| FR-EXT-013 | Retention notice: a configurable message shown to the employee before submitting a resignation, directing them to talk to their manager or HR; non-blocking. | Could | R2 | Help › For Employee › Exit Management › Separation (research §21.11) | Claims, Exit & Engagement |
| FR-FFM-018 | Manager mobile Team-location list: all team members including the manager, last known position, battery, last seen, tap to open a map; same scope rules as the web map. | Should | R3 | MA › 5.6 Employee Location | Field Force & CRM |
| FR-FFM-019 | Today view for field and manager users: counts of clients added, visits and follow-ups due; manager/team follow-up list filtered by date and employee; trend graph. | Should | R3 | MA › 4.2 Dashboard, MA › 4.2.1 Today's Followup's, EW › 4.2 Employee Dashboard | Field Force & CRM |
| FR-FFM-020 | Accounts report: filters (owner, stage, age band, location, date added), scope-aware (branch, manager, team), Excel/CSV/PDF export through FR-RPT-004. | Should | R3 | SA › 1.4 Clients Report, MG › 1.5 Clients Report, AD › 2.2 Clients Reports | Field Force & CRM |
| FR-FFM-021 | Associate-wise report: associates by type, qualification, specialization and owning executive, with export. | Could | R3 | AD › 3.1 Client Associate Reports | Field Force & CRM |
| FR-FFM-022 | Assignment statuses (Planned, Done, Missed, Cancelled, Exceeded) and an Assignments report filtered by employee, scheduled date range and status, with plan-vs-actual counts. | Should | R3 | SA › 1.9 Assignments Report, MG › 1.10 Assignments Report | Field Force & CRM |
| FR-IAM-026 | Authenticated change password: current password verified, new password checked against FR-IAM-003 (policy, history, breach list), confirm field; other sessions revoked; security notification sent (FR-IAM-020). | Must | R0 | Help › For Employee › Employee Management › Change Password | Core HR, Org & Identity |
| FR-LMS-011 | Role dashboards (employee, manager, instructor, HR): courses overview, progress, overdue, and, when enabled, leaderboard, badges by category and recommended courses. | Should | R4 | Help › For Admin › Learning Management System (LMS) › Dashboard; Help › LMS Instructor › Dashboard | Timesheets, LMS, Dashboards & Mobile |
| FR-LMS-012 | Admin LMS configuration screen for points per course, badge-level thresholds (default six levels), streak rules, certificate ID pattern, leaderboard on/off. | Could | R4 | Help › For Admin › Learning Management System (LMS) › Configurations; Help › For Employee › Learning Management System (LMS) › My Badges | Timesheets, LMS, Dashboards & Mobile |
| FR-LMS-013 | Course library search and filters (category, difficulty, tag); optional self-enrolment for non-mandatory courses; per-course "open to all / by rule" setting. | Should | R4 | Help › For Employee › Learning Management System (LMS) › Course Library | Timesheets, LMS, Dashboards & Mobile |
| FR-LMS-014 | Employee learning home: tiles (courses, sections, certificates, streak), tabs Enrolled, Assigned, Recommended, Popular, and "next badge" targets. | Could | R4 | Help › For Employee › Learning Management System (LMS) › Learning Sphere; … › My Badges | Timesheets, LMS, Dashboards & Mobile |
| FR-LVE-029 | Tenant-level leave cycle setting (April–March or January–December; others allowed) owned by an FR, with rules for changing the cycle mid-life (pro-rated bridge period, carry-forward run). | Must | R1 | Help › For Admin › Leave Management › Common rules configuration | Leave |
| FR-LVE-030 | Tenant common-rule defaults (sandwich flags, backdated window, notice days, emails) inherited by every leave type and overridable per type; the policy editor shows "inherited" versus "overridden". | Should | R1 | Help › For Admin › Leave Management › Common rules configuration | Leave |
| FR-LVE-031 | Deactivating a leave type with open balances, pending requests or future approved leave is blocked or requires an explicit choice (keep until exhausted, convert, or lapse); the type then hides from new requests. | Should | R1 | Help › For Admin › Leave Management › How to deactivate Default leaves | Leave |
| FR-LVE-032 | Comp-off eligibility switches comp_off.eligible_day_types (week-off work, holiday work), each on or off per policy. | Should | R1 | Help › For Admin › Leave Management › Comp-off leave Configuration | Leave |
| FR-LVE-033 | Event-based entitlement: entitlement.per_event_days with accrual frequency event, so Maternity, Parental, Wedding and Bereavement templates grant a fixed number of days per occurrence, combined with max_times and min_gap_years. | Must | R1 | Help › For Admin › Leave Management › Maternity Leave Configuration | Leave |
| FR-LVE-034 | The leave request and history show the resolved approver name and Used / Available / Total entitlement per type. | Should | R1 | Help › For Employee › Leave Management › Leave Request | Leave |
| FR-MOB-020 | Lite plan: manager quick-add employee on mobile (name, mobile, monthly salary, shift), with a handoff to complete the profile on web and optional face enrolment (FR-MOB-014). | Must | R1 | Help › Mobile App › Spryple Lite › 4.1.1 Add Employee | Timesheets, LMS, Dashboards & Mobile |
| FR-MOB-021 | Mobile reports for owner and manager: monthly attendance summary per employee, per-employee detail by date, and, with payroll permission, a payable-salary estimate. | Should | R1 | Help › Mobile App › Spryple Lite › 4.2 Detailed Reports; … › 4.3 Attendance Reports; … › 4.4 Payroll Reports | Timesheets, LMS, Dashboards & Mobile |
| FR-MOB-022 | Send and receive recognition, and view Sent and Received lists, on mobile (extends FR-ENG-005). | Could | R2 | Help › Mobile App › Spryple HR › REWARDS & RECOGNITION | Timesheets, LMS, Dashboards & Mobile |
| FR-MOB-023 | Lite plan attendance before kiosk exists: selfie plus geofence punch with manager review, until face verification ships (R2). | Should | R1 | Help › Mobile App › Spryple Lite › 4. Facial Recognition for Attendance | Timesheets, LMS, Dashboards & Mobile |
| FR-PAY-066 | Migration map: each of Spryple's 14 payroll policy rules maps to a named payroll_policy key, documented in 7.7.10. | Should | R1 | Help › For Admin › Payroll Management › Payroll Policies | Payroll |
| FR-PAY-067 | Late leave and attendance threshold: decide and specify payroll_policy.late_leave_threshold or declare the cut-off true-up (FR-PAY-005) as the replacement for dynamic payroll processing. | Should | R1 | Help › For Admin › Payroll Management › Payroll Policies (Rules 8-9) | Payroll |
| FR-PAY-068 | Proportionate week-off deduction: weekoff_lop.threshold_days and formula (week-offs x LOP days / working days) in the payroll policy, with a worked example. | Must | R1 | Help › For Admin › Payroll Management › Payroll Policies (Rule 13) | Payroll |
| FR-PAY-069 | Variable DA: raise FR-PAY-016 to Should; allow a CPI-driven VDA lookup component in R1 via the Slab lookup method (FR-PAY-001), full notification master in R2. | Should | R1 / R2 | Help › For Admin › Payroll Management › Variable DA Configuration | Payroll |
| FR-PAY-070 | Read-only PT slab viewer per state, with effective dates and pack version. | Should | R1 | Help › For Managers › Payroll Management › Professional Tax (View) | Payroll |
| FR-PAY-071 | Payment register report: employee, net pay, payment mode, paid date, UTR, status; filters branch, manager, month; grand total. | Should | R1 | Help › For Managers › Payroll Management › Employee Payments Report | Payroll |
| FR-PAY-072 | Bulk-assign recurring deductions by pay group, template, location or filter. | Should | R1 | Help › For Managers › Payroll Management › Manage Other Deductions | Payroll |
| FR-PAY-073 | Bank-wise salary summary: net pay grouped by beneficiary bank and by debit account, with EPF, ESI, PT totals, selection total, mark-paid action and monthly history. | Should | R1 | Help › For Managers › Payroll Management › Bank Wise Salary Summary | Payroll |
| FR-PAY-074 | Payable-days report: FR-ATT-035 columns, ATT lock version, branch and month filters, export. | Must | R1 | Help › For Managers › Payroll Management › Payable Days Report | Payroll |
| FR-PAY-075 | Lite mobile payroll summary: name, monthly salary, present days, PT, payable salary for a chosen period. | Should | R1 | Help › Mobile App › Spryple Lite › 4.4 Payroll Reports | Payroll |
| FR-PAY-076 | Form 16 timing: ship Form 16 Part B before the first June after go-live, or provide an interim TDS certificate. | Should | R1 / R2 | Help › For Employee › Payroll Management › Form 16 (menu) | Payroll |
| FR-RPT-014 | Org dashboard tile set confirmed in the FR text: headcount by location and by department-by-location, active/new/exit, attendance by work type, leave by department, shift-based headcount by department, payroll by department by month. | Must | R1 | Help › For Super Admin › Super Admin Dashboard › Super Admin Dashboard | Timesheets, LMS, Dashboards & Mobile |
| FR-TSM-012 | Manager and owner dashboard adds a client count, a project-status donut (projects with and without variance) and a date-range selector for all charts. | Should | R3 | Help › For Super Admin › Time Sheet Management › 1. Dashboard; Help › For Managers › Time Sheet Management › 1. Dashboard | Timesheets, LMS, Dashboards & Mobile |
| FR-TSM-013 | Employee timesheet dashboard: assigned vs completed tasks per project, pending-timesheet count, assigned projects and tasks list. | Should | R3 | Help › For Employee › Time Sheet Management › 1. Employee Dashboard | Timesheets, LMS, Dashboards & Mobile |
| FR-TSM-014 | Timesheet summary report with filters client, project, date, status; columns client, project, project manager, estimated days, worked hours, status; a details view with planned vs actual task dates and hours; xlsx/CSV/PDF export; role-scoped via FR-RPT-001. | Must | R3 | Help › For Super Admin › Time Sheet Management › 2. Summary Report; Help › For Managers › Time Sheet Management › 5. Summary Report; Help › For Employee › Time Sheet Management › 3. Summary Reports | Timesheets, LMS, Dashboards & Mobile |
| FR-TSM-015 | Uniqueness of client, project, task and project-role names within the tenant, and Active/Inactive status on each (inactive items cannot receive new entries). | Should | R3 | Help › For Admin › Time Sheet Management › 1.1 Client (and 1.2, 1.4, 1.5) | Timesheets, LMS, Dashboards & Mobile |
| FR-TSM-016 | Per-entry "% complete" and "Task completed" flag on timesheet rows, updating the task status after approval. | Should | R3 | Help › For Employee › Time Sheet Management › 2.1 New Entry | Timesheets, LMS, Dashboards & Mobile |
By priority: Should 32 · Must 9 · Could 8
By release: R0 1 · R1 26 · R1 / R2 2 · R2 6 · R3 10 · R4 4
9. Next steps
- Review and approve the change list (§8) in a product review, R1 items first. The MVP-impacting Must items are: FR-IAM-026 change password (R0), FR-LVE-029 leave cycle, FR-LVE-033 per-event leave entitlement, FR-PAY-068 week-off proration, FR-PAY-074 payable-days report, FR-RPT-014 org dashboard tiles and FR-MOB-020 Lite quick-add (all R1). The other two Must items are later: FR-CLM-016 claims register (R2) and FR-TSM-014 timesheet summary (R3).
- Apply the approved items to prd.md under the reserved IDs, then update the feature catalogue and module pages in the docs site, and re-run the consistency review.
- Decide the Lite-plan scope for R1 (theme 2). Either ship Lite with an interim selfie punch, quick-add and mobile reports, or hold Lite GA until R2.
- Specify the named reports (theme 1) in the RPT framework during R1 build. They are low-risk and high-visibility in demos against Spryple.
- Optional: complete the screenshot review for the Admin and Managers pages (only 24 of 466 images were viewed when the site rate-limited us). This would refine field-level parity, but it is unlikely to change the statuses above.
Synced from
/research/gap-analysis.mdin the repository root. Edit the root file, not this page.