UX redesign: Payroll & statutory compliance
Part of the UX gap analysis. Places, patterns and treatments follow the IA & principles. Spryple facts come from the crawled Help Center; click counts are estimates (see evidence).
4. Payroll & Statutory Compliance
Scope: Finance Admin, Finance Manager, Employee, Super Admin, mobile payslips and Lite payroll. Spryple facts come from the Help Center workflows (E1–E18, L12), the screen slice, config §4 and the screenshot notes (§21.5, §21.11). Click counts are documented-actions estimates, not measurements. Where Spryple is silent, this part says "not documented".
4.1 UX issues found
| ID | Issue (pattern) | Evidence | Pros | Cons | How we handle it (place · pattern · principle) |
|---|---|---|---|---|---|
| UX-PAY-01 | EPF, ESI and Pay Schedule are described and configured on both the Finance Admin and the Finance Manager pages (duplicate pages per role) | E1–E3; Part E intro says Admin and Managers pages "repeat the same configuration text". The two pages even disagree on the Organization working days option (E3 source discrepancy) | Each login sees its settings without hunting | Two copies to maintain; documentation conflict; users unsure which login owns the setting | P-SET › Policies › Payroll & statutory; one page, access by permission · DEDUPE + PAT-9 · UXP-2, UXP-3 |
| UX-PAY-02 | Pay group is chosen by CTC range (start/end), then a separate Configuration step, with status "Configuration in Progress" until ACTIVE | E4, E5 (7 actions to assign; 8 to create). The action that moves status to ACTIVE is not documented. A sample group named "JSM Pay group without ESI" shows structure also decides statutory applicability (§21.5) | Ranges make assignment automatic by CTC; percentage/flat per component is flexible | Overlapping or gap ranges (rule not documented); two-step setup; statutory applicability hidden in a group name; assigner must search by CTC and then pick | P-PAYROLL › Compensation › Structures; versioned salary structure template with live CTC preview; employee gets a suggested template at assignment · REPLACE + PAT-9 · UXP-9, UXP-5 |
| UX-PAY-03 | Monthly payroll is a single "Calculate Salary" button after choosing financial year, month and employees; no readiness check, review, approval, lock or reversal | E7: statuses, notifications, approval, lock, re-run, reversal and payment all "not documented" | Very short (4 documented actions); easy to learn | Errors found only after payslips exist; no variance check; no audit trail; no way to undo; only the Finance Manager can generate | P-PAYROLL › Run payroll wizard (period → readiness → inputs → calculate → variance → approve → lock → outputs) · PAT-7 · UXP-5, UXP-6 |
| UX-PAY-04 | Arrears, TDS, variable pay and other deductions are each a separate entry screen with its own filters, plus a separate History screen | E8 (8 actions), E9 (9), E10 (11), E14 (10): 38 documented actions across four screens. Screens: Arrear Distribution, TDS Distribution, Variable Pay Distribution, Other Deductions | Each input type has focused fields | The same month/branch/employee selection is repeated four times; no single view of what changes a person's pay; entry and history are separate screens | P-PAYROLL › Run › Inputs step: one grid, one column per input type, import and bulk paste · PAT-12 + PAT-7 · UXP-1, UXP-2 |
| UX-PAY-05 | Statutory outputs are many separate report screens (EPF Report, ESI Report, Professional Tax Report, Professional Tax View, EPF deduction, ESI category) | E18, screen rows 20–23, 30–31. EPF report is downloaded then uploaded to the EPF portal by hand | Each report is simple and focused | Finance hunts per statute and per month; no check that files match the locked run; the file format for the portal is not documented | P-PAYROLL › Run › Outputs step "Statutory pack" (ECR, ESI, PT, LWF) generated on lock; history in P-INSIGHT report centre · MERGE + PAT-8 · UXP-6, UXP-2 |
| UX-PAY-06 | Bank-wise salary summary is a separate add/search/select/submit flow | E17: 10 actions; check box disabled while an employee's salary is pending; what submit triggers is not documented | Shows totals per bank with ESI, EPF, PT amounts | A flow of its own for what is an output of the run; manual check-box selection per employee | P-PAYROLL › Run › Outputs: bank files grouped by debit account, held employees excluded automatically · MERGE · UXP-6 |
| UX-PAY-07 | The employee sees payslips, CTC history, dashboard and advances in separate places, and IT Declaration and Form 16 appear in the menu but are undocumented | E15, E16; §21.5 lists menu items Employee Dashboard, CTC History, Pay Slips, IT Declaration, Form 16, Request Advance Salary. Help text for IT Declaration and Form 16 is not documented | Menu is explicit; a dashboard shows EPF/ESI deduction amounts | 6 menu items for one job ("my pay"); payslip needs dashboard → view → download (4 actions); tax screens cannot be assessed | P-PAY › Overview with tabs Payslips, Compensation, Tax, Advances; latest payslip card on P-HOME · MERGE + EMBED · UXP-2, UXP-4 |
| UX-PAY-08 | Payroll is split across four role logins (Finance Admin, Finance Manager, HR Manager group, Super Admin) with Super Admin limited to a single list | §21.5 role groups; screen rows 1, 2, 15. Only the Finance Manager can generate payslips (E7) | Clear separation of config vs running | The same pay group list exists as Super Admin and Finance pages; a user with both duties must switch logins | P-PAYROLL for finance roles; scope and permission decide view and actions; Super Admin sees Org scope · REPLACE · UXP-3 |
| UX-PAY-09 | Pay group reassignment offers two radio paths (change CTC only, or CTC and pay group) with no effective date and no arrears behaviour documented | E6 (8 actions); "effective date, arrears from CTC change" not documented; CTC History has a Select Duration selector (§21.11) implying effective-dated periods | Handles increments and financial-year changes | One employee at a time; no preview of monthly impact; back-dated increments undocumented | P-PAYROLL › Compensation: effective-dated revision, bulk increment grid with impact and arrears preview · PAT-12 · UXP-5, UXP-6 |
| UX-PAY-10 | Payroll Policies is 14 numbered rules; rules 1 and 2 share identical help text; rule 8 "dynamic payroll processing" is not defined | E11, config §4.1. Defaults and ranges not documented for any rule | One page lists everything | Terms undefined; decisions with no example or preview; mixes advance, gratuity, OT, LOP, variable pay | P-SET › Policies › Payroll & statutory in grouped plain-language cards with example and impact preview · REPLACE + PAT-9 · UXP-9, UXP-5 |
| UX-PAY-11 | Advance salary has a request form, a hidden approval screen, a recovery table and an empty "Advance Salary Report" | E16; approval steps not documented; Advance Salary Report is a heading with no text (screen row 33). Form has read-only Gross, Request Eligible Amount and months to recover (default 2) (§21.11) | The form already shows the eligible amount and recovery months | Requester must hunt for the status; approver path unknown; recovery deduction mechanics not documented | P-REQ type Advance; P-INBOX approval; P-PAY › Advances recovery ledger; P-PAYROLL › Advances and loans · MERGE + PAT-3 + PAT-10 · UXP-1, UXP-8 |
| UX-PAY-12 | Reports and masters of other modules sit inside payroll (Leave Balance Report, Payable Days Report, Payroll Messages Master) | Screen rows 24, 26, 34. Four Messages Master screens exist across Spryple (01-evidence) | Finance finds them next to payroll | Duplicate of leave/attendance reports; a messages master per module | P-INSIGHT report centre (topic Leave, Attendance); payable days appear in Run readiness; messages in P-SET › Templates & messages · DEDUPE · UXP-2 |
| UX-PAY-13 | Statutory setup is scattered: EPF, ESI, Pay Schedule, Bank Master (with Is EPF, Is ESI, Is PT flags), Variable DA, PT view and policy rules 4, 5, 6, 10 sit on different pages; no required setup order is documented | L12 lists 11 pages and says required order is not documented. Bank Master has 15 fields (E13, 8 actions) | Each item is findable by name | New tenants guess the order; statutory switches live far from the item they affect | P-SET › Payroll & statutory setup checklist with order and readiness status; statutory pack seeds rates · PAT-7 + PAT-9 · UXP-6, UXP-9 |
| UX-PAY-14 | Entry and History are paired screens for Arrears, TDS and Variable Pay; arrears status Pending/Paid is changed by an undocumented action | E8: Pending, Paid; Paid arrears show on the payslip. E9 TDS History; E10 history | History stays out of the way of entry | Users leave the entry screen to confirm what was saved; status trigger not documented | P-PAYROLL › Run › Inputs: saved lines appear in the grid with status; history as a side drawer and in P-INSIGHT · EMBED + PAT-10 · UXP-1, UXP-8 |
| UX-PAY-15 | Mobile and Lite payroll show payslips by Financial Year then Month, and the Lite report is a thin table | E15 mobile: select FY and Month; Net Pay, Total Earnings and Deductions display. Lite report: Name, Salary, P. Tax, Presents, Payable salary (§21.5). Gratuity shown as an employee deduction on the sample payslip (inferred critique) | Mobile view is compact | Two selectors before the user sees the payslip; Lite payroll is a separate report format; gratuity placement can mislead | P-HOME latest payslip card then P-PAY › Payslips (list by month, latest first); Lite is a "Simple" structure on the same run wizard · REPLACE + PAT-1 · UXP-4, UXP-7 |
4.2 Where every feature goes (all screens addressed)
| # | Spryple screen | Audiences | New place › section | Treatment | Why / how it works now |
|---|---|---|---|---|---|
| 1 | Employee Pay Group List | Super Admin, Managers | P-PAYROLL › Compensation (table filters: Location, Structure) | MERGE | One compensation table; Super Admin uses Org scope (UXP-3) |
| 2 | Finance Admin | Admin | P-PAYROLL landing (role by permission) | DEDUPE | No per-role landing; the same Payroll place opens with the user's permitted tabs |
| 3 | Finance Dashboard | Admin | P-PAYROLL › Overview (month and department filters) | KEEP+ | Cost, EPF/ESI/PT totals, run status and variance trend (FR-PAY-062) |
| 4 | EPF | Admin, Managers | P-SET › Policies › Payroll & statutory › EPF | DEDUPE | One EPF page; rates seeded from the statutory pack; edit, save |
| 5 | ESI | Admin, Managers | P-SET › Policies › Payroll & statutory › ESI | DEDUPE | Include-employer toggle and state-wise ESI codes in one card |
| 6 | Pay Schedule | Admin, Managers | P-SET › Policies › Payroll & statutory › Pay schedule | REPLACE | Plain-language: "Pay for the 1st to the last day"; leave window dates only if different; effect preview |
| 7 | Pay group | Admin, Managers | P-PAYROLL › Compensation › Structures | REPLACE | Salary structure templates (versioned) replace CTC-range groups (FR-PAY-003); a pay group is entity plus schedule (FR-PAY-006) |
| 8 | Pay group configuration | Admin, Managers | P-PAYROLL › Compensation › Structure editor (component rows) | MERGE | Percent or flat per component inline; live CTC and basic percentage; Draft to Active in one save |
| 9 | Bank Master | Admin | P-SET › Policies › Payroll & statutory › Company bank accounts | KEEP+ | Account with flags for salary, EPF, ESI, PT payments (FR-PAY-012) |
| 10 | Payroll Policies | Admin | P-SET › Policies › Payroll & statutory (grouped cards) | REPLACE | 14 rules become plain-language cards with examples and impact preview (PAT-9) |
| 11 | Variable DA | Admin | P-PAYROLL › Variable DA card (help text) | EMBED | Definition shown beside the setting instead of its own screen |
| 12 | Variable DA Configuration | Admin | P-SET › Policies › Payroll & statutory › Variable DA | DEFER | Kept for R2 (FR-PAY-016); list with add/edit, effective date |
| 13 | Arrear Distribution | Admin | P-PAYROLL › Run › Inputs (Arrears column) | MERGE | Manual arrear lines in the grid; back-dated changes produce arrears automatically (FR-PAY-040) |
| 14 | Arrear Distribution History | Admin | P-PAYROLL › Run › Inputs grid (status column, history drawer) | EMBED | Pending/Paid visible per line without leaving the run |
| 15 | Finance Manager | Managers | P-PAYROLL landing | DEDUPE | Same place as row 2 |
| 16 | Assign Pay Group | Managers | P-PAYROLL › Compensation › Assign (also Person 360 Pay tab) | MERGE | Pick employee, enter CTC, accept suggested structure, preview breakdown, confirm |
| 17 | Reassign Pay group | Managers | P-PAYROLL › Compensation › Revise and Bulk increments | MERGE | Effective-dated revision with reason; bulk grid with impact and arrears (FR-PAY-017) |
| 18 | Monthly Payroll (Generate Payroll) | Managers | P-PAYROLL › Run payroll wizard | REPLACE | Readiness-checked run with review, approval and lock (PAT-7) |
| 19 | Monthly Payroll Report | Managers | P-PAYROLL › Run › Outputs (payroll register, bank advice PDF) | EMBED | Generated on lock; copy kept in the report centre |
| 20 | EPF Report | Managers | P-PAYROLL › Run › Outputs › Statutory pack (ECR) | EMBED | Validated file for the EPF portal (FR-PAY-045) |
| 21 | ESI Report | Managers | P-PAYROLL › Run › Outputs › Statutory pack | EMBED | ESIC upload file plus PDF or Excel (FR-PAY-046) |
| 22 | Professional Tax Report | Managers | P-PAYROLL › Run › Outputs › Statutory pack (month and state filters) | EMBED | State-wise return data (FR-PAY-047) |
| 23 | Professional Tax (View) | Managers | P-SET › Policies › Payroll & statutory › Professional tax (read-only slabs) | EMBED | State slabs come from the statutory pack; states follow locations |
| 24 | Payroll Messages Master | Managers | P-SET › Templates & messages (module: Payroll) | REPLACE | One Templates & messages editor for every module: notification templates plus terminology and label overrides (FR-ORG-017). Editing every on-screen error message per tenant is not carried over (FR-NTF-017, Won't) |
| 25 | Employee Payments Report | Managers | P-INSIGHT › Payroll topic › Payments register | MERGE | Filters City-Branch, Manager, Month; same scope filter as other reports |
| 26 | Leave Balance Report | Managers | P-INSIGHT › Leave topic | DEDUPE | Belongs to Leave; not duplicated in Payroll |
| 27 | Other Deductions | Managers | P-PAYROLL › Compensation › Recurring deductions; one-offs in Run › Inputs | MERGE | Master of named deductions plus a grid column for one-time amounts |
| 28 | Manage Other Deductions | Managers | P-PAYROLL › Recurring deductions (bulk assign by structure or employee) | MERGE | Mapping done by selecting rows, not a separate screen (PAT-12) |
| 29 | Bank Wise Salary Summary | Managers | P-PAYROLL › Run › Outputs › Bank files | MERGE | Grouped by debit account; pending or held salaries excluded automatically |
| 30 | EPF deduction | Managers | P-PAYROLL › Run › Outputs › Statutory pack › EPF drill-down | EMBED | Employee list opens from the EPF total |
| 31 | ESI category | Managers | P-PAYROLL › Run › Outputs › Statutory pack › ESI drill-down | EMBED | Same drill-down pattern |
| 32 | Detailed Payroll Report | Managers | P-PAYROLL › Run › Review workspace and P-INSIGHT › Payroll register | MERGE | Per-employee payslip preview and download from the same table |
| 33 | Advance Salary Report | Managers | P-PAYROLL › Advances and loans (ledger) | REPLACE | Spryple documents a heading only; ours is the recovery ledger (FR-PAY-025) |
| 34 | Payable Days Report | Managers | P-PAYROLL › Run › Readiness step (payable days panel) and P-INSIGHT | EMBED | Checked before calculation, not after |
| 35 | TDS Distribution | Managers | P-PAYROLL › Run › Inputs (TDS column, auto-computed, override with reason) | REPLACE | Engine computes TDS (FR-PAY-050); manual entry is an override |
| 36 | Variable Pay Distribution | Managers | P-PAYROLL › Run › Inputs (Variable column) and Variable pay plans | MERGE | Import amounts per employee; plan sets period |
| 37 | Variable Pay Schedule | Managers | P-SET › Payroll & statutory › Variable pay (Monthly share or Lump sum) | MERGE | One setting, shown inside the variable pay plan |
| 38 | Employee Dashboard | Employee | P-HOME latest payslip card; P-PAY › Overview | MERGE | Net pay, EPF and ESI amounts on the Overview |
| 39 | CTC History | Employee | P-PAY › Compensation (duration selector) | KEEP+ | Monthly and annual components, effective-dated periods |
| 40 | Pay Slips | Employee | P-PAY › Payslips (list by month; PDF) | KEEP+ | Two taps from Home; Financial Year grouping, not a filter chain |
| 41 | Request Advance Salary | Employee | P-REQ › Advance salary; status in P-PAY › Advances | MERGE | Eligible amount prefilled; approval in P-INBOX |
Rows covered: 41 of 41
Also placed (menu items with no help text, not counted above): IT Declaration and Form 16 go to P-PAY › Tax (declaration, proofs, regime, Form 16; FR-PAY-051 to 055). Treatment KEEP+; Form 16 is DEFER to R2 (FR-PAY-055). Their Spryple behaviour is not documented.
4.3 Redesigned workflows
Baselines are documented UI actions from workflow-actions.json. L12 has no baseline in that file (it lists 11 pages and no required order); its after-estimate is a new setup flow.
| ID | Workflow | Spryple documented UI actions | Redesigned flow | Taps after (estimate) | Saving |
|---|---|---|---|---|---|
| E1 | EPF configuration | 2 | P-SET › Payroll & statutory › EPF card: edit, save (pack defaults prefilled) | 2 | 0, but one page for both roles |
| E2 | ESI configuration | 2 | ESI card: toggle include-employer, add state code, save | 3 | -1 (adds state codes, which Spryple lists as a further action) |
| E3 | Pay Schedule configuration | 7 | Plain-language card: same window? (yes), pick salary basis, save; dates only when different | 4 | 3 |
| E4 | Pay group create, configure, activate | 8 | Structures › New template, pick components, set calculation with live preview, Save and activate | 4 | 4 |
| E5 | Assign Pay Group | 7 | Compensation › Assign: pick employee, enter CTC, structure suggested, confirm | 3 | 4 |
| E6 | Reassign Pay Group | 8 | Person 360 or Compensation › Revise: new CTC and effective date, confirm; bulk via grid or import | 3 (bulk: 3 for any number) | 5 |
| E7 | Monthly payroll generation | 4 | Run wizard: open run, confirm attendance lock, calculate, review variance, approve, lock (outputs automatic) | 6 | -2 (adds readiness, approval, lock that Spryple does not document) |
| E8 | Arrear distribution and history | 8 | Inputs grid: pick row, enter arrear amount; saved in place with status | 3 | 5 |
| E9 | TDS distribution | 9 | Auto-computed; override cell with reason | 2 | 7 |
| E10 | Variable pay distribution and schedule | 11 | One-time plan: set period and mode, import amounts, confirm | 3 | 8 |
| E11 | Payroll Policies configuration | 1 | Policies card: edit answer, see example and impact, save | 3 | -2 (Spryple counts only opening the page; ours includes the change) |
| E12 | Variable DA configuration (R2) | 7 | Variable DA list: add, notification and CPI points, rate, save; published name and date default | 6 | 1 |
| E13 | Bank Master | 8 | Company bank accounts: add, IFSC (bank and branch fill), account number, tick EPF/ESI/PT/salary, save | 5 | 3 |
| E14 | Other Deductions and mapping | 10 | Recurring deductions: add, name and amount, select structures or employees, save | 4 | 6 |
| E15 | Employee views payslip, CTC history, dashboard | 4 | Home latest payslip card, open, download | 2 | 2 |
| E16 | Advance salary request | 7 | + Request › Advance: amount (eligible amount shown), submit; recovery status in My pay | 3 | 4 |
| E17 | Bank wise salary summary | 10 | P-PAYROLL › Run › Outputs: download bank file per debit account | 2 | 8 |
| E18 | Payroll reports | 4 | Outputs statutory pack on lock; other reports via report centre: topic, filter, export | 3 | 1 |
| L12 | Finance Admin setup order | not in baseline (11 pages listed, order not documented) | Payroll setup checklist in P-SET with ordered steps: entity and statutory pack, bank accounts, pay schedule, structures, policies | 5 | not comparable |
Totals for E1–E18: 117 documented UI actions before; 61 taps after (about 48 percent fewer). L12 adds about 5 taps for a one-off setup that has no documented baseline. Two items rise (E2, E7, E11): the redesign adds steps Spryple does not document (approval, lock, state codes).
Journey A. Monthly payroll run as a readiness wizard (replaces E7, E17, E18)
Before (Spryple). Open Monthly Payroll → select Financial year, month, year → select at least one employee → click Calculate Salary → open Monthly Payroll Report → download PDF for the bank (documented 4 actions for E7). Approval, lock, re-run, reversal and payment are not documented. Statutory files come from EPF Report, ESI Report, PT Report and Bank Wise Salary Summary (10 more actions, E17).
After (ours, P-PAYROLL › Run payroll). The run opens on the next due period (prefilled).
- Readiness. Checks run automatically: attendance period locked (FR-PAY-019), compensation present, bank account valid, new joiners and leavers listed, payable days panel (replaces the Payable Days Report). Blocking items link to the fix. Tap 1: Lock attendance, if not already locked.
- Inputs. The inputs grid (Journey C). Nothing to tap when nothing changed.
- Calculate. Tap 2. Whole pay group by default (no employee check-boxes).
- Review variance. Rows above the variance threshold (default 10 percent, FR-PAY-033) are flagged with a reason. Tap 3: Mark all reviewed, or open one flagged row to hold or fix; Recalculate selected (FR-PAY-032).
- Approve. Totals by component, headcount, statutory totals. Tap 4: Approve (the editor cannot approve when SoD is on, FR-PAY-036). Approvers also see it in P-INBOX.
- Lock. Tap 5: Lock. Payslips publish, bank files per debit account and the statutory pack (ECR, ESI, PT, LWF) generate automatically (FR-PAY-037, 044–048).
- Outputs and paid. Tap 6: Download bank file; mark paid or import the UTR file (FR-PAY-038). A reversal run is available from the locked run (FR-PAY-039).
Estimate: 6 taps for a clean run versus 4 + 10 + about 4 (reports) = about 18 documented actions to reach the same outputs. Saving about 12, with approval, lock and reversal added.
Journey B. Salary structure and compensation assignment with bulk increments (replaces E4, E5, E6)
Before. Add pay group (name, start range, end range, earnings, deductions, save) → Configuration → configure each component (percentage or flat) → submit → status becomes ACTIVE (8 actions). Assign: Assign Pay Group → employee → CTC → Search → select one group → read popup → Assign (7). Increment: Reassign, choose a radio, employee, new CTC, submit, pick a group, submit (8). Total 23 actions; one employee at a time.
After (P-PAYROLL › Compensation).
- Structure once. Structures › New template: component rows from the seeded list, percent or flat or formula, one balancing component that cannot go negative; live preview across a CTC range. Save and activate = 4 taps. Statutory flags are on components, so "without ESI" is not a pay group name.
- Assign. Assign (or Person 360 › Pay): pick employee, enter CTC, the structure is suggested, the monthly and annual breakdown (changes with EPF and ESI settings) shows, confirm = 3 taps.
- Increment. Revise: new CTC and effective date and reason, confirm = 3 taps. Back-dated dates in a locked period produce arrears automatically (FR-PAY-040).
- Bulk increments. Compensation grid: select employees (or import), enter a percentage or new CTC, set effective date; the preview shows monthly impact, arrears and revision letters (FR-PAY-017); confirm = 3 taps for any number of employees.
Estimate: 23 documented actions → 10 taps for one structure, one assignment and one increment, and bulk increments cost the same 3 taps for 100 people.
Journey C. One-time inputs in one inputs grid inside the run (replaces E8, E9, E10, E14)
Before. Four entries: Arrear Entry (month, year, branch, employee, arrear name and amount, tick, submit); TDS Entry (month, branch, search, tick, amount, submit); Variable Pay Entry (branch, calculation period, distribution period, select, amount, submit); Other Deductions (add, name, amount, submit) with a mapping screen (pay group, deduction, add). 38 documented actions, plus History screens.
After (Run › Inputs). One grid, rows are employees of the run, columns are Arrears, Variable pay, One-time deductions, TDS (auto-computed, override with reason), Advance recovery, LOP days, OT (read-only from attendance). Filters: branch, department, has-input. Cell edits autosave with remark; import from Excel; paste a column.
- Add an arrear for one person: click cell, type = 2 taps (plus the optional source month).
- Add variable pay for many: Import, confirm = 2 taps.
- TDS needs no entry; an override is 2 taps with a reason.
- Recurring deductions come from the master; no entry in the run.
- Each line shows status (Pending/Paid for arrears) and history in a side drawer.
Estimate: 38 documented actions → about 9 taps (3 + 2 + 2 + 2 for one example of each). Month, branch and employee are chosen once for the run, not four times.
Journey D. The employee sees pay, tax and advances in My pay (replaces E15, E16, IT Declaration and Form 16 entries)
Before. Menu: Payroll Management → Dashboard view icon → View payslip → download (4 actions). CTC History is another menu item. Advance: add, enter amount, submit; status read in a table (7 actions). IT Declaration and Form 16 are further menu items (not documented). Mobile: select Financial Year, select Month.
After (P-HOME and P-PAY).
- Payslip, 2 taps. Home shows "June payslip: Net pay" card → tap opens payslip (PDF share or download = tap 2). The email arrives as a password-protected PDF on publish (FR-PAY-043).
- P-PAY Overview. Latest net pay, YTD earnings and deductions, EPF and ESI amounts. Tabs: Payslips (list by month, grouped by tax year), Compensation (CTC breakup, history with duration selector), Tax (regime choice, declaration, proofs, tax worksheet, Form 16 in R2), Advances (eligibility, recovery ledger with status).
- Advance, 3 taps. + Request › Advance → amount (eligible amount and 2 default months prefilled) → Submit. Status timeline (Submitted → Approved → Recovering → Closed) is on the request and in Advances (PAT-10).
- Tax. Choose regime in the declaration window, see side-by-side comparison (FR-PAY-051); declare, upload proof; TDS updates in the worksheet.
Estimate: payslip 4 → 2, advance 7 → 3. One place (My pay) replaces 6 menu items.
Journey E. Setup of statutory items (replaces E1, E2, E3, E13, E11, L12)
Before. Finance Admin and Finance Manager both see EPF, ESI, Pay Schedule; Bank Master, Variable DA and Payroll Policies are separate; the order of setup is not documented (L12); about 28 documented actions (E1 2, E2 2, E3 7, E13 8, E11 1, plus pay group steps).
After (P-SET › Policies › Payroll & statutory). A setup checklist with five ordered steps and a readiness badge: (1) Legal entity and statutory pack (state, PF/ESI/PT/LWF applicability, rates prefilled); (2) Company bank accounts; (3) Pay schedule; (4) Salary structures; (5) Policies. Each step is a PAT-9 card: question, answer, example, impact preview, effective date. Variable DA appears only if Policy "variable DA applicable" is on. Rate changes are versioned with an effective date, so a locked period never changes.
Estimate: about 17 taps for a first-time setup (EPF 2, ESI 3, schedule 4, bank 5, policies 3) versus about 28 documented actions, plus no guessing of order.
4.4 UX enhancements beyond Spryple
- [Proposed] Pre-run validations as a readiness panel with a link per blocker: missing compensation, invalid bank account, attendance not locked, duplicate run; warnings for missing PAN or UAN, ESI threshold crossing, new joiners and leavers (FR-PAY-030).
- [Proposed] Variance heat strip: net pay change per employee against the previous locked run with an automatic reason (revision, LOP change, new component, arrears).
- [Proposed] Explain this number: tap any payslip or run line to see the formula, inputs and rule used (FR-PAY-031).
- [Proposed] Payroll summary card on Home for the finance role: "Run due in 3 days, 2 blockers" as an action card (PAT-1).
- [Proposed] Statutory calendar with due dates, challan and TRRN recording, and reminders (FR-PAY-049).
- [Proposed] Salary hold and release per employee in the review step (FR-PAY-026).
- [Proposed] Undo window: reversal run from a locked or paid run with reason and approval (FR-PAY-039).
- [Proposed] Payslip explainer for employees: "Why is my net pay lower this month?" comparing with last month; gratuity shown as an employer contribution, not a deduction.
- [Proposed] Tax worksheet and regime comparison for the employee, with proof deadline reminders (FR-PAY-050 to 053).
- [Proposed] Lite payroll: one screen "Simple" structure on the same wizard (salary × payable days ÷ basis days, optional PT/EPF/ESI), no readiness steps unless needed (FR-PAY-018).
- [Proposed] Bulk salary revision with impact preview and automatic revision letters (FR-PAY-017, FR-EMP-016).
- [Proposed] Search and command bar actions: "run payroll", "payslip", "apply advance" (P-SEARCH).
4.5 PRD impact
| Proposed ID | UX requirement | Priority (MoSCoW) | Release | Source issue |
|---|---|---|---|---|
| UX-FR-PAY-01 | One Payroll & statutory settings page (EPF, ESI, Pay Schedule, PT, bank accounts, policies) with no per-role copies; access by permission (related FR-PAY-005, 007, 008, 009, 012, 013) | Must | R1 | UX-PAY-01, 08 |
| UX-FR-PAY-02 | Salary structure template editor with live CTC preview and one-save activation; suggested structure at assignment (FR-PAY-003, 004) | Must | R1 | UX-PAY-02 |
| UX-FR-PAY-03 | Payroll run readiness wizard: readiness, inputs, calculate, variance, approve, lock, outputs in one flow (FR-PAY-028 to 037) | Must | R1 | UX-PAY-03 |
| UX-FR-PAY-04 | One inputs grid in the run for arrears, variable pay, one-time deductions, TDS override and advance recovery with import, paste and autosave (FR-PAY-020, 022, 040, 050) | Must | R1 | UX-PAY-04, 14 |
| UX-FR-PAY-05 | Statutory pack and bank files generated on lock and listed in the Outputs step; history in the report centre (FR-PAY-044 to 048) | Must | R1 | UX-PAY-05, 06 |
| UX-FR-PAY-06 | My pay place with Payslips, Compensation, Tax, Advances tabs and a latest payslip card on Home; payslip in 2 taps (FR-PAY-042, 043, 061) | Must | R1 | UX-PAY-07, 15 |
| UX-FR-PAY-07 | Effective-dated revision and bulk increment grid with impact and arrears preview (FR-PAY-004, 017, 040) | Should | R1 | UX-PAY-09 |
| UX-FR-PAY-08 | Plain-language payroll policy cards with example and impact preview, replacing 14 numbered rules (FR-PAY-013) | Must | R1 | UX-PAY-10 |
| UX-FR-PAY-09 | Advance request in the request sheet with prefilled eligible amount, approval in the inbox, and a recovery ledger visible to the employee and finance (FR-PAY-023, 025) | Must | R1 | UX-PAY-11 |
| UX-FR-PAY-10 | Payroll reports and masters belong to their home: leave and attendance reports in the report centre, one messages master (FR-PAY-062) | Should | R1 | UX-PAY-12 |
| UX-FR-PAY-11 | Statutory setup checklist with ordered steps and readiness status, seeded from the statutory pack (FR-PAY-007 to 012) | Must | R1 | UX-PAY-13 |
| UX-FR-PAY-12 | Tax area in My pay: regime choice, declaration, proofs, worksheet; Form 16 download | Must (Form 16: Should) | R1 (Form 16: R2) | UX-PAY-07 (FR-PAY-051 to 055) |
| UX-FR-PAY-13 | Variable DA notification list with add and edit | Could | R2 | UX-PAY-13 (FR-PAY-016) |
| UX-FR-PAY-14 | Lite payroll as a Simple structure on the same wizard (FR-PAY-018) | Must | R1 | UX-PAY-15 |
| UX-FR-PAY-15 | Approver sees payroll run approval in the unified inbox, with SoD (FR-PAY-035, 036) | Must | R1 | UX-PAY-03 |