Spryple Product Analysis — Modules, Features, Workflows & Critique
Status: Research baseline v1.0 (2026-10-31) · Sources: all 43 pages of https://help.spryple.com/ (source inventory) plus screenshot review by six parallel research agents (§21) · Conventions: CONVENTIONS.md
Labels: [Observed] = the Help Center documents it · [Inferred] = it follows from documented workflows · [Proposed] = our recommendation. Citations use role codes: SA, A, M, E, MOB, I.
1. Executive summary
Spryple sells an HRMS + field-force CRM suite for Indian SMEs. It has four products: SprypleHR (web + mobile), SprypleLite (face-recognition attendance with simple payroll), SprypleCRM (field force) and SprypleLMS. The Help Center documents 10 functional areas across 6 audiences and 4 mobile apps.
What Spryple does well:
- Configuration depth for Indian SME rules. That includes sandwich leave, lates-to-leave deduction, extra-day pay and week-off penalties, EPF/ESI/PT/TDS, VDA, arrears and different payroll and leave windows.
- An attendance → leave → payroll chain that turns punches into payable days.
- Field-force tracking (GPS, battery, kms, visits) joined to a lightweight demo-centric sales pipeline.
- Consistent approval patterns (submitted → approved/rejected, with history).
Where it is structurally weak:
- Policies are not effective-dated. Changes to HR policies, leave configuration and pay structure "do not affect existing employees" [Observed] (A: Employee Mgmt, A: Leave Mgmt).
- Configuration is duplicated and contradictory. Probation, notice period, late deduction and default-shift rules each exist in two places.
- Leave types and CRM pipeline stages are fixed (10 leave types; 5 demo-centric stages).
- Security basics are weak. Every user gets the default password "Welcome1!", credentials are created manually after onboarding, and the "Roles & Permissions" documentation is a copy of "Users Login".
- The mobile experience is fragmented across four apps, and the claims app is installed as "Spryple CRM".
- The employee lifecycle has gaps: no full-and-final settlement, no letters, no performance management, no recruitment, no tax declarations, and no ECR or Form 16 outputs documented.
- Leave eligibility depends on gender and marital status, which is legally and ethically risky.
Our recommendation: keep the chain and the configurability, redesign the configuration model (typed, effective-dated, applicability-based policies), merge the mobile apps, close the lifecycle gaps that matter to SMEs (F&F, statutory outputs, letters), and defer the LMS and the bespoke CRM pipeline until the core is proven. The full disposition is in §10.
2. Research method
| Step | What was done |
|---|---|
| Discovery | The Help Center is WordPress. Its public REST API (/wp-json/wp/v2/pages) reported 43 pages, 0 posts. All pages were downloaded with their rendered HTML. |
| Safety | Each URL was validated with the E2E engine's e2e.web_intelligence.validate_public_url boundary (~/Desktop/e2eskill). The work was read-only: no logins, no forms, no changes. The E2E Crawl4AI provider needs Python ≥ 3.10, which was not available. The pages are server-rendered, so the REST and HTML content is equivalent. |
| Reading | Every page was converted to text and read in full by role: Super Admin, Admin, Managers, Employee, Mobile, LMS Instructor. |
| Parallel verification | Six research agents (one per Help Center section) re-fetched the live pages, compared them with the captured text and read the embedded screenshots to extract fields, columns and values that the text omits (§21). |
| Context | The spryple.com homepage was used only for positioning (SME focus, product line, "hosted on AWS"). |
Limits: we had no product login. Behaviour that is not in the documentation is marked [Inferred] or listed as an open question (§11).
3. Product map
3.1 Modules × audiences (documentation coverage)
| Module | SA | A | M | E | MOB | I |
|---|---|---|---|---|---|---|
| Dashboard (org-wide) | ● | |||||
| Employee Management | ● | ● (HR Mgr) | ● | |||
| Attendance | ● (reports) | ● | ● | ● | ● HCM/Lite | |
| Leave | ● | ● | ● | ● HCM/CRM | ||
| Payroll | ● (pay group list) | ● (Finance Admin) | ● (Finance Mgr) | ● | ● HCM payslip | |
| Exit | ● | ● (HR Mgr) | ● | |||
| CRM Field Force / Sales CRM | ● | ● (Sales Admin) | ● (Sales Mgr) | ● (web) | ● CRM | |
| Claims | ● (Finance Mgr)* | ● | ● | ● | ||
| Time Sheet | ● | ● | ● | ● | ||
| LMS | ● | ● | ● | ● | ||
| Rewards & Recognition | ● HCM |
*The Admin "Claims" page actually describes the Finance Manager dashboard and approval [Observed] (A: Claims). This is a documentation placement inconsistency.
3.2 Roles observed
| Spryple role | Evidence | Responsibilities |
|---|---|---|
| Super Admin | SA pages; login with Company Code, Username, Password | Org-wide dashboards and reports (attendance, timesheet, CRM, pay group list). It is a tenant role (company owner), not a platform operator. [Inferred] |
| Admin (HR Admin) | A: Employee Mgmt | Masters (company, departments, designations, locations, shifts, holidays, checklists, induction types, announcements, messages), credentials, HR policies |
| Finance Admin | A: Payroll | EPF/ESI, pay schedule, pay groups, bank master, payroll policies, VDA, arrears |
| HR Manager | M: Employee Mgmt, Exit | New hires, directory, onboarding checklists, document approval, induction programs, employee reports, Excel upload, separation approvals, termination |
| Finance Manager | M: Payroll, Claims | Assign pay groups, generate payroll, statutory reports, deductions, TDS, variable pay, advance-salary approvals, final claim approval and payment |
| Manager / Reporting Manager | M: Attendance, Leave, Timesheet | Approves attendance, leave, comp-off, permission, regularization, shift changes and timesheets; configures shifts, rotations and week-offs; acts on behalf of employees |
| Sales Admin | A: CRM | CRM masters (demo status, status, associate types, qualifications, specializations) |
| Sales Manager | M/SA: CRM | GPS monitoring, client pipeline, travel verification, device approvals, assignments |
| Employee / Sales Executive / Field Executive | E, MOB | Self-service; field staff add clients and activities and punch with a photo |
| Receptionist | MOB: HCM, Lite | Front-office check-in/out for employees (shared device) |
| LMS Instructor | I | Course builder, dashboard, reports |
| Implementation team | M: Attendance ("will provide the suggested Excel sheet") | Vendor-side onboarding of customers [Observed] |
3.3 Cross-cutting patterns observed
| ID | Pattern | Evidence |
|---|---|---|
| SP-X-01 | Masters follow one pattern: add, edit inline, Active/Inactive toggle, duplicate names rejected. Deactivation needs reassignment of linked employees. | Departments, Designations, Termination categories, Demo Status, Tasks, Clients (A) |
| SP-X-02 | Messages Master per module: admins can edit every success/error message, which is shown with its screen name. | A: Employee, Attendance, Leave; M: Payroll |
| SP-X-03 | Approval pattern: Submitted → Approved / Rejected (reject needs a reason); the requester can edit or delete while Submitted and cancel after approval when the date is in the future; there are History tabs. | Attendance, Leave, Comp-off, Permission, Shift change, Separation, Timesheet, Claims |
| SP-X-04 | "On behalf of" requests by managers are auto-approved. | M: Attendance, Leave, Comp-off, Optional holiday |
| SP-X-05 | Excel & PDF export on almost every report. | All M/E/SA report pages |
| SP-X-06 | Filter idiom: City-Branch → Manager → Employee → Period, with Search and Clear. | SA/M reports, Claims, Payroll |
| SP-X-07 | Policy rules as a numbered list of questions ("Rule 1 … Rule 48"). | A: HR Policies, Leave, Payroll Policies |
| SP-X-08 | Policy changes are not retroactive and apply only to newly created employees. | A: HR Policies note; A: Leave note |
| SP-X-09 | Email notifications for onboarding, documents, induction, password reset and timesheet defaulters; leave emails can be configured. | M: Employee; A: Leave rule 4 |
| SP-X-10 | Company Code on every login (web and all apps), which means a shared multi-tenant deployment. | All login sections [Inferred multi-tenancy] |
4. Organisation, Identity & Core HR (Spryple "Employee Management")
4.1 Purpose
This module sets up the organisation's structure and masters, then manages the employee record from hire to active employment. In our model it splits into ORG (masters), IAM (access) and EMP (lifecycle).
4.2 Observed features
Admin (A: Employee Management)
| ID | Feature | Details |
|---|---|---|
| SP-ORG-01 | Company Information | Edit, Save or Cancel the company profile (name, location, other details) [Observed] |
| SP-ORG-02 | Departments | CRUD and Active/Inactive; no duplicates; to inactivate, first transfer employees out |
| SP-ORG-03 | Designations | Same rules as departments |
| SP-ORG-04 | Work Locations | Address1/2, Branch Location (short code, e.g. "KP" for Kukatpally), Country, State, City, PIN, Prefix + Seed for employee-ID generation (same prefix/seed = common sequence; different = per-branch sequence); map picker ("select current location or search"); a duplicate location with a different prefix is rejected |
| SP-ORG-05 | Company Logo | jpg/png ≤ 1 MB, shown in the header; change or remove |
| SP-ATT-01 | Shift master | Name, description, start/end time (total hours auto-calculated), grace in/out time, "number of lates is more than N → deduct X leave", minimum work hours per day (overtime duration) |
| SP-ORG-06 | Holidays | Branch, date, type (Public/Optional), name; no duplicate date per branch; filter by branch; used in leave-duration calculation |
| SP-EMP-01 | Checklists | Onboarding or Offboarding, by Department, with a name; Active/Inactive |
| SP-EMP-02 | Induction types | Program types (e.g. HR Policies, Domain knowledge); no duplicates |
| SP-ENG-01 | Announcements | Topic, title, publish from/to, description; Submit (Published) or Save as Draft; status-driven actions: Published → edit/view/stop; Draft → edit/view; Completed → view/republish; Cancelled → view |
| SP-X-02 | Messages Master | Editable UI messages |
| SP-IAM-01 | Users Login | Admin sets the user ID per employee; the password defaults to "Welcome1!"; the employee changes it after login |
| SP-IAM-02 | Roles & Permissions | Not documented: the text duplicates Users Login [Observed doc defect] (see §21 for screenshot evidence) |
| SP-EMP-03 | Onboarding Settings | Toggle automatic reminders for pending onboarding checklists; toggle probation with a period in months |
| SP-IAM-03 | HR Policies | 48 numbered rules covering password complexity (1–9), onboarding/offboarding reminders, probation and notice (10–15, in days), default week-offs 1–3 (16–18), automatic default-shift assignment (19–21, 25–26), late-attendance deduction (22–24), half/full-day hour thresholds (27–28), paid permission (29), flexible shift and its duration (30–31), regularization (32–33), employee self-edit of profile (34), default punch-out when the out punch is missed (35), department↔designation mapping (36), backdated termination 0–60 days (37), lunch and tea durations and graces (38–42), extra-day pay and the days that count (43–45), week-off-absence salary penalty and the days that count (46–48) |
| SP-IAM-04 | Employee Password Reset | Location → Department → Employee → reset username, password or both; the employee is emailed |
| SP-ORG-07 | Department–Designation mapping | Restricts the designations available per department (active when Rule 36 = Yes) |
HR Manager (M: Employee Management)
| ID | Feature | Details |
|---|---|---|
| SP-EMP-04 | New Hires | Add: first, middle and last name, email, hired-on, joining date, designation, mobile, emergency contact. The list has Hired/Joined filters. Without an email, HR enters "Candidate Data" manually |
| SP-EMP-05 | Self-onboarding link | An acknowledgement email with a link; the employee fills in personal, contact, family, work experience and education details and uploads documents |
| SP-EMP-06 | Joining Formalities → Employee Directory | HR reviews the submission. Work info: official email, employment type, role, location, designation, department, reporting manager. Contact: residence address. Family: name, contact, gender, relationship, status. Also Contract/Promotions, Bank Details, Experience, Education, Documents |
| SP-IAM-05 | Credential hand-off | When onboarding completes, the Admin is emailed to create credentials, creates them manually, and the employee receives them [Observed: a manual step] |
| SP-EMP-07 | Onboarding Pending Checklist | Every master onboarding checklist is assigned to each new hire; HR ticks items; when all are done, "No Due" is enabled → status Pending → Completed; the employee sees the status |
| SP-EMP-08 | Document Approval | Employee uploads → HR view/approve/reject; email on each outcome; re-upload loop; documents HR uploads are auto-approved |
| SP-EMP-09 | Induction Program | Create a program, assign employees, email them; edit or cancel triggers an email; shown on the employee dashboard |
| SP-RPT-01 | Employee Reports | Column chooser, generate, download |
| SP-EMP-10 | Excel Upload | Bulk import into the directory; download |
Employee (E: Employee Management): a dashboard with this month's attendance and leave balance; My Profile (personal, experience, bank, family, education, documents); onboarding checklist and induction status; Edit Profile with photo; Change Password [Observed].
4.3 Workflow: hire to active
4.4 Data entities (observed fields)
Company, WorkLocation(prefix, seed, branchCode, address, geo), Department, Designation, DeptDesignationMap, Holiday(branch, date, type, name), Shift(start, end, graceIn, graceOut, lateThreshold, lateLeaveDeduct, minHours), Checklist(type, department, name), InductionType, InductionProgram, Announcement(topic, title, from, to, description, status), Employee(name parts, email, mobile, emergencyContact, hiredOn, joiningDate, designation, department, location, employmentType, role, reportingManager, officialEmail), EmployeeFamily, EmployeeEducation, EmployeeExperience, EmployeeBank, EmployeeContract/Promotion, EmployeeDocument(status), ChecklistAssignment(status), UserLogin, HRPolicy(rule, value), MessageMaster(screen, text).
4.5 Evaluation
| Aspect | Assessment |
|---|---|
| Business value | High. This is the system of record that every other module depends on. |
| Pros | Self-onboarding cuts HR data entry. Per-location ID sequences match multi-branch SMEs. Document approval loops have email feedback. Checklists give a simple onboarding/offboarding control. Bulk Excel import speeds up migration. |
| Cons / limitations | Credential creation is manual and uses a shared default password (a security risk). The roles and permissions model is undocumented. There are no custom fields. There is no effective-dated job history: promotions and transfers are only a "Contract/Promotions" tab [Inferred]. Policy changes skip existing employees. The same rules are configured in two places: probation in Onboarding Settings (months) vs Rules 11–12 (days); notice in Offboarding Settings vs Rules 14–15; default shift in Rules 19–21 and 25–26. Deactivating a department requires a manual transfer, with no bulk-transfer tool documented. Messages Master is editable copy but not localisation. |
| Technical challenges | Employee-ID sequences need gap-free, concurrency-safe generation per location. Self-onboarding links need expiring, single-use tokens. Excel import needs validation, dry-run and rollback. |
| Missing | Recruitment/ATS hand-off; offer letters and e-sign; letter templates (appointment, confirmation, relieving, experience); org chart; probation confirmation workflow; transfer and promotion workflows with effective dates; employee self-service change requests that need approval; asset management; custom fields; bulk updates; audit trail of profile changes; DigiLocker/Aadhaar/PAN verification; consent capture (DPDP). |
| Recommendations | [Proposed] Invite-link activation (no default passwords) and SSO; a role builder with permission × scope; effective-dated job assignments (dept, designation, location, manager, grade, pay group) and policy assignment by applicability; one place for each rule; custom fields per entity; a letter-template engine; change requests for employee self-edits; a full audit log. |
| Verdict | Keep (core), redesign the config and IAM. |
5. Attendance, Shifts & Time (ATT)
5.1 Purpose
This module captures presence (biometric, web, mobile selfie, geo, face, kiosk), applies shift and policy rules, and produces payable days, lates, overtime, extra days and penalties for payroll.
5.2 Observed features
| ID | Feature | Role | Details |
|---|---|---|---|
| SP-ATT-02 | Attendance requests | E, M | Work types: Work From Home, Work From Office, On-Duty, Work From Remote Location; from/to dates, first/second half, reason, attachment; Submitted → Approved/Rejected; edit or delete while Submitted (delete sets status Deleted) |
| SP-ATT-03 | Pending attendance alerts | E | Days with no attendance appear in Alerts; act with an attendance or leave request |
| SP-ATT-04 | On-behalf requests | M | From the dashboard or side menu; auto-approved |
| SP-ATT-05 | Approvals | M | Three entry points (team widget, dashboard, Pending Approvals); reject needs a reason; Approval History |
| SP-ATT-06 | Shift assignment | M (A docs too) | Shift + date range + week-offs + employees |
| SP-ATT-07 | Shift rotation sequences | M | Named rotation with ordered admin-defined shifts, per location; Assign Rotation Shift (to unassigned employees); Reassign Rotation (start shift + applicable date) |
| SP-ATT-08 | Week-off configuration | M | Per-employee weekly offs; view history |
| SP-ATT-09 | Shift change request | E → M | Needs an assigned shift; from/to date, from-shift (auto), to-shift, reason; the manager can swap shifts between employees on approval |
| SP-ATT-10 | Permission (short leave) | E → M | Date, duration in minutes, reason; one per day; the manager can edit before approving; statuses Submitted/Approved/Rejected/Deleted/Cancelled; Rule 29 decides whether it is paid |
| SP-ATT-11 | Regularization (employee) | E | Records with a check-in but no check-out are listed; the employee enters the out time or converts the day to leave (LOP only if no balance) |
| SP-ATT-12 | Regularization (manager) | M | Full-day (absent or single punch) and half-day lists; multi-select → attendance request or leave request (auto-approved); Regularization Approval with multi-select |
| SP-ATT-13 | Biometric mapping | A | Map device user ID ↔ employee ID; punches then flow in |
| SP-ATT-14 | Excel upload of attendance | M | Uses a template from the implementation team |
| SP-ATT-15 | Dashboards | E, M | Calendar (attendance, holidays, week-offs, leaves); first in / last out; current and next shifts; manager calendar of absentees and pending approvals |
| SP-ATT-16 | Reports | SA/A/M/E | Monthly Attendance (absent/present/late counts), Monthly Shifts, Attendance Summary (first in, last out, total, productive, OT and permission hours + punch images and source name), Current Day (with check-in/out image), Punch Summary (multiple punches; Excel), Missed Punch (only if Rule 35 = Yes), Late Attendance, Shift-wise, Overtime (hours beyond the shift), Extra Days & Penalty, Manager Detailed and Summary (Excel/PDF), Employee Monthly Detail |
| SP-ATT-17 | Extra-days slab configuration | A | Per designation: min days worked, max days worked → eligible extra days |
| SP-ATT-18 | Penalty designations | A | Choose the designations to which the week-off-absence penalty applies |
| SP-ATT-19 | Mobile attendance | MOB | Self check-in/out with face; geo-located check-in within a manager-configured location; manager captures, recaptures and deletes face profiles (Verified/Not Verified); Receptionist "Front Office Check-in/out" for all or selected employees; Today's Attendees, Attendance Details, Attendance Summary |
| SP-ATT-20 | Field punch | MOB: CRM | Punch with a photo (Take Picture → Punch In/Out) showing name and address |
Relevant HR policy rules: 16–18 (default week-offs), 19–21/25–26 (auto-assign a default shift for a duration), 22–24 (max lates per month → deduct N days of leave type X), 27–28 (half/full-day hours, e.g. 4/8), 29 (paid permission), 30–31 (flexible shift + hours), 32–33 (regularization week-off option, lookback days), 35 (default punch-out), 38–42 (lunch/tea durations and graces), 43–48 (extra-day pay and week-off penalties).
5.3 Attendance day-status logic [Inferred]
5.4 Evaluation
| Aspect | Assessment |
|---|---|
| Business value | Very high. It is the input to payroll, and attendance is the headline of Spryple's marketing ("AI-powered attendance"). |
| Pros | Many capture channels, including a shared-device receptionist mode. Strong Indian shift-work features (rotations, swaps, permissions, regularization, OT, extra days, penalties). Punch photos and source give audit evidence. Managers can act in bulk. |
| Cons / limitations | Rules are scattered across Shift master, HR Policies and Payroll Policies (lates appear in both the shift master and Rules 22–24). The OT rule is just "hours beyond the shift", with no approval, OT policy or multipliers. The geo-fence is a single "configured location", with no documented radius or multiple sites. There is no documented liveness check for face match. Attendance Excel upload depends on a vendor template. Shift-change swaps happen on approval with no consent from the counterpart. Reports are largely duplicated per role. |
| Technical challenges | Time zones and night shifts that cross midnight; deduplicating punches across sources; late-arriving biometric data (re-processing a day); idempotent day computation; face-match accuracy, spoofing and privacy; battery-efficient geo; offline punches with trusted device time. |
| Missing | Overtime approval and policy (rates, caps, comp-off conversion choice); multi-geo-fence with radius and Wi-Fi/BSSID or QR fallback; attendance "freeze/lock" per payroll period; a roster planner (drag and drop) and coverage view; holiday-swap; attendance anomaly detection; device health monitoring for biometrics; consent records for biometrics. |
| Recommendations | [Proposed] One Attendance Policy object (shift rules, graces, thresholds, late → deduction, OT, extra days, penalties) assigned by applicability and effective-dated; a deterministic day-computation engine that re-runs on any input change; a punch-ingest API for devices; geo-fences with radius and allowed networks; selfie + liveness with face match as a feature-flagged add-on; a period lock tied to the payroll run. |
| Verdict | Keep and consolidate. This is MVP-critical. |
6. Leave & Holidays (LVE)
6.1 Observed features
| ID | Feature | Details |
|---|---|---|
| SP-LVE-01 | Common rules | Sandwich across weekends (Fri + Mon); sandwich across holidays; past-dated leave window (days); emails on submit/approve/reject; leave cycle Apr–Mar or Jan–Dec; max optional holidays per year |
| SP-LVE-02 | 10 fixed leave types | Casual, Sick, Comp-off, Loss of Pay, Maternity, Paternity, Wedding, Bereavement, Earned, Advanced. Activate them from a deactivated pool, or deactivate them |
| SP-LVE-03 | Per-type rules | Casual: annual quota, credit frequency (monthly/quarterly/half-yearly/yearly), sandwich flags, max per instance, minimum service months, advance notice days, colour, lapse days, lapse → perks. Sick: quota, frequency, sandwich, document required above N days, colour. Comp-off: max per instance, minimum service, eligible on week-off and holiday, perks, minimum hours worked, backdated window, expiry days. LOP: sandwich flags. Maternity: minimum service, document threshold, minimum gap between terms (years), maximum times, days per term. Paternity: same minus the document threshold. Wedding: minimum service, advance notice, maximum times, days per term. Bereavement: maximum times, days per term. Earned: quota, frequency, sandwich, max per instance, minimum service, notice, carry-forward cap, maximum times per year. Advanced: borrow against a monthly-accruing CL/SL/EL (choose one) |
| SP-LVE-04 | Eligibility by gender + marital status | Maternity: "married females"; Paternity: "married male"; Wedding by marital status [Observed] |
| SP-LVE-05 | Employee | Calendar, holiday list (next 3 + View All), leave request (type limited by balance, half days, auto count, past dates per config), history (edit/delete before approval; cancel approved future leave; no cancel of past leave), balance, comp-off request (only week-off and holiday dates are selectable; hours and minutes), view-only company policies, optional-holiday requests |
| SP-LVE-06 | Manager | Calendar of approved leave; pending leave, comp-off and cancellation approvals; leave and comp-off history (approved/utilized/expired); employee-wise/date-wise/type-wise/designation-wise reports; summary (worked days vs leaves); Payroll Report (approved leaves, LOP and absent counts); on-behalf leave and comp-off (auto-approved, with the balance shown); optional-holiday approval and on-behalf |
| SP-LVE-07 | Policy changes apply only to new employees | [Observed] |
6.2 Leave request lifecycle [Observed + Inferred]
6.3 Evaluation
| Aspect | Assessment |
|---|---|
| Business value | Very high. It is the most-used self-service feature and feeds payroll (LOP). |
| Pros | A rich, India-specific rule set (sandwich, credit frequency, comp-off expiry, carry-forward, lapse → encashment/perks, advance leave). Cancellation approval. On-behalf entry. A payroll report bridge. |
| Cons / limitations | Leave types are a fixed list (no custom types such as Restricted, Study, Sabbatical, Menstrual or state-specific ones). Eligibility is tied to marital status and binary gender. That conflicts with modern policy and probably with the law (the Maternity Benefit Act does not require marriage), and it excludes adoptive or commissioning parents. Rules are question lists, so adding a rule means a code change. Policy changes skip existing employees. There is no multi-level approval or delegation documented. There is no leave encashment payout flow (only "convert to perks"). There is no per-location policy (all employees share one policy per type) [Inferred]. |
| Technical challenges | Accrual engines (pro-rata on joining, credit frequency, carry-forward and lapse at cycle end, mid-year policy changes); sandwich computation over holidays that vary by branch; concurrency on balances; recomputation when holidays change. |
| Missing | Custom leave types; applicability rules (location/grade/employment type/gender-neutral parental policy); multi-level and conditional approvals; delegation when the manager is on leave; team-calendar conflict warnings; encashment at year end and at F&F; a ledger-style balance history (credits, debits, adjustments with reasons); bulk opening-balance import; state-specific statutory leave (e.g. Shops & Establishments). |
| Recommendations | [Proposed] A leave-type builder with templates (seeded with the ten Spryple-like types); a leave ledger; gender-neutral parental leave with configurable eligibility; an approval engine (NTF) with levels and delegation; effective-dated policy versions with an explicit "apply to existing employees from date X" migration. |
| Verdict | Keep, redesign it as configurable types plus a ledger. MVP-critical. |
7. Payroll & Statutory Compliance (PAY)
7.1 Observed features
Finance Admin (A: Payroll)
| ID | Feature | Details |
|---|---|---|
| SP-PAY-01 | Finance dashboard | Past months and departments → total salary, EPF, ESI, PF |
| SP-PAY-02 | EPF configuration | Employee and employer contribution, admin charges, EDLI ("EDIL" in the docs) |
| SP-PAY-03 | ESI configuration | "Include employer contribution in CTC" toggle; state-wise ESI numbers |
| SP-PAY-04 | Pay schedule | Same or different payroll and leave windows (e.g. 25th to 24th); salary basis actual days in month vs organisation working days |
| SP-PAY-05 | Pay groups | Name, CTC start–end range, chosen earnings and deductions → configure each component as % (of CTC/Basic) or flat; some components are %-only or not EPF-eligible; components can be renamed (shows on the payslip); status Configuration in Progress → Active |
| SP-PAY-06 | Bank master | Bank name, IFSC, account number, address, country/state/city, status, is EPF / is ESI / is PT flags |
| SP-PAY-07 | Payroll policies | 14 rules: advance-salary instalments and cooling-off months; include OT in salary; Gratuity Act coverage and monthly-gratuity component; variable DA applicable; absent = LOP; dynamic payroll processing with a leave threshold; ESI/EPF independent of LOP; minimum OT hours; variable-pay frequency; LOP days after which proportional week-off deduction applies; extra-day payment |
| SP-PAY-08 | Variable DA | Notification name, published name, CPI points, CPI at notified date, date, VDA rate per point, effective date, attachment |
| SP-PAY-09 | Arrears | Entry by month, branch and employee with arrear names and amounts → history Pending/Paid → shown on the payslip when Paid |
Finance Manager (M: Payroll)
| ID | Feature | Details |
|---|---|---|
| SP-PAY-10 | Assign pay group | Employee + CTC → matching pay groups → CTC breakdown (monthly/annual, EPF-aware) → Assign |
| SP-PAY-11 | Reassign | (a) New CTC, same group or (b) new CTC + new group; used for increments and new financial years |
| SP-PAY-12 | Monthly payroll | Financial year + month → select employees → Calculate Salary → payslips are published to employees. Only the Finance Manager can generate |
| SP-PAY-13 | Reports | Monthly Payroll (with bank details, PDF for the bank), EPF (download for the EPF portal), ESI (PDF/Excel), PT (by state; view slabs by state), Employee Payments (by branch, manager, month, with regularization), Leave Balance, Detailed Payroll (view and download payslips), Employee Pay Group List, Advance Salary (section empty in the docs), Payable Days |
| SP-PAY-14 | Other deductions | A master (name, amount) and pay-group ↔ deduction mapping |
| SP-PAY-15 | Bank-wise salary summary | Month + bank → EPF/ESI/PT totals and pay-group totals; select and submit (pending salaries are disabled) |
| SP-PAY-16 | TDS distribution | Month + branch → enter a TDS amount per employee (a manual amount) → history |
| SP-PAY-17 | Variable pay | Entry by branch, calculation period and distribution period with amounts; schedule as monthly share or lump sum |
| SP-PAY-18 | Messages Master | Editable messages |
Employee (E: Payroll; MOB: HCM): a dashboard with payslips and EPF (plus ESI if eligible); CTC history (component amounts monthly and annually); view and download payslips. Payslip contents: earnings, deductions, other deductions, LOP, arrears, variable pay, gratuity, OT, extra days. Advance salary request: needs at least one payslip; amount ≤ gross; approved in Finance Manager's "Advance Salary Approval"; recovery tracking (duration, recovered months, balance, pending, status).
7.2 Payroll run [Observed + Inferred]
7.3 Evaluation
| Aspect | Assessment |
|---|---|
| Business value | Very high and the most sensitive: money and compliance. It is the key reason SMEs buy. |
| Pros | Covers the main Indian statutory items (EPF incl. EDLI and admin charges, ESI by state, PT slabs by state, gratuity, VDA for government-linked pay); handles different payroll and leave windows; arrears; variable pay schedules; advance salary with recovery; extra-day and penalty integration; bank-wise summaries. |
| Cons / limitations | The documented TDS flow is a manually typed amount. The employee payroll menu does show "IT Declaration" and "Form 16" items [Observed in screenshot, §21], but they are undocumented. Tax-regime choice, projections and 24Q are not evidenced. Pay groups are chosen by CTC range, which mixes salary band and structure; a promotion with the same CTC can't change structure cleanly. There is no documented payroll lock/approve/rollback lifecycle, no pre-run validation or variance report against last month, and no off-cycle runs. Statutory outputs are "reports", not the files the portals accept (EPFO ECR text, ESIC upload format) [Inferred from the wording]. There is no bank transfer file (NEFT/H2H CSV formats) beyond a PDF. LWF (Labour Welfare Fund) is not mentioned. Reimbursements (claims) are not documented to flow into payroll. There is no F&F computation. No Labour Codes wage-definition handling is documented. The "Organization working days" option description is a copy error. |
| Technical challenges | Exact decimal maths and rounding rules; retro-recalculation (arrears from back-dated changes); statutory rates that change by date and state; reproducible, versioned runs; performance for thousands of employees (parallel computation); data-security segregation of salary information. |
| Missing | A payroll run lifecycle (Draft → Calculated → Reviewed → Approved → Locked → Paid → Reversed); variance and validation checks; off-cycle and bonus runs; loans (beyond advance) with interest; reimbursement payout; a TDS engine (old/new regime, declarations, proofs, projections, Form 16, 24Q data); ECR/ESIC/PT/LWF file generation; bank transfer files; journal export to Tally/Zoho Books; payslip password-protection and email; salary revision letters; full-and-final settlement; statutory bonus (Payment of Bonus Act); minimum-wage checks. |
| Recommendations | [Proposed] Salary structure templates separate from the employee compensation record (effective-dated CTC + structure + components); formula-based components (with a safe expression language); statutory reference tables versioned by effective date and state; a full run lifecycle with immutable snapshots; compliance file generators; a TDS calculator in R1.5/R2 (a declarations-lite version in MVP); a bank file adapter framework. |
| Verdict | Keep as the core value; rebuild on a stronger model. It is the MVP's riskiest module (see RSK-01 in project-plan.md). |
8. Exit Management (EXT)
Observed: Offboarding settings: automatic reminders for the clearance form and a notice period in days (A). Termination categories and separation reasons, as masters with examples (A). Employee: separation request (exit date, reason, notes), editable or cancellable before approval (E). HR Manager: separation pending approvals (approve with an approved exit date + reason, or reject); offboarding checklist (department checklists, No Due → Completed); termination (employee + category → confirm → termination checklist); backdated termination window via Rule 37 (A/M).
| Aspect | Assessment |
|---|---|
| Value | Medium–high. It controls compliance and asset risk at exit. |
| Pros | A simple resignation flow; checklists reuse the onboarding mechanism; termination categories for analytics. |
| Cons | Approval goes straight to the HR Manager, skipping the reporting manager. The documentation also says "status is changed from submitted to approved" for rejection (an error). There is no notice-period shortfall computation, buy-out or waiver. There is no F&F settlement, no exit interview and no relieving or experience letters. Asset return is only a checklist line. Access revocation on the last working day is not documented. |
| Missing | F&F (salary to the last working day, leave encashment, gratuity eligibility ≥ 5 years with configurable rules, notice recovery or pay, deductions, loan/advance recovery); clearance by department owner (IT, Finance, Admin) with sign-off; an exit interview survey; letter generation; scheduled deactivation of access; rehire eligibility flag; attrition analytics. |
| Recommendations | [Proposed] Separation workflow: employee → line manager → HR, with LWD negotiation; a clearance workflow with task owners; an F&F run as a payroll off-cycle type; automated access revocation at LWD 23:59 local time; letters. |
| Verdict | Keep and extend (F&F is essential). R2. |
9. Claims & Expense Reimbursement (CLM)
Observed: Employee (web and mobile): claim = one or more bills (reimbursement type, bill number, bill date, amount, file) + description → Submitted. Employee tabs: Submitted, In Progress, Paid, Rejected. Manager: tabs Pending, Verified, Approved, Paid, Rejected; verifies (a mobile flow can reject individual bills and enter a verified amount); report columns: Applied On, Employee, Claim ID, Bill count, Requested and Approved amounts, Receipt Number, Status, Action On/By. Finance Manager: approves verified claims and marks them Paid; dashboard: counts by status (current month), settlement ratio (paid vs total), scorecard previous vs current (count and amount variance), paid amount by reimbursement type (chart). Separately, travel records from the CRM go Pending → Verified (manager) → Approved (finance) → Claimed, with "minimum visits" filters (M/E: CRM).
| Aspect | Assessment |
|---|---|
| Value | Medium. It is a common SME pain point, especially with field staff. |
| Pros | Two-stage control (verify, then approve); per-bill rejection; finance dashboards with a settlement ratio. |
| Cons | No policy limits (per type, per grade, per day or month), no per-diem or mileage rates documented, no duplicate-bill detection, no OCR, no advances against claims, no payroll integration for payout (it is "marked Paid" manually), and no GST capture for input credit. Travel approvals live outside Claims, so there are two reimbursement paths. Status vocabularies differ between roles (Submitted/In Progress vs Pending/Verified). |
| Recommendations | [Proposed] An expense policy (categories, limits, receipt-required thresholds, per-diem and mileage rates by grade/city tier); mileage claims generated from FFM travel inside the same CLM pipeline; duplicate detection (bill no. + amount + date + vendor hash); OCR as a later add-on; payout via payroll (a reimbursement component) or a bank file; one status model for all roles; GSTIN and tax fields. |
| Verdict | Keep, unify with travel. R2. |
10. Time Sheet & Projects (TSM)
Observed: Admin: Clients (client, contact name, designation, number, email, start date, address), Projects, Assign Team, Tasks and Project Roles, with no duplicates and Active/Inactive. Manager: dashboard (active projects, assigned employees, bench count; worked hours by project (pie); project status summary with and without variance (donut); estimated vs consumed hours (bar)); Tasks and Assign Task; Pending Approvals (bulk approve/reject), History, Defaulters (with a "Send Notification" email), All History; Summary Report. Employee: dashboard (assigned vs completed tasks by project; pending timesheet count); Submit Timesheet (date, project, task, description, hours, %, task completed; multiple rows); "limit timesheet hours to attendance hours" HR-policy rule (referenced, but not in the documented 48 rules). Super Admin: dashboard incl. clients; Summary; Effort Variance Report (planned vs actual).
| Aspect | Assessment |
|---|---|
| Value | Medium for IT/services SMEs, low for manufacturing and retail. |
| Pros | Bench visibility; effort variance; defaulter nudges; a tie-in with attendance hours. |
| Cons | Timesheet clients are a separate master from CRM clients (duplicate concept). There is no billable/non-billable split, no rates or invoicing, no weekly-grid entry, no locking per period, and no capacity planning. |
| Recommendations | [Proposed] A shared Client/Account entity across TSM and FFM; a weekly grid entry; billable flags and rates (export only, no invoicing in scope); a period lock; reminders through NTF. |
| Verdict | Keep as an optional add-on. R3. |
11. Field Force & Sales CRM (FFM)
Observed:
- Sales Admin masters: Demo Status, Status Master, Client Associate Types, Qualifications, Specializations; a "Leave Policies" screen duplicated inside CRM (A).
- Sales Manager:
- GPS monitoring of the team on a map (today or a past date), mobile battery %, punch-in/out counts.
- Clients pipeline with columns Leads, Call for Demo, Demo Pending, Demo Completed, Future Leads, colour-coded lead age, and reassignment of activities or clients when an employee is unavailable.
- Attendance summary and detailed reports (break hours).
- Clients report.
- Employee Activity Report: punch in/out, visits, type, kms travelled.
- Tracking Log: started at, start location, stay duration, travel duration, kms, reached at, end location.
- Employee summary: first login, last logout, worked hours, new visits, new clients, total visits, kms, total activities.
- Device Approvals: a new phone needs manager approval.
- Team Travel Approvals: Pending, Verified, Approved, Travel Summary, Rejected, All, with a minimum-visits filter.
- Assignments report (scheduled dates, status); missed punch; leave approvals; configure shift and week-off; leave history (M/SA).
- Field Executive (web/mobile):
- Dashboard: punch in/out, today's follow-ups, presents, absents, clients added, calendar, graph.
- Add Client: photo, organisation, contact, phone, email, address, expected price, description → Leads.
- Add Activity: activity type, follow-up date and time, demo status, status, final price when Won, description.
- Second view by status: Interested, Follow-up, Won, Lost, Not Interested.
- Client Associates (associate type, qualification, specialization, name, contact, email) — [Inferred] suits pharma/medical-rep or education sales, where "associates" are doctors or faculty.
- Client Payments (method, collected amount, description), available after a final price is set.
- Image-only activities (configurable).
- "Add client" from the web is a configurable toggle.
- Travel approvals; leave request and history (MOB/E).
- Manager mobile: an Employee Location tab and Team Travel verify/reject.
| Aspect | Assessment |
|---|---|
| Value | High for field-sales SMEs (pharma, FMCG distribution, education, insurance, real estate). It is a differentiator versus pure HRMS. |
| Pros | Ties attendance, tracking, visits and reimbursement together; device binding prevents buddy-punching; battery visibility helps explain gaps in GPS data; lead age signals stagnation; payment collection on the field. |
| Cons | Hard-coded, demo-centric pipeline (two parallel status systems: demo status vs client status). Leave and shift screens are duplicated inside CRM. There are no products, quotes or orders, no beat or route planning, no geo-verified visits (check-in at the client location), and no territory model. Privacy: continuous tracking with no documented consent, work-hours-only limits or retention policy. Travel kms appear to be GPS-derived with no documented reconciliation against odometer or map distance [Inferred]. |
| Technical challenges | High-volume location ingest (a point every N seconds × field users); battery and OS background-execution limits (Android Doze, iOS significant-change); GPS drift and kms accuracy (snap-to-road); offline sync; map API costs. |
| Recommendations | [Proposed] A configurable pipeline (stages per tenant, with templates such as "demo-led SaaS" and "pharma detailing"); geo-verified visits (check-in within X m of a client); beat/route plans; tracking only between punch-in and punch-out, with explicit consent and retention limits (e.g. 90 days raw, then aggregates); kms via snap-to-road with outlier filtering; travel → CLM mileage claims; one shared Account/Contact model with TSM. |
| Verdict | Keep as a paid add-on, redesign the pipeline. R3. |
12. Learning Management System (LMS)
Observed (thin text, screenshot-heavy): Instructor: Course Builder (title, tags, description, difficulty level, category, prerequisites, image) → content (Module → Section → Content) → review → submit; dashboard (courses overview, leaderboard, progress, badges earned by category, recommended courses); reports (enrolled, completed, badges, points, certificates). Admin (HR Manager): the same dashboard and Configurations (editable attribute values). Manager: the same dashboard and reports. Employee: Course Library (search, enrol, complete), assessments (submit test), Learning Sphere (sections completed, leader dashboard, course info), My Badges (earned badges and next targets), My Certificates.
| Aspect | Assessment |
|---|---|
| Value | Low–medium for the target SMEs. LMS is usually bought separately or not at all. |
| Pros | Gamification (points, badges, leaderboards); certificates; a simple builder. |
| Cons | No documented assignment of mandatory courses, due dates, compliance training (e.g. POSH) or SCORM/xAPI import. Thin documentation. |
| Recommendations | [Proposed] Defer. For R4, start with mandatory compliance courses (POSH, safety, induction) tied to onboarding checklists, plus completion tracking. Consider SCORM import rather than a rich builder. |
| Verdict | Defer (R4), narrow scope. |
13. Engagement: Announcements and Rewards & Recognition (ENG)
Observed: Announcements (A; §4.2). Rewards & Recognition (MOB: HCM): send a recognition to a peer (employee, recognition type, message), Sent and Received lists, and a report of counts per recognition type per employee.
Evaluation: cheap to build and good for retention. It is missing reactions and comments, a public wall, manager-awarded points or rewards, and announcement read receipts and audience targeting (location/department). Verdict: keep, R2, with audience targeting and read receipts [Proposed].
14. Org-wide Dashboard & Reporting (RPT)
Observed (SA: Dashboard): employee count by location; employees by department by location; headcount (active, new, exit); attendance by work type (WFH, WFO, on duty, absent); employees on leave by department; leave counts; shift-based headcount by department; payroll amount by department by month. Every module also has its own role-specific reports with Excel/PDF export.
Evaluation: good operational coverage. However, reports are re-implemented per role and module, with no saved filters, no scheduling or email of reports, no custom report builder, no drill-down and no trend analytics (attrition, absenteeism rate, overtime cost, payroll cost trend). Recommendations [Proposed]: build one report framework (a dataset definition + scope-aware filters + export + schedule) so each "report per role" is just a scope; KPI dashboards per persona; scheduled email delivery; and later a semantic layer for custom reports.
15. Mobile apps (MOB)
| App | Observed audience & features | Critique |
|---|---|---|
| Spryple HCM (Play Store) | Manager & Employee: attendance requests and face self check-in/out; history; manager approvals; Today Attendees; Attendance Details/Summary; Capture Employee Image; Configure Location; leave, comp-off and approvals; payslips (FY + month → net, earnings, deductions); Rewards & Recognition; Receptionist front-office check-in | Good ESS/MSS coverage. Android only is documented. |
| Spryple Lite (Play Store) | Manager: add employee (name, mobile, monthly salary, shift), configure the face profile, detailed/attendance/payroll reports (payable salary = salary × presents). Employee self check-in. Receptionist check-in | A separate SKU for micro-businesses, with duplicate employee and payroll concepts |
| Spryple CRM (Play + App Store) | Field executive and manager: punch with photo, clients, activities, associates, payments, travel, leave; manager location view, team travel and leave approvals | The only app documented on iOS |
| Claims (installed as "Spryple CRM") | Claims history, request with bills, manager verification | Confusing install instructions; claims sit inside the CRM app |
Overall critique: four apps with overlapping logins, duplicated leave screens and inconsistent platform support. Recommendation [Proposed]: one app with role- and entitlement-driven navigation (ESS, MSS, Field, Claims), a kiosk mode (replacing the Receptionist login) and a "Lite" plan implemented as an entitlement profile on the same platform, not a separate product. Use Expo with a shared design system, offline queues for punches and visits, and push notifications.
16. Module interaction map
| From → To | Interaction | Evidence |
|---|---|---|
| ATT → LVE | Regularization converts absent or half days to leave; late count → leave deduction (Rules 22–24); comp-off from week-off or holiday work | [Observed] |
| LVE → ATT | Approved leave sets the day status; holidays and week-offs feed sandwich logic | [Observed] |
| ATT/LVE → PAY | Payable days, LOP, OT, extra days and penalties appear on the payslip; the leave "Payroll Report" | [Observed] |
| EMP → PAY | Bank details, CTC and pay group per employee | [Observed] |
| FFM → ATT | Field punch with photo; attendance reports in CRM | [Observed] |
| FFM → CLM | Travel records Verified → Approved → Claimed | [Observed] |
| TSM → ATT | The timesheet-hours ≤ attendance-hours rule | [Observed] |
| EXT → EMP | Termination and checklist completion → status change | [Inferred] |
| CLM → PAY | Not documented (paid outside payroll) | Gap |
| EXT → PAY (F&F) | Not documented | Gap |
17. Documentation inconsistencies & defects found
| # | Defect | Page |
|---|---|---|
| D1 | "Roles & Permissions" text is a verbatim copy of "Users Login" | A: Employee Mgmt |
| D2 | Rule 2 "Maximum length" is described as "minimum length" | A: Employee Mgmt |
| D3 | Rule 20 ("select a shift…") is described as "configure notice period days" | A: Employee Mgmt |
| D4 | Probation set in Onboarding Settings (months) and Rules 11–12 (days); notice in Offboarding Settings and Rules 14–15 | A: Employee Mgmt / Exit |
| D5 | Default-shift auto-assignment appears twice (Rules 19–21 and 25–26) | A: Employee Mgmt |
| D6 | "Organization working days" option says "select Actual days in a month" | M: Payroll |
| D7 | The Separation rejection path says "status is changed from submitted to approved" | M: Exit |
| D8 | The Admin "Claims" page documents the Finance Manager role | A: Claims |
| D9 | "Advance Salary Report" section is empty | M: Payroll |
| D10 | The Claims mobile app is installed by searching "Spryple CRM" | MOB: Claims |
| D11 | The timesheet HR-policy rule "limit timesheet hours to attendance hours" is not in the HR Policies list | E: Time Sheet |
| D12 | "Punch Summary Report" is introduced as "Click on Current Day Attendance Report" | A: Attendance |
| D13 | Manager "Leave History" in CRM says "attendance requests" | M/SA: CRM |
| D14 | The Lite/HCM account-creation step mentions "Manager and the Receptionist" only, but the apps support employees | MOB |
| D15 | A Document Approval sentence appears inside "Manager Detailed Report" (copy-paste) | M: Attendance |
| D16 | The Checklist page says the checklist "will display in Holidays table" | A: Employee Mgmt |
Implication for us: the reference product's own rule set is hard to explain correctly, even by its authors. Our policy model must be self-describing: each setting needs a schema, help text and examples generated from one definition, and contextual docs generated from the same source.
18. Consolidated gaps (not documented in Spryple)
| Area | Gap | Priority for us |
|---|---|---|
| Compliance | ECR / ESIC / PT / LWF filing files; TDS engine, Form 16 / 24Q; Labour Codes wage definition; minimum-wage checks; statutory bonus | Must (ECR/ESI/PT files, TDS basic) · Should (Form 16) |
| Payroll ops | Run lifecycle with lock and reversal; variance checks; off-cycle runs; bank transfer files; accounting journal export | Must |
| Lifecycle | Full & final settlement; letters; probation confirmation; transfers and promotions (effective-dated) | Must (F&F R2) |
| Security | SSO, MFA, no default passwords, documented RBAC, audit log, session and device management, data export/erasure (DPDP) | Must |
| Platform | Tenant provisioning, plans and entitlements, billing, support access, data residency | Must |
| Workflow | Multi-level, conditional approvals; delegation; escalations and SLAs | Should (MVP: 2-level + delegation) |
| Config | Custom fields; custom leave types; configurable pipeline stages; policy versioning | Must (leave types, versioning) · Should (custom fields) |
| Integrations | Public API and webhooks; biometric push gateway; Tally/Zoho Books; Google/Microsoft calendar; WhatsApp notifications | Should |
| Not in scope initially | Recruitment/ATS, performance management (OKR/appraisal), surveys, asset management, helpdesk | Could / later |
19. Feature disposition (input to PRD)
| Spryple feature | Disposition | Our module & release |
|---|---|---|
| Masters (company, location w/ ID prefix, dept, designation, holidays) | Keep + effective dating | ORG R0 |
| Users Login with default password | Replace with invite activation + SSO + MFA | IAM R0 |
| Roles & Permissions (undocumented) | Redesign: permission × scope role builder | IAM R0 |
| HR Policies (48 numbered rules) | Redesign into typed policies: Password, Attendance, Shift, Probation/Notice, Payroll, Leave | IAM/ATT/LVE/PAY R1 |
| Messages Master | Replace with i18n resource bundles + tenant overrides for key notification templates | NTF R1 |
| New hire → self-onboarding → directory | Keep, add offer/letters later | EMP R1 |
| Document approval, checklists, induction | Keep (generic task engine) | EMP R1 |
| Excel uploads (employees, attendance) | Keep with templates, validation and dry-run | EMP/ATT R1 |
| Attendance requests, regularization, permissions, shift change/swap, rotations, week-offs | Keep, consolidated policy | ATT R1 |
| Biometric mapping | Keep + device gateway (R2) | ATT R1/R2 |
| Face recognition (HCM/Lite), receptionist check-in | Redesign as one app's kiosk mode + consented face verification | MOB R2 |
| OT, extra-day slabs, week-off penalties | Keep, OT approval added | ATT R1 |
| 10 fixed leave types + rules | Redesign as a leave-type builder + ledger | LVE R1 |
| Gender + marital-status-based leave eligibility | Drop: use configurable, inclusive eligibility | LVE R1 |
| Pay groups by CTC range | Redesign as structure templates + effective-dated compensation | PAY R1 |
| EPF/ESI/PT/VDA/gratuity/arrears/variable pay/advance salary | Keep (VDA as Could) | PAY R1 (VDA R2) |
| Manual TDS amount | Replace with a TDS engine (basic in R1, full in R2) | PAY |
| Statutory "reports" | Extend to portal-ready files | PAY R1 |
| Bank PDF / bank-wise summary | Extend to bank transfer files | PAY R1 |
| Claims two-stage approval | Keep + policy limits + payroll payout | CLM R2 |
| Travel approvals | Merge into CLM mileage claims | CLM R2/FFM R3 |
| Separation / termination / checklist | Keep + F&F + letters + clearance owners | EXT R2 |
| Timesheets & projects | Keep as an add-on; share the Account entity with FFM | TSM R3 |
| CRM demo-centric pipeline | Redesign as configurable stages | FFM R3 |
| GPS tracking, battery, kms, device approval | Keep with consent, retention and work-hours limits | FFM R3 |
| CRM-embedded leave/shift screens | Drop (use the shared ATT/LVE screens) | — |
| LMS builder & gamification | Defer / narrow | LMS R4 |
| Rewards & Recognition, Announcements | Keep + targeting | ENG R2 |
| Super Admin dashboard | Keep in a unified report framework | RPT R1 |
| Four separate mobile apps; Lite as a separate product | Merge into one app; Lite = a plan | MOB R1 |
20. Open questions (not answerable from public docs)
- Spryple's actual permission model granularity (see §21 for screenshot evidence).
- Whether multi-level approvals, delegation and escalation exist.
- How TDS amounts are computed before manual entry (an external tool?).
- The exact biometric device brands and protocols supported (ZKTeco/eSSL push vs polling vs file).
- Face-recognition provider, liveness and where templates are stored.
- GPS sampling frequency, offline behaviour and retention.
- Pricing tiers and per-module licensing (the marketing site has a "Pricing" link; not analysed).
- Multi-company/group structures (several legal entities under one tenant).
- Whether payroll runs can be locked or reversed.
- API availability for customers.
These are noted as assumptions in brd.md §10 and do not block planning, because our design does not depend on Spryple's internals.
21. Screenshot-verified findings (parallel agent review)
Six research agents reviewed the Help Center in parallel, one per section: Super Admin, Admin, Managers, Employee, Mobile and LMS. They re-fetched the live pages and read the embedded screenshots. None of them found content on the live pages that was missing from the captured text: there are no tabs, accordions, iframes or hidden sections. All the new facts below come from screenshots and are labelled [Observed-SS].
Coverage caveat: under parallel load, help.spryple.com began resetting TLS connections. Images reviewed per agent: Super Admin about 27 of 42, Mobile about 75, Employee about 60 of 115, Managers 23 of 263, LMS 1 of 19, Admin 1 of 203. The Admin agent was stopped once the site began blocking requests. We did not retry aggressively out of courtesy to the site. Payroll-screen screenshots (CTC popup, payslip generation, statutory reports) remain largely unreviewed. See open questions §20.
21.1 Platform, vendor and environment
-
The legal entity behind the apps is Devorks Solutions Pvt Ltd (App Store seller;
impl@devorks.comin the footer; "DEVORKS" header branding in CRM screenshots). The CRM module is branded "Sales Pro Management" in the web menu and "Spryple Sales Pro" on Google Play [Observed-SS]. -
The footer lists "Asset Management" as a solution (not documented in the Help Center). Self-serve trial:
trial.spryple.com/#/signup[Observed]. -
Screenshots show test environments on raw IPs and ports (e.g.
13.126.254.80:8089/#/learning/...,122.175.62.210) and hash-routed SPA URLs (#/pre-onboarding/<token>) [Observed-SS]. This suggests an Angular/SPA front end with a single shared multi-tenant deployment [Inferred]. -
Store listings (secondary source):
App Android package iOS bundle iOS version / last release Spryple HCM com.hrmslatestcom.spryple.hrmslatestv4.5 / 2026-08 Spryple Lite com.hrmslatestlitecom.spryple.spryplelenv2.5 / 2024-08 (unmaintained) Spryple CRM com.crmspryplespcom.crm.spryplespv3.7 / 2026-05 All three Play listings declare "No data collected", yet also "Shares location". That is a data-safety inconsistency for a GPS-tracking app.
21.2 Core HR & onboarding
- New Hire form: required fields are First Name, Last Name, Hired On, Joining Date, Designation, Mobile and Emergency Contact. Personal Email is optional, and the text wrongly says "Email" [Observed-SS].
- The pre-onboarding link expires after 24 hours. It is sent from
no-reply@spryple.comwith the subject "Welcome to Spryple" [Observed-SS]. - Profile fields:
- Personal: DOB, Blood Group, Gender, Marital Status, Aadhaar Number, Languages Spoken.
- Work: Employee ID (location prefix, e.g. NE13, TNK1), Office Email, Employment Type, Role, Company Location, Department, Designation, Notice Period, Reporting Manager Department, Reporting Manager.
- Contact: Residence Address, Permanent Address with a "Same as residence" toggle.
- Profile tabs: Personal Info, Contract/Promotions, Work Experience, Bank Details, Education, and more [Observed-SS].
- Credentials email: the employee receives the login URL, Company Code, Username and the plaintext password ("Welcome1!") by email [Observed-SS]. This confirms the security weakness in §4.5.
- Onboarding checklist items carry a Department and an "Approver Name", so each item has an owner. There is also an "Add Comments" box beside No Due. Sample items: educational certificates, experience/relieving letters, payslips, PAN & Aadhaar, photos [Observed-SS].
- Induction Program list: Program Type, Department, Conduct By, Date, Start/End Time, Status (e.g. Scheduled); actions are assign, edit and cancel [Observed-SS].
- Employee Report columns: Emp ID, Name, Office Email, Mobile, Emp Status, Emp Type, Department, Designation, Location, Gender, Blood group, and more, with a column chooser, filter and download [Observed-SS].
21.3 Attendance
- Day-status legend (Monthly Attendance grid): A Absent, P Present, W Week-off, L Leave, H Holiday, HD Half Day, WP Week-off Present, HP Holiday Present, HL Half-day Leave. Counts accept halves (e.g. 14.5) [Observed-SS]. Our day-status enumeration should cover at least these.
- Punch records carry Punch Time, Category (in/out), Location (address) and Source ("Lite", "CRM", "MOBILEAPP"). A detail popup shows the first and last check-in photos [Observed-SS].
- Rule on screen: "In case of multiple attendance sources found, break timings are not considered." Overnight sessions ending at 04:00 suggest an auto punch-out default [Observed-SS / Inferred].
- The Monthly Shifts grid shows a column per shift with present/total per day (e.g. "3/109"). Shift names in sample data include Regular, Morning, Afternoon, Night, Flexible, "8PM to 9AM" [Observed-SS].
- Geo-fence: a per-branch "Branch Location" screen with Geo fencing Radius (200 m in the example; the options are not shown) [Observed-SS].
- Face capture: a manager or receptionist enrols the face (Verified/Not Verified). The kiosk "Face Detections" screen offers All/Select employees, a camera preview, Capture and a camera flip. No liveness or anti-spoof cue was visible [Observed-SS].
- Mobile attendance request: half-day checkboxes and a required Shift. History cards show the Attendance Type (Full Day) and Shift [Observed-SS].
- Calendar legend (mobile): Present, Absent, Holiday, Leave, Week-Off, Half Day, Week-off Present, Holiday Present [Observed-SS].
21.4 Leave
- The mobile leave request also captures Contact Number and Emergency Mail during the leave, with colour-coded balance chips [Observed-SS].
- CRM leave history statuses: Approved, Rejected, Deleted, Cancelled. Leave types seen in data: Casual, Sick, Loss of Pay, Comp Off [Observed-SS].
21.5 Payroll
- The employee Payroll menu includes Employee Dashboard, CTC History, Pay Slips, IT Declaration, Form 16 and Request Advance Salary. Role groups are Finance Admin, Finance Manager, HR Manager and SuperAdmin; the SuperAdmin group has only the "Employee Paygroup List" [Observed-SS].
- The Employee Pay Groups grid shows Emp ID, Name, Location, Department, Designation, Pay Group, CTC, Assigned On. A sample pay-group name, "JSM Pay group without ESI", implies the structure decides statutory applicability [Observed-SS / Inferred].
- Sample payslip components: earnings include Gift Coupon, Research Allowance, Fuel Allowance, Vehicle Maintenance Allowance and Variable Dearness Allowance; deductions include Gratuity, Professional Tax and EPF; the footer reads "Net Pay = Gross Earnings − Total Deductions" [Observed-SS]. Gratuity is shown as an employee deduction, which is unusual: gratuity is normally an employer cost [Inferred critique].
- Lite payroll report: Name, Salary, P. Tax, Presents, Payable salary [Observed-SS].
21.6 Claims
- Claim ID format:
CL_GEN_<company>_<n>. The bill image is required with a 2 MB limit. Reimbursement types seen: "Food Charges" (others unknown). Mobile statuses: Submitted, Verified, Paid, Rejected, with a Rejected Reason [Observed-SS]. - Claims is a module inside the HCM/CRM app shell ("More → Claims Management"), not a separate store app [Observed-SS].
21.7 Field Force / Sales CRM
- GPS has two modes: Point-to-Point (the route is built only from punch-in, punch-out and visit activities) and GPS Monitoring (continuous movement from punch-in to punch-out). Tracking requires the employee to be logged into the CRM app with location permission and internet. The map is Google Maps (Map/Satellite) [Observed-SS].
- The Android location prompt (precise/approximate, "while using the app") is preceded by an in-app disclosure, "Allow Spryple CRM to track your activity" [Observed-SS].
- Lead-age colours: green 0–7 days, amber 8–14, red 15+. Follow-up icons show Scheduled vs Exceeded [Observed-SS].
- Activity types: VISIT, CALL, MESSAGE, MAIL.
- Client Status values: Interested, Not Interested, Won, Follow-up (plus Lost per the text).
- Activity/Demo Status values: Call For Demo, Demo Scheduled, Demo Pending, Demo Completed.
- Assignment statuses: Cancelled, Exceeded [Observed-SS].
- Visit location verification exists: icons show client location matched, not matched or not available. If the client has no location, the first visit's location is used [Observed-SS]. This partly answers our "no geo-verified visits" critique: verification exists as an indicator, not as an enforcement rule.
- Travel approvals include an editable "KM Revised" field. A "Selected Records Summary" (visits, traveled km, revised km) appears before Verify/Reject [Observed-SS].
- Client Payments: read-only Final Price and Pending Amount; Payment Method (e.g. CASH), Collected Amount [Observed-SS].
- Client Associates sample data: Associate Type "Doctor", Qualification "MBBS", Specialization "Cardiology/Dentist", with clients being hospitals. This confirms the pharma/healthcare field-sales design target inferred in §11 [Observed-SS].
- The Sales Manager web menu also includes Excel Upload, Configure Shift, Summary/Detailed Report, Weekoff Configuration, Missed Punch, Leave Approvals and Leave History, which duplicate ATT/LVE screens inside CRM [Observed-SS].
21.8 Timesheet
- Project Summary columns: Client, Project, Project Manager, Estimated Days, Worked Hours, Status. The details popup shows planned vs actual task dates and hours [Observed-SS].
- Effort Variance: Planned vs Actual Hours, actual start and end dates, Variance %, computed as (Actual − Planned) / Planned (verified on sample rows) [Observed-SS].
21.9 Engagement
- Recognition types: Birthday, Outstanding, Job Well Done, Congratulations, Performance-based recognition. Messages come from a template with a 145-character limit. Reports show counts per type per employee [Observed-SS].
21.10 LMS
- Certificate of Completion: recipient name, course, date, tenant name, instructor signature, and a Certificate ID such as
CERT250811174612SELE10. The certificate shows no score or duration. The "Achievements" page has My Badges and My Certificates tabs. A chatbot icon is present [Observed-SS]. - A public marketing page exists at
spryple.com/learning-management-system/(not retrievable during research).
21.11 Employee portal additions (Employee-section agent; about 60 screenshots viewed)
- Payslip layout [Observed-SS]:
- Header and summary: "Payslip for the month of …"; Employee Pay Summary (Name, Designation, DOJ, Pay Period, UAN, ESI No., PAN); Bank (Name, Account, IFSC); a Leave balance panel.
- Lines: Gross Earnings lines; Deductions (PT, EPF); Net Pay block (Actual Gross, Total Deductions, LOP Amount (Days: n), Arrear Amount).
- Footer: "Total Net Payable ₹X (in words) for 30 Days" and "system generated, signature not required".
- Defect: the printed formula omits arrears, which are nevertheless added.
- CTC History: "Select Duration" (e.g. "July 2023 – Present"), which implies effective-dated compensation periods exist. Components shown monthly and annually: Basic, DA, HRA, Travelling, Telephone, Driver allowances [Observed-SS].
- Advance salary form: Gross (read-only), Request Eligible Amount (read-only), required amount, number of months to recover (default 2). Table: Paid Amount/Date, Recovery Duration, Recovered Months/Balance, Pending, Recovery Status (e.g. "Recovery Not Started"), Request Status [Observed-SS].
- Separation:
- A retention letter ("discuss with your Reporting Manager or HR") is shown before Proceed.
- Form: Applied Date, Notice Period (30), Relieving Date auto-computed (applied + notice), Requesting Exit Date, Reason (dropdown), Notes [Observed-SS].
- Leave:
- The request captures Contact and Emergency Email, and shows the available balance (Used/Available/Total) and the Manager Name.
- Statuses include "Cancel Submitted".
- Company Leave Policies is a read-only Rule/Value table per leave type.
- The sample leave types include Marriage (= Wedding) [Observed-SS].
- Attendance:
- The Late Attendance report shows Shift, Date, Shift In Time, In Time, Late Hours. The sample data contains implausible late hours (672:00:00), a calculation-quality signal.
- The Penalty report has Date, Day, Penalty Count and Description ("Absent on Sunday") [Observed-SS].
- Claims dashboard footnote: counts and amounts are based on claim applied dates. The settlement ratio example is 61.29% [Observed-SS].
- Timesheet entry shows Task Cumulative Hours. History shows Percentage and Cumulative Hours. The project summary task status is e.g. "In Progress" [Observed-SS].
- LMS (the most detail available) [Observed-SS]:
- Menu: Learning Sphere, Course Library and Achievements Center (with My Badges and My Certificates tabs).
- Course Library filters: Department, Difficulty (Beginner/Advance), Time, Instructor, Status.
- Course cards: modules, sections, duration, "what you will learn", prerequisites, Enroll and Details.
- Course player tabs: Content, Summary, Resources, with a video player and section progress.
- Assessments: MCQ (A–D), Mark for Review, a question navigator, then a result (correct/wrong, score, Passed).
- Learning Sphere: KPI tiles (courses, modules and sections completed, certificates, streak), a leaderboard with points, and course tabs Enrolled, Assigned, Recommended, Trending, Popular, Personal Recommendations. "Assigned" means course assignment exists.
- Badge ladder by course count: APPRENTICE → SCHOLAR → MENTOR → GUIDE → PATHFINDER → EXPERT.
- CRM web:
- Client List has two report types (by Status / by Activity) with different lead-age legends: 0–5/6–10/11–15/16–20/21+ days vs 0–7/8–14/15+.
- Follow-up icons: Scheduled, Exceeded, UnScheduled.
- Payment methods seen: CASH, CARD.
- Travel amount = revised km × rate (e.g. ₹140 for 7 km, which implies ₹20/km [Inferred]). Rows can reach a Claimed status [Observed-SS].
- Global UI: a chatbot widget and a help icon in the header [Observed-SS]. A main-dashboard Alerts panel lists "dd-mm-yyyy – Attendance not recorded" with quick attendance/leave request actions [Observed-SS].
21.12 Admin portal additions (Admin-section agent; blocked after one screenshot)
- Employee Password Reset form: Location → Department → Employee, then "Existing User Name" and "Existing Password". The existing password is masked with an eye toggle, so the admin can reveal it. Then the reset option and an auto-generated new password. A note says: if the employee has no office email, the admin must write down the credentials and share them manually [Observed-SS]. Implication: passwords appear to be stored in a reversible form rather than as one-way hashes [Inferred]. This is a serious security weakness, and our IAM design treats it as an explicit anti-requirement.
- The Roles & Permissions section reuses the same screenshot files as Users Login (image-35/36.png). The Help Center therefore contains no evidence of a permission model [Observed].
- Leave-policy "Edit" screenshots are reused across six leave types, and the CRM admin page embeds leave-policy screens. Both point to shared screens and copy-paste documentation [Observed].
- The admin sidebar order is Company Information, Department, Designation, Work Location, Company Logo, Shift, Holidays, Checklist, and so on. The left icon rail lists modules including Attendance, Employee, Leave, Timesheet/Exit, Payroll/Claims, Calendar, CRM, Reports [Observed-SS / Inferred from icons].
21.13 Super Admin dashboard widgets (Super Admin-section agent; screenshot)
All [Observed-SS], Help › For Super Admin › Super Admin Dashboard:
| # | Widget title | Visual | Controls | Values shown in the sample |
|---|---|---|---|---|
| 1 | Employee Count by Location | Pie chart | — | — |
| 2 | Employees by Department by Location | Donut chart | "All Locations" dropdown | — |
| 3 | Employee Count | Counts | Date picker | "Total Active Employees: 141", plus New Employees and Exit Employees counts |
| 4 | Attendance by Work Type | Donut chart with legend table | Date picker | WFO 6, WFH 0, Absents 131, On_duty 3, Weekoffs 1 (Weekoffs is a fifth category the text does not list) |
| 5 | Employees on Leave by Department | Pie chart | Date picker | — |
| 6 | Leaves | Count | Date picker | "On Leave: 3" |
| 7 | Shift Based Headcount by Department | Horizontal bar chart | Shift dropdown (e.g. "Regular Shift") | — |
| 8 | Payroll Amount by Department by Month | Bar chart, department colour legend | — | Months shown April to March |
21.14 Effect on our analysis
| Earlier statement | Revision |
|---|---|
| "TDS is a manually typed amount; no declarations or Form 16" | The menus show IT Declaration and Form 16, so the capability probably exists but is undocumented. Our requirement for a TDS engine with declarations stands. Spryple parity needs it in R1, not R2 (see the PRD). |
| "No geo-verified visits" | Spryple shows a matched/not-matched indicator. We go further, with configurable enforcement (block, flag or allow). |
| "Kms GPS-derived, no reconciliation" | A manager can revise km (KM Revised). We add an audit reason and snap-to-road computation. |
| "Geo-fence radius undocumented" | Radius per branch (e.g. 200 m). We add multiple fences per location plus Wi-Fi/QR fallback. |
| LMS "no mandatory assignment documented" | An "Assigned" course tab exists. Our R4 LMS keeps assignment and due dates as core. |
| Payroll compensation history | CTC History has duration periods, so Spryple likely has effective-dated CTC. Our differentiator is effective-dating policies and structures too, not just CTC. |
| Face recognition | There is still no evidence of liveness detection. Liveness remains a must-have for our kiosk/face feature. |
| Security | Plaintext passwords in email are confirmed, and admins can reveal existing passwords (§21.12). "No default passwords" and one-way argon2id hashing (ADR-006) are reinforced as non-negotiable. |
Synced from
/research/spryple-analysis.mdin the repository root. Edit the root file, not this page.