Skip to main content

Exit & Full-and-Final Settlement (EXT)

Module code EXT · Release R2 · Packaging Plan tier (Professional+) · Requirements FR-EXT-*, BR-EXT-*, RULE-EXT-* in the PRD and BRD · Related Core HR, Payroll, Leave, separation and F&F

1. Overview and scope​

EXT closes the employment relationship cleanly: the separation request or termination, an agreed last working day (LWD), clearance by every department that holds something, an exit interview, the full-and-final (F&F) settlement computed as a payroll off-cycle run, letters, and automatic access revocation.

In scope: resignation by employee; termination and other separation types (retirement, death, absconding, end of contract) by HR; separation reasons and termination categories; notice period from the lifecycle policy with shortfall, buy-out and waiver; LWD negotiation; clearance tasks with owners (IT, Finance, Admin, manager) using the EMP task engine; exit interview form; F&F worksheet and run; relieving and experience letters; rehire eligibility; attrition data.

Out of scope: gratuity trust administration, PF withdrawal processing (employee does it on the EPFO portal).

2. Learned from the reference product​

Source: Spryple analysis, §8 and §17.

  • [Observed] The employee raises a separation request (exit date, reason, notes) that can be edited or cancelled before approval (E: Exit).
  • [Observed] The HR Manager approves with an approved exit date and reason, or rejects; the reporting manager is skipped (M: Exit).
  • [Observed] Offboarding checklists by department end in "No Due" → Completed; termination picks an employee and a category, then a termination checklist (M: Exit).
  • [Observed] Backdated termination is allowed within a window (HR rule 37, 0–60 days); notice period is configured in two places (SP-IAM-03; defect D4).
  • [Observed] Documentation says rejection changes status "from submitted to approved" (defect D7).
  • [Inferred] No F&F, letters, exit interview or access revocation are documented (§8).

3. Our design decisions​

IDDecision [Proposed]Reason
D-EXT-01Approval chain: line manager, then HR, through NTF; LWD can be proposed and countered.The reference skips the manager.
D-EXT-02Notice rules come from the EMP lifecycle policy; EXT computes shortfall and offers buy-out (recovery) or waiver (approval).One place for notice.
D-EXT-03Clearance uses EMP checklist templates of kind OFFBOARDING with owners and evidence.Reuse the task engine.
D-EXT-04F&F is a PAY run of type FNF with EXT-supplied inputs; EXT holds the worksheet and approvals.One calculation engine; statutory consistency.
D-EXT-05Access is revoked at LWD 23:59 local time automatically; ESS read-only access to payslips and letters can continue for a configurable period.Security, with employee access to their own documents.
D-EXT-06Termination backdating is limited by policy and requires a reason; it never edits locked pay runs (creates recoveries instead).Locked payroll stays immutable.

4. Domain model​

Clearance tasks are emp_task rows with context = SEPARATION. Letters are emp_letter rows with kinds RELIEVING and EXPERIENCE.

5. State machines​

5.1 Separation​

5.2 F&F settlement​

6. Key business logic​

noticeShortfall(sep, policy):
required = policy.notice_days for the employee's grade or employment type
served = days between sep.requested_on (or approval date per policy) and approved_lwd
shortfall = max(0, required - served)
treatment = WAIVED (approval) or RECOVER (shortfall * daily rate on the policy base)

fnfInputs(sep):
salary for days worked in the final period (regular run excluded for this employee)
leave encashment = encashable balance (LVE, encashment.at_exit types) * per-day rate
gratuity if service_years >= policy.gratuity.min_years (example 5, verify; Labour Codes
may change eligibility for fixed-term staff):
gratuity = last_basic_da * 15 / 26 * completed_years (6+ months rounds up)
capped at the statutory ceiling (example, verify)
notice pay (employer waived notice and pays in lieu) or notice recovery (shortfall)
bonus or variable pay due, pending reimbursements (CLM), arrears
recoveries: open loans and advances (PAY ledger), claim advances (CLM), asset recovery
amounts from clearance, other deductions
statutory: PF, ESI, PT on applicable earnings ; TDS recomputed for the year
due_date = approved_lwd + policy.fnf_due_days (example 2 working days under the
Code on Wages; verify)

7. Configuration​

SettingTypeDefaultDescription
separation.typesarray of stringresignation, termination, retirement, death, absconding, end_of_contractTypes offered
separation.backdate_daysinteger30Termination backdating window (reference allows 0–60)
notice.counted_fromenumREQUEST_DATEREQUEST_DATE or APPROVAL_DATE
notice.allow_buyoutbooleantrueRecovery for shortfall
notice.waiver_requires_approvalbooleantrueHR approval for waiver
clearance.templatestringdefault offboardingChecklist template
access.revoke_atenumLWD_ENDLWD_END or IMMEDIATE (terminations)
access.ess_read_daysinteger90Read-only payslip and letter access after exit
fnf.due_daysinteger2Days after LWD (example; verify)
gratuity.min_yearsnumber5Eligibility (example; verify)
exit_interview.enabledbooleantrueSend the form

8. Screens by persona​

PersonaWebMobile
EmployeeResign (reason, requested LWD, notes), status and LWD proposals, clearance status, exit interview, F&F statement, lettersResign, status
Line managerApprove, counter LWD, retention note, own clearance tasksApprove
HR managerSeparation queue, termination, notice treatment, clearance tracker, exit interviews, letters, attrition view—
Clearance owners (IT, Admin, Finance)Assigned clearance tasks with evidenceTasks
Payroll managerF&F worksheet, run, approval, payment—

9. Events​

EventConsumers
ext.separation.submittedNTF (workflow)
ext.separation.approvedEMP (NoticePeriod, LWD), LVE (block leave beyond LWD), ATT (end date), FFM (stop tracking at LWD), NTF
ext.separation.withdrawn, ext.separation.rejectedEMP, NTF
ext.termination.recordedEMP, IAM (immediate revoke option), NTF
ext.clearance.completedEXT F&F readiness
ext.lwd.reachedIAM (deactivate), EMP (Separated), ATT, MOB
ext.fnf.initiatedPAY (create FNF run), LVE (encashment), CLM (settle)
ext.fnf.approved, ext.fnf.paidNTF (statement, letters)

Consumed: pay.run.locked and pay.run.paid (FNF), emp.task.completed (clearance progress).

10. API surface​

ResourceMain operations
/v1/ext/separationsPOST, GET, POST /:id/withdraw, POST /:id/lwd-proposals
/v1/ext/terminationsPOST
/v1/ext/reasonsCRUD
/v1/ext/separations/:id/clearanceGET tasks
/v1/ext/separations/:id/exit-interviewGET, PUT
/v1/ext/fnf-settlementsPOST initiate, GET /:id, POST /:id/calculate, POST /:id/approve
/v1/ext/separations/:id/lettersPOST generate

Detailed in API endpoints.

11. Permissions​

PermissionScopesDefault roles
ext.separation.createSELFemployee
ext.separation.approveTEAM, ORGline_manager, hr_manager
ext.termination.createORG, LOCATIONhr_manager
ext.notice.waiveORGhr_manager
ext.fnf.prepareORGpayroll_manager
ext.fnf.approveORGfinance_admin
ext.interview.readORGhr_manager (confidential from the line manager)
ext.reason.manageORGhr_admin

12. Reports​

ReportContents
AttritionSeparations by type, reason, department, tenure band, month
Notice and LWDShortfall, waivers, buy-outs
Clearance statusPending tasks by owner
F&F registerSettlements, amounts, due date vs paid date
Exit interview themesAggregated answers

13. Release and priority​

CapabilityReleaseMoSCoW
Resignation and termination with manager and HR approval, LWDR2Must
Clearance with ownersR2Must
F&F worksheet and FNF runR2Must
Access revocation at LWDR2Must
Relieving and experience lettersR2Should
Exit interviewR2Should
Rehire eligibility flagR2Could

14. Open questions​

  1. Do tenants need F&F before EXT ships in R2 (R1 customers will have leavers)? Interim: an off-cycle run with manual inputs in R1.
  2. How is gratuity eligibility applied to fixed-term employees under the Labour Codes? Verify and expose as policy.
  3. Should absconding cases auto-trigger after N days of unexplained absence? The default is a manual HR action with an ATT report.