Feature catalogue
This is the index of feature specifications. Each module heading links to its design spec, where the behaviour, data model, events and permissions are defined. Requirements for each feature are in the PRD (FR-<MOD>-*) and the BRD (BR-<MOD>-*).
How to read the columns
| Column | Meaning |
|---|---|
| Label | [Observed] the reference product documents it; [Inferred] it follows from documented behaviour; [Proposed] our own addition or redesign. Observed and Inferred features are rebuilt to our own design, never copied. |
| Spryple ref | The research finding ID in the Spryple analysis, or a section number when the finding has no ID, or — when there is no reference. |
| Release | R0 Foundations, R1 MVP, R2 HR lifecycle, R3 Field and projects, R4 Learning and scale (see conventions). |
| MoSCoW | Must, Should, Could, Won't (for the stated release). |
| Persona | The main user. Role keys follow the conventions: org_owner, hr_admin, hr_manager, finance_admin, payroll_manager, line_manager, sales_admin, sales_manager, employee, field_executive, kiosk_operator, instructor, auditor, platform roles. |
Statutory figures mentioned anywhere are configurable examples to verify.
Platform & Tenant Administration (PLT)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| PLT | Tenant registry | Tenants with slug, company code, plan, cell, status and region | [Proposed] | — | R0 | Must | platform_admin |
| PLT | Company code login resolution | Mobile users enter a company code once; it resolves to the tenant's API and branding | [Observed] | SP-X-10 | R0 | Must | employee |
| PLT | Tenant subdomains | Each tenant at its own subdomain with wildcard TLS | [Proposed] | — | R0 | Must | org_owner |
| PLT | Self-serve trial sign-up | Sign-up with OTP, slug choice and optional sample data; provisioned in under 2 minutes | [Observed] | §21.1 | R0 | Must | Prospect |
| PLT | Idempotent provisioning | Resumable steps that seed roles, templates and statutory data and invite the owner | [Proposed] | — | R0 | Must | platform_admin |
| PLT | Cell placement | Pooled cells by default, dedicated on demand, placed by capacity thresholds | [Proposed] | — | R0 | Must | platform_admin |
| PLT | Plans and entitlements | Lite, Standard, Professional, Enterprise plus add-ons and per-tenant overrides | [Proposed] | — | R0 | Must | billing_admin |
| PLT | Feature flags | Kill switches and gradual rollouts per tenant, cell or plan | [Proposed] | — | R0 | Must | release_manager |
| PLT | Break-glass support access | Time-boxed, reasoned, consented, read-only by default, visible to the tenant | [Proposed] | — | R0 | Must | support_engineer |
| PLT | PEPM billing with Razorpay | Billing on the monthly peak of active employees, GST invoices, UPI AutoPay | [Proposed] | — | R1 | Must | billing_admin |
| PLT | Usage metering | Daily snapshots of employees, tracked users, messages and storage | [Proposed] | — | R1 | Must | billing_admin |
| PLT | Dunning and suspension | Past-due grace, read-only suspension, payroll export still allowed | [Proposed] | — | R1 | Must | billing_admin |
| PLT | Statutory packs | Versioned EPF, ESI, PT, LWF, TDS and minimum-wage tables published centrally | [Proposed] | — | R1 | Must | platform_admin |
| PLT | Tenant export and deletion certificate | Full export, scheduled deletion after the export window, certificate | [Proposed] | — | R1 | Must | org_owner |
| PLT | Custom domains | CNAME with TXT verification and automatic TLS (Enterprise) | [Proposed] | — | R2 | Should | org_owner |
| PLT | Dedicated cell automation | Terraform-provisioned dedicated database or full stack | [Proposed] | — | R2 | Should | platform_admin |
| PLT | Wave rollouts | Canary, pooled and dedicated waves gated by SLOs | [Proposed] | — | R2 | Should | release_manager |
| PLT | Tenant health scores | Activation, adoption and risk signals for customer success | [Proposed] | — | R2 | Could | platform_admin |
| PLT | Tenant mobility between cells | Logical export and import by tenant with cut-over | [Proposed] | — | R4 | Should | platform_admin |
Organisation Setup & Masters (ORG)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| ORG | Company profile and logo | Name, details, logo (up to 1 MB) shown in the header | [Observed] | SP-ORG-01, SP-ORG-05 | R0 | Must | org_owner |
| ORG | Legal entities | Several employers under one tenant with PAN, TAN, GSTIN, PF and ESI codes | [Proposed] | — | R0 | Must | finance_admin |
| ORG | Work locations | Address, state, city, PIN, map picker, time zone | [Observed] | SP-ORG-04 | R0 | Must | hr_admin |
| ORG | Employee-ID sequences | Prefix and seed per location or shared; gap-free, concurrency-safe | [Observed] | SP-ORG-04 | R0 | Must | hr_admin |
| ORG | Departments and designations | Master pattern with duplicate checks and active toggle | [Observed] | SP-ORG-02, SP-ORG-03 | R0 | Must | hr_admin |
| ORG | Department-designation map | Restrict designations per department | [Observed] | SP-ORG-07 | R1 | Should | hr_admin |
| ORG | Bulk reassignment on deactivation | Move linked employees in bulk before deactivating a master | [Proposed] | SP-X-01 | R1 | Should | hr_admin |
| ORG | Holiday calendars | Reusable calendars with public and optional holidays, assigned to locations | [Observed] | SP-ORG-06 | R0 | Must | hr_admin |
| ORG | Geo-fences per location | Several circular fences with radius per location | [Observed] | §21.3 | R1 | Must | hr_admin |
| ORG | Polygon fences, Wi-Fi BSSID and QR | Alternative presence checks | [Proposed] | — | R2 | Could | hr_admin |
| ORG | Grades and cost centres | Masters used by policy applicability and accounting | [Proposed] | — | R1 | Should | hr_admin |
| ORG | Custom fields | Typed, validated, reportable fields on any entity | [Proposed] | — | R1 | Should | hr_admin |
| ORG | Setup wizard with readiness score | Guided set-up of company, locations, structure, holidays, policies and import | [Proposed] | — | R1 | Must | org_owner |
| ORG | Org chart | Visual reporting hierarchy | [Proposed] | — | R2 | Should | employee |
| ORG | Shared client accounts | One account and contact master for field force and timesheets | [Proposed] | §10, §11 | R3 | Must | sales_admin |
Identity, Access & Security (IAM)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| IAM | Invite-link activation | Single-use, expiring links by email or SMS; no default passwords | [Proposed] | SP-IAM-01 | R0 | Must | employee |
| IAM | Automatic user creation on join | User created and invited when the employee joins | [Proposed] | SP-IAM-05 | R1 | Must | hr_admin |
| IAM | Password policy | Typed policy for length, classes, history, breach check | [Observed] | SP-IAM-03 | R0 | Must | hr_admin |
| IAM | Password reset | Self-service reset; admin-initiated reset sends a link, never a password | [Observed] | SP-IAM-04 | R0 | Must | employee |
| IAM | TOTP MFA | Mandatory for admin and payroll roles; recovery codes; step-up for risky actions | [Proposed] | — | R0 | Must | hr_admin |
| IAM | Role builder with permission and scope | Clone templates, edit permissions with a maximum scope per permission | [Proposed] | SP-IAM-02 | R0 | Must | org_owner |
| IAM | Role assignments with filters | Scope plus optional location or department filters | [Proposed] | — | R0 | Must | org_owner |
| IAM | Field-level masking | Salary, bank, PAN, Aadhaar hidden without field permissions | [Proposed] | — | R1 | Must | auditor |
| IAM | Segregation of duties | Conflicting permission pairs blocked, e.g. edit compensation and approve the run | [Proposed] | — | R1 | Must | org_owner |
| IAM | Sessions and revocation | List and revoke sessions; idle timeout; refresh reuse detection | [Proposed] | — | R0 | Must | employee |
| IAM | Mobile device binding and approval | New devices recorded or approved by the line manager | [Observed] | §11 | R1 | Must | line_manager |
| IAM | OIDC SSO | Google Workspace and Microsoft Entra ID (Standard plan and above) | [Proposed] | — | R1 | Must | org_owner |
| IAM | SAML SSO | Enterprise identity providers | [Proposed] | — | R2 | Should | org_owner |
| IAM | Audit log | Append-only, filterable, exportable record of sensitive access and changes | [Proposed] | — | R0 | Must | auditor |
| IAM | Kiosk device tokens | Location-scoped, punch-only device credentials | [Proposed] | SP-ATT-19 | R2 | Should | hr_manager |
| IAM | API clients | OAuth client credentials for the public API | [Proposed] | — | R2 | Should | org_owner |
| IAM | Access reviews | Periodic confirmation of role assignments | [Proposed] | — | R2 | Could | org_owner |
Core HR & Onboarding (EMP)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| EMP | New hire record | Name, dates, designation, mobile, emergency contact, optional personal email | [Observed] | SP-EMP-04 | R1 | Must | hr_manager |
| EMP | Pre-boarding self-service link | Candidate fills personal, family, education, experience and documents (OTP-protected) | [Observed] | SP-EMP-05 | R1 | Must | employee |
| EMP | Joining formalities | HR completes work info, bank and statutory details before Joined | [Observed] | SP-EMP-06 | R1 | Must | hr_manager |
| EMP | Employee directory | Scoped search and profile view | [Observed] | SP-EMP-06 | R1 | Must | employee |
| EMP | Profile sections | Personal, contact, family, education, experience, bank, documents | [Observed] | SP-EMP-06 | R1 | Must | employee |
| EMP | Effective-dated job assignments | Transfers, promotions, manager and grade changes with effective dates | [Proposed] | §4.5 | R1 | Must | hr_manager |
| EMP | Lifecycle policy | Probation, confirmation and notice in one typed policy | [Proposed] | SP-EMP-03 | R1 | Must | hr_admin |
| EMP | Probation confirmation workflow | Reminder, manager and HR approval, extension, confirmation letter | [Proposed] | — | R1 | Must | line_manager |
| EMP | Onboarding checklists with owners | Department items with approvers, due dates and comments | [Observed] | SP-EMP-01, SP-EMP-07 | R1 | Must | hr_manager |
| EMP | Document approval loop | Upload, approve or reject with reason, re-upload; HR uploads auto-approved | [Observed] | SP-EMP-08 | R1 | Must | hr_manager |
| EMP | Induction programmes | Type, department, conductor, date and time, assignment and emails | [Observed] | SP-EMP-02, SP-EMP-09 | R1 | Should | hr_manager |
| EMP | Self-edit with change requests | Direct edit for low-risk fields, approval for bank, name, PAN | [Proposed] | §4.5 | R1 | Must | employee |
| EMP | Employee import with dry-run | Versioned template, validation, error file, idempotent commit | [Observed] | SP-EMP-10 | R1 | Must | hr_admin |
| EMP | Letter templates | Appointment, confirmation, transfer letters from sandboxed templates | [Proposed] | — | R1 | Should | hr_manager |
| EMP | Consent capture | Purpose-based consent records (biometrics, location) under DPDP | [Proposed] | — | R1 | Must | employee |
| EMP | Sensitive identifier protection | Envelope encryption and masking of PAN, Aadhaar, bank | [Proposed] | — | R1 | Must | hr_manager |
| EMP | E-sign and DigiLocker | Signed letters and verified documents | [Proposed] | — | R2 | Could | hr_manager |
| EMP | Asset register | Assets issued and returned | [Inferred] | §21.1 | R3 | Could | hr_manager |
Attendance, Shifts & Time (ATT)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| ATT | Mobile selfie punch with geo-fence | Selfie and location with fence check and BLOCK, FLAG or ALLOW action | [Observed] | SP-ATT-19, §21.3 | R1 | Must | employee |
| ATT | Web punch | Punch from the browser when policy allows | [Inferred] | SP-ATT-16 | R1 | Should | employee |
| ATT | Field punch with photo | Punch at a client site showing name and address | [Observed] | SP-ATT-20 | R1 | Must | field_executive |
| ATT | Offline punch queue | Punches stored on device and synced with drift checks | [Proposed] | — | R1 | Must | employee |
| ATT | Punch source and evidence | Source, address, device and first and last photos on every punch | [Observed] | §21.3 | R1 | Must | hr_manager |
| ATT | Biometric user mapping | Map device user codes to employees | [Observed] | SP-ATT-13 | R1 | Must | hr_admin |
| ATT | Biometric CSV and API import | Upload or push punches from devices with dry-run | [Observed] | SP-ATT-14 | R1 | Must | hr_manager |
| ATT | Biometric push gateway | ADMS-style push and polling sync agent | [Proposed] | — | R2 | Should | hr_admin |
| ATT | Shift master | Fixed, flexible and cross-midnight shifts with windows and breaks | [Observed] | SP-ATT-01 | R1 | Must | hr_admin |
| ATT | Shift assignment | Shift, week-off pattern and date range for employees in bulk | [Observed] | SP-ATT-06 | R1 | Must | line_manager |
| ATT | Shift rotations | Ordered rotation steps per location with reassignment from a date | [Observed] | SP-ATT-07 | R1 | Must | line_manager |
| ATT | Week-off patterns | Per-employee weekly offs including alternate Saturdays | [Observed] | SP-ATT-08 | R1 | Must | line_manager |
| ATT | Attendance policy | One typed, effective-dated policy for graces, thresholds, lates, OT, extra days, penalties | [Proposed] | SP-IAM-03 | R1 | Must | hr_admin |
| ATT | Deterministic day computation | Day status per half from punches, shift, policy, requests, leave and holidays | [Proposed] | §5.3 | R1 | Must | hr_manager |
| ATT | Day-status legend | P, A, HD, W, H, L, HL, WP, HP plus OD and WFH, with half counts | [Observed] | §21.3 | R1 | Must | employee |
| ATT | Attendance requests | WFH, WFO, on-duty and remote location with halves and attachment | [Observed] | SP-ATT-02 | R1 | Must | employee |
| ATT | Pending attendance alerts | Days needing action with one-tap request or leave | [Observed] | SP-ATT-03 | R1 | Must | employee |
| ATT | Regularization | Fix missing in or out time, or convert the day to leave, within a lookback | [Observed] | SP-ATT-11, SP-ATT-12 | R1 | Must | employee |
| ATT | Bulk team regularization | Multi-select absent or half days and raise requests | [Observed] | SP-ATT-12 | R1 | Should | line_manager |
| ATT | Permission (short leave) | Minutes-based request, per-day and per-period limits, paid or unpaid | [Observed] | SP-ATT-10 | R1 | Must | employee |
| ATT | Shift change request | Change to another shift for a date range | [Observed] | SP-ATT-09 | R1 | Must | employee |
| ATT | Shift swap with consent | Swap with a colleague who must accept first | [Proposed] | SP-ATT-09 | R1 | Should | employee |
| ATT | On-behalf requests | Manager raises requests that auto-approve at their level | [Observed] | SP-ATT-04 | R1 | Must | line_manager |
| ATT | Missed-punch default out-time | Policy option to apply a default out-time | [Observed] | SP-IAM-03 | R1 | Should | hr_admin |
| ATT | Late rule and late-to-leave deduction | Free lates, blocks, deduction order across leave types | [Observed] | SP-ATT-01, SP-IAM-03 | R1 | Must | hr_admin |
| ATT | Overtime with approval | Computed OT, minimum, rounding, caps, approval and compensation mode | [Proposed] | SP-ATT-16 | R1 | Must | line_manager |
| ATT | Extra-day pay slabs | Per-designation slabs converting off-day work into extra days | [Observed] | SP-ATT-17 | R1 | Should | hr_admin |
| ATT | Week-off penalty | Unpaid week-off when adjacent days are absent, for chosen designations | [Observed] | SP-ATT-18 | R1 | Should | hr_admin |
| ATT | Period lock and adjustments | Lock with blocker checks; post-lock changes flow to the next run | [Proposed] | §5.4 | R1 | Must | payroll_manager |
| ATT | Recompute tool | Re-run days for employees and dates after a correction | [Proposed] | — | R1 | Should | hr_admin |
| ATT | Attendance dashboards | Calendar, today's shift, team absentees and pending approvals | [Observed] | SP-ATT-15 | R1 | Must | line_manager |
| ATT | Attendance reports | Monthly register, daily, punch log, summary, late, missed punch, shift-wise, OT, extra days | [Observed] | SP-ATT-16 | R1 | Must | hr_manager |
| ATT | Kiosk punching | Shared tablet punching by face or PIN | [Observed] | SP-ATT-19 | R2 | Should | kiosk_operator |
| ATT | Roster planner | Drag-and-drop roster and coverage view | [Proposed] | §5.4 | R3 | Could | line_manager |
| ATT | Attendance anomaly detection | Unusual patterns such as buddy punching or chronic lateness | [Proposed] | — | R4 | Could | hr_manager |
Leave & Holidays (LVE)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| LVE | Leave-type builder with templates | Seeded templates plus custom types with a category | [Proposed] | SP-LVE-02 | R1 | Must | hr_admin |
| LVE | Effective-dated leave policies | Versions with applicability and transition mode for existing employees | [Proposed] | SP-LVE-07 | R1 | Must | hr_admin |
| LVE | Leave ledger | Every credit and debit with reason and source; balances derived | [Proposed] | §6.3 | R1 | Must | employee |
| LVE | Accrual engine | Upfront or periodic credit, pro-rata on joining, LOP reduction, caps | [Observed] | SP-LVE-03 | R1 | Must | hr_admin |
| LVE | Leave cycle | April to March or January to December | [Observed] | SP-LVE-01 | R1 | Must | hr_admin |
| LVE | Sandwich rule | Week-offs and holidays between leave days counted per policy | [Observed] | SP-LVE-01, SP-LVE-03 | R1 | Must | employee |
| LVE | Leave request with live day count | Halves, explanation of charged days, balance check | [Observed] | SP-LVE-05 | R1 | Must | employee |
| LVE | Notice, service and document rules | Advance notice, minimum service, document above N days | [Observed] | SP-LVE-03 | R1 | Must | employee |
| LVE | Per-instance and lifetime caps | Max per request, max times in service, minimum gap between terms | [Observed] | SP-LVE-03 | R1 | Must | hr_admin |
| LVE | Inclusive eligibility | Rules on service and employment type; never marital status; adoption covered | [Proposed] | SP-LVE-04 | R1 | Must | hr_admin |
| LVE | Balance reservation | Pending requests reserve balance | [Proposed] | — | R1 | Must | employee |
| LVE | Withdraw and cancel | Withdraw before approval; cancel approved leave with approval or self-cancel future leave | [Observed] | SP-LVE-05, SP-LVE-06 | R1 | Must | employee |
| LVE | Cancellation approvals | Approver queue for cancellation requests | [Observed] | SP-LVE-06 | R1 | Must | line_manager |
| LVE | On-behalf leave | Manager applies for the employee with balance shown | [Observed] | SP-LVE-06 | R1 | Must | line_manager |
| LVE | Multi-level leave approval | Conditional HR step for long leave | [Proposed] | §6.3 | R1 | Must | hr_manager |
| LVE | Comp-off credits with expiry | Earned from worked off days, minimum hours, request window, FIFO use | [Observed] | SP-LVE-03, SP-LVE-05 | R1 | Must | employee |
| LVE | Advance (negative) leave | Borrow up to a limit or overflow to LOP | [Observed] | SP-LVE-03 | R1 | Should | employee |
| LVE | Optional holidays | Opt in to optional holidays up to a yearly quota | [Observed] | SP-LVE-01, SP-LVE-06 | R1 | Must | employee |
| LVE | Holiday list | Next three holidays and full list for the employee's location | [Observed] | SP-LVE-05 | R1 | Must | employee |
| LVE | Carry-forward and lapse | Year-end close with caps and expiry of carried days | [Observed] | SP-LVE-03 | R1 | Must | hr_admin |
| LVE | Year-end encashment | Encash surplus into payroll | [Proposed] | SP-LVE-03 | R1 | Should | payroll_manager |
| LVE | Late deduction posting | Deductions from ATT late rule posted in type order | [Observed] | SP-IAM-03 | R1 | Must | hr_admin |
| LVE | LOP bridge to payroll | LOP and encashment per employee for a pay period | [Observed] | SP-LVE-06 | R1 | Must | payroll_manager |
| LVE | Opening-balance import | Bulk opening balances with dry-run | [Proposed] | §6.3 | R1 | Must | hr_admin |
| LVE | Manual adjustments | Adjustments with mandatory reason, visible to the employee | [Proposed] | — | R1 | Must | hr_manager |
| LVE | Policy simulation | Preview accruals under a new policy version | [Proposed] | — | R1 | Should | hr_admin |
| LVE | Team conflict warnings | Warn when too many teammates are on leave | [Proposed] | §6.3 | R1 | Should | line_manager |
| LVE | Team leave calendar | Approved and pending leave for the team | [Observed] | SP-LVE-06 | R1 | Must | line_manager |
| LVE | Leave reports | Balances, register by employee, date, type, designation, summary, payroll report | [Observed] | SP-LVE-06 | R1 | Must | hr_manager |
| LVE | Statutory leave registers | State Shops and Establishments formats | [Proposed] | — | R2 | Should | hr_manager |
| LVE | Calendar sync | Approved leave to Google or Microsoft calendars | [Proposed] | — | R3 | Could | employee |
Payroll & Statutory Compliance (PAY)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| PAY | Salary components | Earnings, deductions, employer contributions, reimbursements with typed flags and payslip labels | [Observed] | SP-PAY-05 | R1 | Must | finance_admin |
| PAY | Salary structures with formulas | Versioned templates with percent, flat and formula lines and a balancing component | [Proposed] | SP-PAY-05 | R1 | Must | finance_admin |
| PAY | Compensation assignment and CTC breakup | Effective-dated CTC with monthly and annual breakup preview | [Observed] | SP-PAY-10 | R1 | Must | payroll_manager |
| PAY | Compensation revision | Increment, promotion or correction with effective date | [Observed] | SP-PAY-11 | R1 | Must | payroll_manager |
| PAY | Automatic arrears | Back-dated revisions recomputed against locked periods | [Observed] | SP-PAY-09 | R1 | Must | payroll_manager |
| PAY | Pay schedule with attendance cut-off | Different payroll and attendance windows; salary basis options | [Observed] | SP-PAY-04 | R1 | Must | finance_admin |
| PAY | Payable days calculation | Basis, employed and unpaid days with source breakdown | [Observed] | SP-PAY-13 | R1 | Must | payroll_manager |
| PAY | Pay-run lifecycle | Draft, calculated, review, approved, locked, paid, reversed | [Proposed] | §7.3 | R1 | Must | payroll_manager |
| PAY | Immutable run snapshots | Frozen inputs and outputs with a hash per employee | [Proposed] | — | R1 | Must | auditor |
| PAY | Validation and variance checks | Blocking errors and warnings vs the previous period | [Proposed] | §7.3 | R1 | Must | payroll_manager |
| PAY | Salary hold | Hold or release individual employees in a run | [Proposed] | SP-PAY-15 | R1 | Should | payroll_manager |
| PAY | One-time inputs | Arrears, variable pay, bonus, other deductions, OT, extra days with bulk upload | [Observed] | SP-PAY-09, SP-PAY-14, SP-PAY-17 | R1 | Must | payroll_manager |
| PAY | Variable pay schedules | Monthly share or lump sum over a distribution period | [Observed] | SP-PAY-17 | R1 | Should | payroll_manager |
| PAY | EPF with EPS, EDLI and admin charges | Wage ceiling option, VPF, UAN | [Observed] | SP-PAY-02 | R1 | Must | finance_admin |
| PAY | ESI | Coverage by contribution period, employer share in CTC toggle, state codes | [Observed] | SP-PAY-03 | R1 | Must | finance_admin |
| PAY | Professional tax by state | State slabs and special months | [Observed] | SP-PAY-13 | R1 | Must | finance_admin |
| PAY | Labour Welfare Fund | State-specific contributions in due months | [Proposed] | §7.3 | R1 | Must | finance_admin |
| PAY | Gratuity provision | Monthly employer provision; paid in F&F | [Observed] | SP-PAY-07 | R1 | Should | finance_admin |
| PAY | TDS engine | Annual projection by regime with declarations and proofs | [Inferred] | SP-PAY-16, §21.5 | R1 | Must | payroll_manager |
| PAY | IT declarations and proofs | Employee declarations window and proof verification | [Observed] | §21.5 | R1 | Must | employee |
| PAY | Manual TDS override | Audited override amount | [Observed] | SP-PAY-16 | R1 | Should | payroll_manager |
| PAY | Payslips | PDF with company branding, optional password, publish and notify | [Observed] | §7.1 | R1 | Must | employee |
| PAY | CTC history | Employee view of compensation over time | [Observed] | §7.1 | R1 | Must | employee |
| PAY | EPFO ECR file | Portal-ready contribution file | [Proposed] | SP-PAY-13 | R1 | Must | payroll_manager |
| PAY | ESIC contribution file | Portal-ready monthly upload | [Proposed] | SP-PAY-13 | R1 | Must | payroll_manager |
| PAY | PT and LWF challan data | State-wise data for payment and returns | [Proposed] | SP-PAY-13 | R1 | Must | payroll_manager |
| PAY | Bank transfer files | Generic NEFT CSV and bank-specific formats per debit account | [Proposed] | SP-PAY-15 | R1 | Must | payroll_manager |
| PAY | Bank-wise salary summary | Totals by bank with statutory totals | [Observed] | SP-PAY-15 | R1 | Should | payroll_manager |
| PAY | Advance salary | Request after a payslip, capped, approved, instalment recovery, cooling-off | [Observed] | SP-PAY-07 | R1 | Should | employee |
| PAY | Loans with interest | Loans with schedule and recovery ledger | [Proposed] | §7.3 | R2 | Could | payroll_manager |
| PAY | Off-cycle and bonus runs | Separate runs for corrections and bonuses | [Proposed] | §7.3 | R1 | Should | payroll_manager |
| PAY | Run reversal | Reversal run negating a locked run, followed by a corrected run | [Proposed] | §7.3 | R1 | Must | finance_admin |
| PAY | Minimum-wage check | Warning when gross is below the state minimum for the skill category | [Proposed] | §7.3 | R1 | Should | payroll_manager |
| PAY | Finance dashboard | Salary, EPF, ESI by month and department | [Observed] | SP-PAY-01 | R1 | Should | finance_admin |
| PAY | Payroll reports | Register, statutory registers, payable days, variance, structure list | [Observed] | SP-PAY-13 | R1 | Must | payroll_manager |
| PAY | Reimbursement payout | Approved claims paid as a non-taxable component | [Proposed] | §16 | R2 | Must | payroll_manager |
| PAY | F&F run type | Off-cycle settlement run for leavers | [Proposed] | §8 | R2 | Must | payroll_manager |
| PAY | Form 16 Part B | Annual certificate generation | [Observed] | §21.5 | R2 | Must | employee |
| PAY | 24Q return data | Quarterly TDS return data | [Proposed] | §7.3 | R2 | Must | payroll_manager |
| PAY | Accounting journal export | Tally XML and CSV (Zoho Books / ERP API connectors in R4) | [Proposed] | §7.3 | R2 | Should | finance_admin |
| PAY | Variable DA | CPI-linked dearness allowance with notifications and effective dates | [Observed] | SP-PAY-08 | R2 | Could | finance_admin |
| PAY | Statutory bonus calculator | Payment of Bonus Act computation | [Proposed] | §7.3 | R2 | Could | payroll_manager |
Notifications & Workflow (NTF)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| NTF | Transactional outbox | Events written with the state change and relayed reliably | [Proposed] | — | R0 | Must | platform_admin |
| NTF | Email channel | Transactional email through an in-region provider | [Observed] | SP-X-09 | R0 | Must | employee |
| NTF | In-app notification centre | Inbox with read state | [Proposed] | — | R0 | Must | employee |
| NTF | Approval engine | Versioned chains with resolvers, conditions and any or all modes | [Proposed] | SP-X-03 | R1 | Must | hr_admin |
| NTF | Unified approvals inbox | One inbox for every request type with bulk actions | [Observed] | SP-ATT-05 | R1 | Must | line_manager |
| NTF | Reject with reason and send back | Mandatory comment; requester can fix and resubmit | [Observed] | SP-X-03 | R1 | Must | line_manager |
| NTF | On-behalf auto-approval | Steps the actor covers auto-approve; later steps still run | [Observed] | SP-X-04 | R1 | Must | line_manager |
| NTF | Delegation | Delegate approvals for a date range and request types | [Proposed] | §18 | R1 | Must | line_manager |
| NTF | Reminders and escalation | SLA-based reminders and escalation to the next level or a role | [Proposed] | §18 | R1 | Must | hr_manager |
| NTF | Self-approval prevention | Requester never resolves as approver | [Proposed] | — | R1 | Must | auditor |
| NTF | Request timeline | Who holds the request and since when | [Observed] | SP-X-03 | R1 | Must | employee |
| NTF | Push notifications | Expo push with deep links | [Proposed] | — | R1 | Must | employee |
| NTF | SMS channel | DLT-registered templates for invites and OTPs | [Proposed] | — | R1 | Must | employee |
| NTF | Preferences and quiet hours | Per-event channel choice and quiet hours | [Proposed] | — | R1 | Should | employee |
| NTF | Workflow designer with preview | Edit chains and test them against an employee | [Proposed] | — | R1 | Should | hr_admin |
| NTF | Template overrides and i18n | Tenant overrides of key templates; English first | [Observed] | SP-X-02 | R1 | Should | hr_admin |
| NTF | WhatsApp channel | Metered business messaging | [Proposed] | §18 | R2 | Should | employee |
| NTF | Public webhooks | Signed event delivery with retries and DLQ | [Proposed] | §18 | R2 | Should | org_owner |
| NTF | Email digests | Daily approval digest | [Proposed] | — | R2 | Could | line_manager |
Reporting, Dashboards & Exports (RPT)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| RPT | Dataset framework with scope | One definition per report, scoped by the viewer's permission | [Proposed] | §14 | R1 | Must | hr_manager |
| RPT | Standard filter idiom | Location, department, manager, employee, period | [Observed] | SP-X-06 | R1 | Must | line_manager |
| RPT | Column chooser | Choose columns before generating | [Observed] | SP-RPT-01 | R1 | Must | hr_manager |
| RPT | Excel, CSV and PDF export | Background export jobs with expiring links | [Observed] | SP-X-05 | R1 | Must | hr_manager |
| RPT | Owner dashboard | Headcount, joiners and exits, attendance by work type, leave, payroll cost | [Observed] | §14 | R1 | Must | org_owner |
| RPT | Persona dashboards | HR, manager, employee, payroll and sales tiles with drill-down | [Proposed] | §14 | R1 | Must | line_manager |
| RPT | Export audit | Every export recorded with filters and row count | [Proposed] | — | R1 | Must | auditor |
| RPT | Saved views | Save and share filters and columns | [Proposed] | §14 | R2 | Should | hr_manager |
| RPT | Scheduled reports | Email delivery on a schedule | [Proposed] | §14 | R2 | Should | org_owner |
| RPT | Trend analytics | Attrition, absenteeism, OT cost, payroll cost trends | [Proposed] | §14 | R4 | Should | org_owner |
| RPT | Custom report builder | Semantic layer for ad-hoc reports | [Proposed] | §14 | R4 | Could | hr_admin |
Mobile App & Kiosk (MOB)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| MOB | Single role-based app | One app for ESS, MSS, field and claims, driven by permissions and entitlements | [Proposed] | §15 | R1 | Must | employee |
| MOB | ESS home | Punch, today's shift, alerts, balances, last payslip | [Observed] | §15 | R1 | Must | employee |
| MOB | Attendance calendar | Monthly calendar with legend | [Observed] | §21.3 | R1 | Must | employee |
| MOB | Leave on mobile | Apply with balance chips and contact during leave; history | [Observed] | §21.4 | R1 | Must | employee |
| MOB | Payslips on mobile | Financial year and month selection, earnings and deductions | [Observed] | §15 | R1 | Must | employee |
| MOB | MSS approvals | Approvals inbox with swipe actions | [Observed] | §15 | R1 | Must | line_manager |
| MOB | Today's attendees | Team present, absent, late and on leave | [Observed] | SP-ATT-19 | R1 | Must | line_manager |
| MOB | App version enforcement | Minimum version with upgrade prompt; OTA updates | [Proposed] | — | R1 | Must | employee |
| MOB | Honest permission disclosures | In-app disclosure before location and camera prompts; truthful store data safety | [Proposed] | §21.1 | R1 | Must | employee |
| MOB | Kiosk mode | Locked shared-tablet punching by face or PIN | [Observed] | SP-ATT-19 | R2 | Should | kiosk_operator |
| MOB | Face verification with liveness | Consented enrolment and verification through a provider interface | [Proposed] | §21.3 | R2 | Should | employee |
| MOB | Manager face enrolment | Capture, recapture and delete face profiles | [Observed] | SP-ATT-19 | R2 | Should | line_manager |
| MOB | Claims capture | Bill photos, offline drafts, status | [Observed] | §21.6 | R2 | Should | employee |
| MOB | Recognition and announcements on mobile | Send recognition, read and acknowledge announcements | [Observed] | §13 | R2 | Should | employee |
| MOB | Field screens | Beat, visits, accounts, activities, payments, travel | [Observed] | §11 | R3 | Must | field_executive |
| MOB | Indian-language UI | Hindi, Telugu, Tamil | [Proposed] | — | R3 | Could | employee |
| MOB | Lite plan profile | Simplified attendance and payroll navigation as a plan, not a separate app | [Proposed] | §15 | R1 | Should | org_owner |
Claims & Expense Reimbursement (CLM)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| CLM | Multi-bill claims | Lines with category, bill number, date, amount and image | [Observed] | §9 | R2 | Must | employee |
| CLM | Expense categories | Bill, per-diem and mileage categories with receipt rules | [Observed] | §21.6 | R2 | Must | finance_admin |
| CLM | Expense policy with limits | Per bill, day, month and claim limits by grade and city tier | [Proposed] | §9 | R2 | Must | finance_admin |
| CLM | Live policy check | Show over-limit, missing receipt and duplicate results while filling | [Proposed] | — | R2 | Must | employee |
| CLM | Line-level verification | Manager verifies, edits verified amount or rejects individual bills | [Observed] | §9 | R2 | Must | line_manager |
| CLM | Finance approval | Approve verified claims | [Observed] | §9 | R2 | Must | payroll_manager |
| CLM | Unified status model | Same statuses for every role | [Proposed] | §9 | R2 | Must | employee |
| CLM | Payout via payroll | Approved claims become reimbursement inputs | [Proposed] | §16 | R2 | Must | payroll_manager |
| CLM | Payout batches by bank file | Weekly payout outside payroll | [Proposed] | §9 | R2 | Should | payroll_manager |
| CLM | Duplicate detection | Hash of vendor, bill number, date, amount and image | [Proposed] | §9 | R2 | Should | payroll_manager |
| CLM | Claim advances | Advance against expenses settled by later claims | [Proposed] | §9 | R2 | Should | employee |
| CLM | GST capture | Vendor GSTIN and GST amount per line | [Proposed] | §9 | R2 | Should | payroll_manager |
| CLM | Finance claims dashboard | Status counts, settlement ratio, scorecard, paid by type | [Observed] | §9 | R2 | Should | payroll_manager |
| CLM | Mileage claims from travel | Verified daily travel generates a mileage claim | [Proposed] | §9, §11 | R3 | Must | field_executive |
| CLM | Bill OCR | Read amount, date and vendor from images | [Proposed] | §9 | R4 | Could | employee |
Exit & Full-and-Final Settlement (EXT)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| EXT | Resignation request | Reason, requested LWD and notes; edit or withdraw before approval | [Observed] | §8 | R2 | Must | employee |
| EXT | Manager then HR approval | Line manager and HR approve through the engine | [Proposed] | §8 | R2 | Must | line_manager |
| EXT | LWD negotiation | Proposals and counter-proposals of the last working day | [Proposed] | §8 | R2 | Should | line_manager |
| EXT | Termination | Category, reason, backdating within policy window | [Observed] | §8 | R2 | Must | hr_manager |
| EXT | Separation reasons and categories | Masters for analytics | [Observed] | §8 | R2 | Must | hr_admin |
| EXT | Notice shortfall, buy-out and waiver | Computed shortfall with recovery or approved waiver | [Proposed] | §8 | R2 | Must | hr_manager |
| EXT | Clearance with owners | Department tasks with evidence and No Due | [Observed] | §8 | R2 | Must | hr_manager |
| EXT | Exit interview | Confidential questionnaire | [Proposed] | §8 | R2 | Should | employee |
| EXT | F&F worksheet and run | Final salary, encashment, gratuity, notice pay or recovery, loans, claims | [Proposed] | §8 | R2 | Must | payroll_manager |
| EXT | Relieving and experience letters | Generated from templates after settlement | [Proposed] | §8 | R2 | Should | hr_manager |
| EXT | Access revocation at LWD | Automatic deactivation with read-only ESS window | [Proposed] | §8 | R2 | Must | hr_admin |
| EXT | Rehire eligibility | Flag on the separation record | [Proposed] | §8 | R2 | Could | hr_manager |
| EXT | Attrition reports | By type, reason, department and tenure | [Proposed] | §8 | R2 | Should | org_owner |
Engagement (ENG)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| ENG | Announcements with lifecycle | Draft, scheduled, published, stopped, completed, republish | [Observed] | SP-ENG-01 | R2 | Must | hr_manager |
| ENG | Audience targeting | Location, department, designation and employment-type rules | [Proposed] | §13 | R2 | Must | hr_manager |
| ENG | Read receipts and acknowledgements | Track reads and required acknowledgements with reminders | [Proposed] | §13 | R2 | Should | hr_manager |
| ENG | Peer recognition | Send a recognition with a type and message | [Observed] | §13 | R2 | Should | employee |
| ENG | Recognition types | Tenant-defined, optional manager-only types | [Observed] | §21.9 | R2 | Should | hr_admin |
| ENG | Company wall and reactions | Feed of announcements, recognitions and celebrations | [Proposed] | §13 | R2 | Could | employee |
| ENG | Celebrations | Birthdays (opt-in), work anniversaries and new joiners | [Proposed] | — | R2 | Could | employee |
| ENG | Recognition report | Counts by type and employee | [Observed] | §13 | R2 | Should | hr_manager |
Field Force & Sales CRM (FFM)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| FFM | Consented tracking between punches | Point-to-point or continuous tracking only during work hours | [Observed] | §21.7 | R3 | Must | field_executive |
| FFM | Live team map with battery | Last position, battery and punch counts per executive | [Observed] | §11 | R3 | Must | sales_manager |
| FFM | Tracking log | Starts, stays, travel durations and km | [Observed] | §11 | R3 | Must | sales_manager |
| FFM | Distance with outlier filtering | Accuracy, speed and jitter filters with optional snap-to-road | [Proposed] | §11 | R3 | Must | sales_manager |
| FFM | Travel verification with revised km | Verify or revise km with a mandatory reason | [Observed] | §21.7 | R3 | Must | sales_manager |
| FFM | Geo-verified visits | Check-in matched against the account location with policy action | [Observed] | §21.7 | R3 | Must | field_executive |
| FFM | Beat plans | Planned daily routes of accounts | [Proposed] | §11 | R3 | Should | sales_manager |
| FFM | Add account from the field | Photo, organisation, contact, address and expected value | [Observed] | §11 | R3 | Must | field_executive |
| FFM | Activities and follow-ups | Visit, call, message, mail with due dates and exceeded markers | [Observed] | §21.7 | R3 | Must | field_executive |
| FFM | Configurable pipeline | Tenant-defined stages with templates | [Proposed] | §11 | R3 | Must | sales_admin |
| FFM | Lead age colours | Ageing bands per stage | [Observed] | §21.7 | R3 | Should | sales_manager |
| FFM | Reassignment | Move accounts and activities when an executive is unavailable | [Observed] | §11 | R3 | Should | sales_manager |
| FFM | Client associates | Doctors, faculty or other associates with qualification and specialization | [Observed] | §21.7 | R3 | Should | field_executive |
| FFM | Payment collection | Method, collected amount and pending amount after a won value | [Observed] | §21.7 | R3 | Should | field_executive |
| FFM | Field reports | Activity, summary, pipeline, visit compliance, collections | [Observed] | §11 | R3 | Must | sales_manager |
| FFM | Location retention and aggregation | Raw points kept 90 days, then aggregates | [Proposed] | §11 | R3 | Must | org_owner |
| FFM | Orders and catalogue | Product orders from the field | [Proposed] | §11 | R4 | Won't | field_executive |
Timesheets & Projects (TSM)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| TSM | Projects linked to shared accounts | Client, manager, dates, estimate, billable default | [Observed] | §10 | R3 | Must | hr_admin |
| TSM | Team assignment with roles | Project roles, allocation and bill rates | [Observed] | §10 | R3 | Must | hr_admin |
| TSM | Tasks | Planned hours and dates per task | [Observed] | §10 | R3 | Must | line_manager |
| TSM | Weekly timesheet grid | Daily rows with task, hours, progress and description | [Proposed] | §10 | R3 | Must | employee |
| TSM | Attendance-hours cap | Hours limited to attendance with block or warn | [Observed] | §10 | R3 | Must | employee |
| TSM | Project-manager approvals | Per-project line approval with bulk actions | [Observed] | §10 | R3 | Must | line_manager |
| TSM | Defaulters and nudges | Missing timesheets with notifications and escalation | [Observed] | §10 | R3 | Should | line_manager |
| TSM | Billable flags and rates export | Billable hours with rates for invoicing elsewhere | [Proposed] | §10 | R3 | Should | org_owner |
| TSM | Period lock | Lock timesheets after month end | [Proposed] | §10 | R3 | Should | hr_admin |
| TSM | Effort variance | Planned vs actual hours and dates | [Observed] | §21.8 | R3 | Should | line_manager |
| TSM | Bench view | Employees with no current allocation | [Observed] | §10 | R3 | Should | line_manager |
Learning Management (LMS)
| Module | Feature | Description | Label | Spryple ref | Release | MoSCoW | Persona |
|---|---|---|---|---|---|---|---|
| LMS | Course builder (basic) | Course, modules and lessons with video, PDF, text, link | [Observed] | §12 | R4 | Must | instructor |
| LMS | SCORM import | Import SCORM 1.2 packages | [Proposed] | §12 | R4 | Should | instructor |
| LMS | Assessments | Multiple choice with pass mark and attempts | [Observed] | §12 | R4 | Must | employee |
| LMS | Assignment rules with due dates | Auto-enrol on join or by attributes, due dates | [Proposed] | §12 | R4 | Must | hr_manager |
| LMS | Overdue escalation | Reminders then manager escalation | [Proposed] | — | R4 | Must | line_manager |
| LMS | Recurring compliance courses | Automatic re-enrolment after a period | [Proposed] | — | R4 | Should | hr_manager |
| LMS | Certificates with verification | Certificate number, score and public verification | [Observed] | §21.10 | R4 | Should | employee |
| LMS | Badges, points and leaderboards | Gamification | [Observed] | §12 | R4 | Could | employee |
| LMS | Course library | Browse and self-enrol | [Observed] | §12 | R4 | Should | employee |
| LMS | Onboarding checklist link | Course completion closes an onboarding task | [Proposed] | §12 | R4 | Should | hr_manager |
| LMS | Learning reports | Enrolment, completion, compliance, certificates, results | [Observed] | §12 | R4 | Must | hr_manager |
Count by release
| Release | Features |
|---|---|
| R0 | 26 |
| R1 | 156 |
| R2 | 66 |
| R3 | 34 |
| R4 | 17 |
| Total | 299 |
The PRD is the authority for scope; update this table when rows change.